/******************************************************************
Theme Name: Ryokan_high
Author: yadoken
Author URI: https://www.yadoken.net/
Version: 1.7
License: WTFPL
------------------------------------------------------------------
※修正はここから追記してください。
******************************************************************/
main .top_h2 h2 {
    font-weight: bold;
    color: #2b3b4d;
}
/*改行*/
@media print, screen and (min-width: 961px) {
br.br961 {
    display: none;
}
}
@media print, screen and (min-width: 768px) {
br.br767 {
    display: none;
}
}
@media print, screen and (min-width: 461px) {
br.br460 {
    display: none;
}
}
@media print, screen and (min-width: 401px) {
br.br400 {
    display: none;
}
}
@media print, screen and (min-width: 561px) {
br.br560 {
    display: none;
}
}
/* ツインボックス */
.twinbox {
    display: flex;
}
.harfbox {
    width: 50%;
    padding: 0px 15px;
}
section.ttl_freetxt.inner_sp .twinbox {
    text-align:left;
}
@media print, screen and (max-width: 960px) {
	.twinbox {
    display: block;
}
.harfbox {
    width: 100%;
    padding: 0px 5px;
    margin-bottom: 50px;
}
}
/*クレジットカード*/
ul.card {
    display: flex;
}
ul.card li {
    width: 20%;
    margin-right: 2%;
}
td.right {
    text-align: right;
    padding-right: 5%;
}
td.parcent {
    text-align: center;
    width: 20%;
}
/*TOP テーブル*/
.top th {
    vertical-align: middle;
}
.top table.guide {
	text-align:left;
}
.top ul.no_list {
    list-style: disc;
    line-height: normal;
}
.top table.guide th {
    vertical-align: middle;
    width: 40%;
    padding: 10px 1em;
}
.top table.guide td {
    padding: 10px 5px;
    line-height: normal;
}
/*プラン*/
.top_plan ul li a .plan_img img {
    border-radius: 0%;
}
.plan_btn.inner_sp {
    display: none;
}
/*アクセス*/
.schedule {
    position: relative;
    font-size: 14px;
}
.schedule::before {
    position: absolute;
    background-color: #deeef7;
    content: "";
}
.schedule ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
}
.schedule li {
    position: relative;
}
.schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 2em;
    border-radius: 6px;
    color: #fff;
    text-align: center;
}
.schedule_time::before {
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    content: "";
}
.schedule_time::after {
    position: absolute;
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    content: "";
}

.schedule_content_title {
    font-weight: bold;
}

@media screen and (max-width: 991.98px) {
    .schedule::before {
        top: 0px;
        left: 6.5em;
        width: 6px;
        height: 100%;
    }
    .schedule li {
        display: flex;
        align-items: center;
        width: 100%;
    }
    .schedule li + li {
        margin-top: 2em;
    }
    .schedule_time::before {
        top: 50%;
        right: 0px;
        transform: translateX(50%) translateY(-50%) rotate(45deg);
    }
    .schedule_time::after {
        top: 50%;
        left: 6em;
        transform: translateY(-50%);
    }
    .schedule_content {
        margin: 0px 0px 0px 3em;
        width: calc(100% - 10em);
    }
}
@media screen and (min-width: 992px) {
    .schedule::before {
        top: 3.5em;
        left: 0px;
        transform: translateY(-50%);
        width: 100%;
        height: 5px;
    }
    .schedule ul {
        display: flex;
        flex-wrap: wrap;
        margin: 0px -10px;
    }
    .schedule li {
        margin: 0px 10px;
        width: calc(12.5% - 20px);
    }
    .schedule_time {
        margin: 0px auto;
    }
    .schedule_time::before {
        left: 50%;
        bottom: 0px;
        transform: translateX(-50%) translateY(50%) rotate(45deg);
    }
    .schedule_time::after {
        top: 3.5em;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
    .schedule_content {
        margin: 3em 0px 0px;
    }
    .schedule_content_title {
        text-align: center;
    }
    .schedule_content_detail {
        margin-top: 0.5em;
    }
}
.schedule {
    position: relative;
    font-size: 14px;
}
.schedule::before {
    position: absolute;
    top: 0px;
    left: 6.5em;
    width: 6px;
    height: 100%;
    background-color: #deeef7;
    content: "";
}
.schedule ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
}
.schedule li {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.schedule li + li {
    margin-top: 2em;
}
.schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 2em;
    border-radius: 6px;
    color: #fff;
    text-align: center;
}
.schedule_time::before {
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    content: "";
}
.schedule_time::after {
    position: absolute;
    top: 50%;
    left: 6em;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    content: "";
}
.schedule_content_title {
    font-weight: bold;
}

.schedule_content {
    margin: 0px 0px 0px 3em;
    width: calc(100% - 10em);
}
.schedule::before {
    position: absolute;
    top: 50%;
    left: 8em;
    width: 6px;
    height: 100%;
    background-color: #deeef7;
    content: "";
}
li.time ::after {
    display: none;
}
li.ic_name .schedule_time {
    background: none;
}
.schedule_time {
    height: 5em;
    border-radius: 35px;
}
.schedule_time::before {
    background-color: #3388dd00;
}
.schedule_time::after {
    left: 5.5em;
    width: 2em;
    height: 2em;
}
li.time .schedule_content_title ,li.time .schedule_content_detail {
    display: none;
}
.schedule_content_title {
    font-size: large;
}
.schedule_content p {
    font-size: 16px;
}
.schedule li + li {
    margin-top: -15px;
}
.schedule_time {
    background-color: #c8965a;
}
.schedule_time::after {
    border: 4px solid #d9b3b3;
    background-color: #b37d3c;
}
.schedule::before {
    background-color: #d9b3b3;
	    height: 90%;
}
.schedule {
    padding: 30px 0;
}
.schedule_content p {
    font-size: 16px;
    text-align: center;
}
li.time .schedule_time {
    margin-left: 1em;
}
@media screen and (max-width: 991.98px) {
.schedule::before {
    top: 5%;
    left: 88px;
    width: 6px;
    height: 85%;
}
	.schedule li + li {
    margin-top: -22px;
}
	.schedule_time::after {
    left: 110%;
}
}
@media screen and (min-width: 992px) {
    .schedule li {
        margin: -7px 10px;
    }
}
.schedule_content {
    text-align: center;
}
@media screen and (max-width: 767.9px) {
    .inner_sp {
        padding-left: 5px;
        padding-right: 5px;
    }
	.schedule li {
    height: 4.5em;
}
}
.schedule_time {
    background-color: #555555;
}
.schedule_time::after {
    border: 6px solid #bc9e79;
    background-color: #fff;
}
section.txt_imgarea.access_route .img_area {
    display: none;
}
@media screen and (max-width: 960px) {
section.txt_imgarea.access_route .link_btn.plan_all a {
    width: 80%;
	    margin: 0px auto 0;
}
	.schedule_content p {
    font-size: 14px;
}
}
@media screen and (max-width: 767px) {
.schedule_content_title {
    font-size: 16px;
}
}
@media screen and (max-width: 720px) {
section.txt_imgarea.route ul.img_top02.mainwrap {
    display: block;
}
section.txt_imgarea.access_route li {
        width: 100%!important;
        margin: auto!important;
    }
	    .schedule::before {
        left: 88px;
    }
	    .schedule li {
        height: 3.5em;
    }
section.txt_imgarea.access_route .txt_area {
        width: 100%!important;
        margin: auto!important;
	max-width:100%!important;
}
}
    .ttl_access .access_route.col2 li:nth-child(n + 3) {
        margin-top: -10px;
    }
/*---------------------------------------*/
    .ttl_access .op_inner .map_data > li:last-of-type {
        display: none;
    }
    .ttl_access .op_inner .map_data > li:first-of-type {
        width: 100%;
    }
ul.access_route.col2 {
    max-width: 1200px;
    margin: auto;
    padding-top: 80px;
}
section.ttl_access .mainwrap {
    max-width: none;
}
section.sns_2 {
    max-width: 1200px;
    margin: auto;
    padding-top: 80px;
}
/*客室*/
.amenity ul {
    column-count: 2;
}
.amenity {
    background: #fff;
    margin: 30px 0px;
    padding: 20px 0;
}
.amenity ul {
    padding: 0px 3em;
}
p.tb_p span {
    font-weight: bold;
    font-size: x-large;
    color: #a85e5c;
}
.twin_p {
    display: flex;
}
p.tb_p {
    margin-right: 16px;
}
section.free_layout.tb_sub {
    padding: 20px;
    max-width: 1200px;
    margin: auto;
    text-align: center;
}
section.txt_imgarea.mainwrap.white {
    max-width: none;
    background: #ffffff8c;
}
section.txt_imgarea.mainwrap.white ul {
    max-width: 1100px;
    margin: auto;
    padding: 2em 0;
}
section.txt_imgarea.mainwrap.white img {
    border-radius: 30px;
}
/*チェックシート*/
.checkbox-2 {
    display: flex;
    flex-wrap: wrap;
    gap: .5em 2em;
    border: none;
}

.checkbox-2 label {
    display: flex;
    align-items: end;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
    height: 20px;
}

.checkbox-2 label::before {
    width: 18px;
    height: 18px;
    border-radius: 3px;
    border: 2px solid #d6dde3;
    content: '';
}

.checkbox-2 label:has(:checked)::after {
    position: absolute;
    top: 5px;
    left: 7px;
    transform: rotate(45deg);
    width: 5px;
    height: 10px;
    border: solid #d02525;
    border-width: 0 3px 3px 0;
    content: '';
}
.checkbox-2 label::before {
    border: 2px solid #a68b62;
}
.checkbox-2 input {
    display: none;
}
.pet_itemlist_inner {
    padding: 2.5em 0;
}
.checkbox-2 label {
    font-size: large;
    line-height: initial;
}
/*プラン*/
p.plan_tx span {
    color: #8b2623;
    font-size: xx-large;
}
p.plan_tx {
    text-align: center;
}
/*フッター*/
.footer_logo {
    margin: inherit;
}
footer#main-footer {
    background-image: none!important;
    background: #2b3b4d!important;
}
/*ヘッダー*/
header nav ul.header_menu li a {
    padding: 20px 18px;
    font-size: 18px;
}
.search_form {
    background-color: #2b3b4d!important;
    padding: 20px 0;
}
.search_form .bestrate p.ttl {
    color: #dfc09a;
}
@media print, screen and (min-width: 1161px) {
    header .logo_wrap {
        margin-bottom: 30px;
    }
}
/*料理**/
@media screen and (min-width: 961px) {
section.txt_imgarea.mainwrap.vertical h4 {
    writing-mode: vertical-rl;
}
section.txt_imgarea.mainwrap.vertical .txt {
    padding-top: 20px;
}
}
@media screen and (min-width: 1500px) {
section.txt_imgarea.mainwrap.vertical h4 {
    font-size:30px;
}
}
section.txt_imgarea.mainwrap.bluck {
    padding: 40px 0;
    background: #00000026;
    max-width: none;
}
section.txt_imgarea.mainwrap.bluck ul {
    max-width: 1200px;
    margin: auto;
}
	@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 6);
}
.scroll-infinity__item>img {
  width: 100%;
}
@media print, screen and (max-width: 1160px) {
.scroll-infinity__item {
    width: calc(200vw / 6);
}
}
@media print, screen and (max-width: 767px) {
.scroll-infinity__item {
    width: calc(250vw / 6);
}
}
/*送迎*/
.box {
    margin: auto;
    max-width: 1200px;
    margin-top: 50px;
    background: #fff;
	    padding: 0 15px;
}
.box_inner {
    padding: 2em;
    text-align: center;
}
.box_inner h3 {
    font-size: x-large;
    font-weight: 600;
    padding-bottom: 16px;
}
/**/
@media print, screen and (min-width: 768px) {
    main.page article {
        padding: 0px 0;
    }
}
    .ttl_freetxt .txt_lr .free_h2 {
        display: none;
    }
    .ttl_freetxt {
        padding: 0px 0px 80px;
    }
section.ttl_freetxt .txt_lr {
    max-width: none;
}
span.large {
    color: #c25450;
    font-size: xx-large;
}
/*ペットと観光*/
section.free_layout.sight ul {
    display: flex;
    flex-wrap: wrap;
}
section.free_layout.sight li {
    width: 30%;
    margin-right: 10px;
    margin-bottom: 20px;
}
@media print, screen and (max-width: 1200px) {
section.free_layout.sight li {
    width: 46%;
}
}
@media print, screen and (max-width: 960px) {
section.free_layout.sight li {
    width: 45%;
        margin: auto;
	        padding-bottom: 3em;
}
	section.free_layout.sight li p {
    font-size: 18px;
		        padding-top: 7px;
}
}
/*ペットNG・OK*/
span.pet_ok img {
    width: 6%;
    margin-left: 7px;
}
span.pet_ng img {
    width: 6%;
    margin-left: 7px;
}
/*アクセス*/
.ttl_access .access_route li h3.access_h3 {
    background-color: #2b3b4d!important;
}
/*客室ボタン*/
    .link_list ul li {
        width: 47.4%;
        margin-bottom: 2%;
    }
span.box_spec {
    background: #2b3b4d;
    color: #fff;
    padding: 2px 10px;
    margin-right: 10px;
}
/*TOP テーブル*/
.table_guide {
    background: rgb(255 255 255 / 20%);
    padding: 30px 0;
}
table.guide td {
    vertical-align: middle;
}
.table_guide {
    padding: 30px 20px;
}
p.middle {
    font-size: medium;
}
/*所要時間*/
span.root_icon {
    margin-right: 5px;
}
/*ご挨拶*/
.greeting_inner h2 {
    font-size: 30px;
    padding-bottom: 16px;
    font-weight: 600;
    color: #fff;
}
.greeting_inner {
    padding: 80px 15px;
}

/*ポイント*/
.ttl_imgtxt .top_imgtxt li .img_cts .imgtxt_h2 {
    background-color: #2b3b4d!important;
}
/*背景　紺*/
section.txt_imgarea.mainwrap.bluck {
    background: #2b3b4d;
}
section.txt_imgarea.mainwrap.bluck h4 {
    color: #fff;
}
section.txt_imgarea.mainwrap.bluck p {
    color: #fff;
}
section.txt_imgarea.mainwrap.bluck li .txt_area {
    margin: auto;
}
section.txt_imgarea.mainwrap.white li .txt_area {
    margin: auto;
}
/*タイトルサイズ*/
@media print, screen and (min-width: 1161px) {
.txt_imgarea .img_top01 > li .txt_area h4{
    font-size: 24px;
}
}
/**/
@media print, screen and (min-width: 768px) {
.txt_imgarea .img_left02 > li .txt_area{
        margin: auto;
    }
}
section.free_layout.pet_itemlist {
    border-bottom: 3px #a68b62 solid;
    border-top: 3px #a68b62 solid;
    max-width: 1200px;
    margin: auto;
    background: #ffffff4f;
}
.box {
    border-bottom: 3px #a68b62 solid;
    border-top: 3px #a68b62 solid;
    max-width: 1200px;
    margin: auto;
    background: #ffffff4f;
	    margin-top: 50px;
}
.slide_thumb .txt_area {
    padding-top: 0px!important;
}
/*客室*/
table.time tr {
    background: #ffffff4f;
    text-align: center;
    border-bottom: 3px #a68b62 solid;
    border-top: 3px #a68b62 solid;
}
table.time th {
    padding: 10px 0;
    background: #a68b6266;
}
/*一行新着隠し*/
.mv_news {
    display: none;
}
/**/
p.img_space {
    text-align: center;
	    padding-top: 45px;
}
@media print, screen and (min-width: 768px) {
p.point_tx {
    font-size: 18px;
}
}
@media print, screen and (max-width: 560px) {
.greeting_inner h2 {
    font-size: 20px;
}
	p.middle {
    font-size: 14px;
}
	    .inner_sp {
        padding-left: 15px;
        padding-right: 15px;
    }
    .rooms .link_list ul li {
        width: 100%;
    }
	 .rooms .link_list ul li {
        margin-right: 0%;
    }
}
@media print, screen and (max-width: 670px) {
    .ttl_imgtxt .top_imgtxt li .txt_cts {
        padding: 20px 15px;
    }
}
@media print, screen and (max-width: 1500px) {
.box {
    margin-left: 15px;
    margin-right: 15px;
}
	section.free_layout.pet_itemlist {
    margin: 0 15px;
}
}
@media print, screen and (max-width: 1160px) {
    .ttl_imgtxt .top_imgtxt li .txt_cts {
        padding-top: 30px;
    }
	    .ttl_imgtxt .top_imgtxt li .img_cts .imgtxt_h2 {
        left: 20%;
    }
	.ttl_imgtxt .top_imgtxt li .txt_cts h3{
		text-align:center;
	}
}
@media print, screen and (max-width: 960px) {
    .ttl_imgtxt .top_imgtxt li .img_cts .imgtxt_h2 {
        left: 6%;
    }
	.link_list ul li {
    width: 48.4%;
}
}
.link_btn a {
    margin: auto;
}
/*ポイント1　ペット*/
span.pointbox {
    background: #8d2a26;
    color: #fff;
    padding: 8px 10px;
    font-size: 16px;
    border-radius: 6px;
    margin: auto;
    display: block;
    text-align: center;
    font-family: sans-serif;
    width: 80%;
    margin-bottom: -20px;
}
p.greeting_tx {
    font-family: sans-serif;
    color: #fff;
	    font-weight: 300;
}
.greeting_inner {
    background: #2B3B4D;
    background: linear-gradient(180deg, #654b249c 0%, #654b249c 80%, rgba(255, 255, 255, 0) 100%);
}
.ttl_imgtxt .top_imgtxt li .txt_cts h3 span {
    font-size: 45px;
    color: #8d2a26;
    margin-right: 3px;
    font-weight: 600;
}
/**/
@media print, screen and (min-width: 768px) and (max-width: 960px) {
    .txt_imgarea .img_left02 > li, .txt_imgarea .img_right02 > li, .slidethumb_txt .img_left02 > li, .slidethumb_txt .img_right02 > li {
        display: contents;
    }
}
section.free_layout.h2_ver2 span.pet_ng img {
    width: 3%;
}
.pet_ok {
    text-align: center;
    padding-bottom: 30px;
}
.pet_ok span.pet_ok img {
    width: 3%;
}
.pet_ok span.pet_ng img {
    width: 3%;
}
@media print, screen and (max-width: 767px) {
.txt_area.inner_sp {
    max-width: 560px;
}
	.txt_imgarea .img_top01 .txt_area{
    max-width: 560px;
}
}
.rooms section.txt_imgarea.mainwrap.bluck .img_area {
    display: none;
}
.rooms section.txt_imgarea.mainwrap.bluck li {
    padding: 0 10px;
    margin: auto;
}
@media print, screen and (min-width: 561px) and (max-width: 900px) {
.amenity ul {
    column-count: 1;
}
}
@media print, screen and (max-width: 767px) {
  section.free_layout.pet_itemlist .pet_itemlist_inner {
    padding: 2.5em 16px;
}
	section.tbl_contents.inner_sp.mainwrap.kasou th {
    font-weight: 800;
}
}
@media print, screen and (max-width: 1300px) {
    section.tbl_contents.inner_sp.mainwrap.kasou {
        padding: 0 10px;
    }
}
@media print, screen and (max-width: 1380px) {
.fotter_left.inner_sp {
    margin: auto;
}
}
@media print, screen and (max-width: 1381px) {
footer#main-footer .fotter_left .tel_mail li:first-of-type a {
    font-size: 26px;
}
}
/**/
p.box5 {
    background: #ffffff4f;
    padding: 10px 5px;
    margin: 10px 10px;
    text-align: center;
    border-bottom: 3px #a68b62 solid;
    border-top: 3px #a68b62 solid;
}
.slide_thumb .txt_area {
    max-width: 1200px;
}
.txt_imgarea .img_top01 .txt_area, .slidethumb_txt .img_top01 .txt_area {
    max-width: 1200px;
}
span.b {
    font-weight: bold;
    font-size: larger;
    color: #8d2a26;
}
@media print, screen and (min-width: 1161px) {
    header .logo_wrap {
        margin-bottom: 10px;
    }
}
header nav .nav_btm .header_plan a {
    background-color: #bb4545!important;
    color: #ffffff!important;
}
ul.card li {
    width: 12%;
}
ul.card img {
    width: 50px;
}
section.free_layout.tb_sub .link_btn a span:before, .link_btn a span:after {
    background-color: #ffffff00;
	text-align:center;
}
section.free_layout.tb_sub .link_btn.plan_all a span {
    text-align: center;
    display: block;
}
section.free_layout.tb_sub .link_btn a span {
    padding-right: 0px;
}
 .pet_kiyaku {
    border: #fff 1px solid;
    background: #2b3b4dd4;
    margin-bottom: 20px;
}
.pet_kiyaku span {
    display: block;
    font-size: 14px;
}
.pet_kiyaku p a {
    padding: 0px 0px;
}
.pet_kiyaku p {
    font-size: 20px;
}
.pet_kiyaku p a span {
    padding: 10px 0px 0 0;
}
.pet_kiyaku p a {
    display: block;
    padding-bottom: 10px;
}
    .ttl_access .op_inner {
        padding: 0px 0;
    }
.top table.guide th {
    line-height: normal;
}
@media print, screen and (max-width: 560px) {
	.top table.guide {
    font-size: 14px;
}
	.img_area {
    padding: 0 15px;
}
	.rooms .amenity ul {
    column-count: 1;
}
	.rooms section.txt_imgarea.mainwrap.bluck li {
    text-align: center;
}
	    main .top_h2 h2 {
        font-size: 26px;
    }
}
@media print, screen and (max-width: 767px) {
    main.page article {
        padding: 0px 0;
    }
}
@media print, screen and (max-width: 960px) {
 .rooms .harfbox {
        margin-bottom: 20px;
    }
}
.facebook {
    text-align: center;
}
.fb-page {
  width: 100%
}
.logotipe {
    width: 50%;
    margin: auto;
    padding-bottom: 20px;
}
@media print, screen and (max-width: 1160px) {
.logotipe {
    display: none;
}
}
.facebook {
    padding-bottom: 50px;
}
.logotipe{
    display: none;
}
fieldset.checkbox-2 br {
    display: none;
}
@media print, screen and (max-width: 400px) {
.top table.guide th {
    width: 30%;
}
	.table_guide {
    padding: 30px 0px;
}
}
@media print, screen and (max-width: 767px) {
ul.access_route.col2 {
    padding-top: 0px;
}
}