@charset "UTF-8";


/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.pcNone {
    display: none;
}

.cmn_maxbox {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

/* フォントファミリー */
.font_yugo {
    /* font-family: "Helvetica Neue","Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; */
    font-family: "游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic",sans-serif;
    /* font-family: "游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; */
}

/* main.cssの透過効果打ち消し */
.XXXXX a,
a.opacityNone:hover
{
    opacity: 1.0;
    filter: none; /* 初期値：none */
    -ms-filter: ""; /* 初期値："" */
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
}

/* aタグ(電話番号) */
a[href^="tel"] {
    pointer-events: none;
}

/* ボタン等ホバー装飾 */
.btn_hover.btn_hover {
    transition: background-color .1s;
}

.btn_hover:hover {
    opacity: 1;
    background-color: #F5A200;
}

/* 見出し（ペンキ：オレンジ） */
.cmn_tit_orange {
    height: 76px;
    text-align: center;
}

.cmn_tit_orange img {
    display: inline-block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
}

.cmn_tit_orange + * {
    margin-top: 40px;
}

/* 見出し（ペンキ：青） */
.cmn_tit_blue {
    padding: 4px 20px;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: 700;
    background-color: #00508E;
    background-image: url(../img/cmn_tit_blue_paint.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 1000px;
}


/* ボタン（青色） */
.cmn_btn {
    text-align: center;
}

.cmn_btn > button,
.cmn_btn > a {
    display: inline-block;
    width: 100%;
    max-width: 180px;
    height: 50px;
    border: 0;
    border-radius: 1.0rem;
    color: #FFFFFF;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
    background-color: #00508E;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
}

/* dlリスト（表形式） */
.cmn_tit_blue + .cmn_dl {
    margin-top: 10px;
}

.cmn_dl > .row {
    display: flex;
    border-width: 1px;
    border-style: solid;
    border-color: #00508E;
}

.cmn_dl > .row + .row {
    /* border-top-width: 0; */
    margin: -1px 0 0 0;
}

.cmn_dl .row > .term,
.cmn_dl .row > .desc {
    padding: 14px 20px;
    /* letter-spacing: 0.05rem; */
    letter-spacing: 0.02rem;
}

.cmn_dl .row > .term {
    flex-shrink: 0;
    width: 30%;
    /* min-width: ; */
    color: #00508E;
    font-weight: 700;
    background-color: rgba(0, 80, 142, 0.2);
}

.cmn_dl .row > .desc {
    width: 100%;
    border-width: 0 0 0 1px;
    border-color: inherit;
    border-style: inherit;
    color: #231815;
    background-color: #ffffff;
}


/* SUBメインタイトル */
.cmn_maintitle {
    display: flex;
    align-items: flex-end;
    height: 600px;
    margin-bottom: 100px;
    background-color: #FFFFFF;
    background-image: url(../img/about_maintitle_pic_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.cmn_maintitle h1 {
    width: 100%;
    padding: 0 80px 0 0;
    text-align: right;
}

.cmn_maintitle h1 img {
    max-width: 90%
}



/* ページ送り（数字） */
.cmn_pager_num .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    font-family: "Shin Maru Go Regular","新丸ゴ R",'Kosugi Maru',"Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic Pro","ヒラギノ丸ゴ Pro W4","Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN","HG丸ゴシックM-PRO","HGMaruGothicMPRO",Meiryo,"Yu Gothic",YuGothic,"游ゴシック体","メイリオ",Osaka,arial,helvetica,sans-serif;
}

.cmn_pager_num .first,
.cmn_pager_num .prev,
.cmn_pager_num .pager,
.cmn_pager_num .next,
.cmn_pager_num .last {
    display: block;
    width: 45px;
    height: 45px;
    padding: 0 0 0 .2rem;
    border-radius: 1.0rem;
    margin: 5px 8px;
    line-height: 45px;
    color: #ffffff;
    background-color: rgba(0, 80, 142, 0.5);
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: .2rem;
    text-align: center;
}

.cmn_pager_num a:hover,
.cmn_pager_num .current {
    opacity: 1;
    background-color: #00508E;
}

.cmn_pager_num .prev,
.cmn_pager_num .next {
    color: #00508E;
    background-color: transparent;
    pointer-events: none;
}

.cmn_pager_num .first,
.cmn_pager_num .last,
.cmn_pager_num .prev,
.cmn_pager_num .next,
.cmn_pager_num .page_num {
    display: none;
}


/* CMSエディタ装飾 */
.cmn_cms_editor {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cmn_cms_editor h2,
.cmn_cms_editor h3,
.cmn_cms_editor h4,
.cmn_cms_editor h5,
.cmn_cms_editor h6 {
    display: block;
    padding: 0 0 .3em 0;
    border-color: #00508E;
    line-height: 1.45;
    margin: .6em 0 .8em;
    letter-spacing: -0.0015625em;
}

.cmn_cms_editor h3 {
    font-size: 2.2rem;
    border-width: 0 0 1px 0;
    border-style: double;
}

.cmn_cms_editor h4 {
    font-size: 2.0rem;
    border-width: 0 0 1px 0;
    border-style: dashed;
}

.cmn_cms_editor h5 {
    font-size: 1.8rem;
    border-width: 0 0 1px 0;
    border-style: dotted;
}

.cmn_cms_editor h6 {
    font-size: 1.6rem;
    border-width: 0 0 1px 0;
    border-style: dotted;
}

.cmn_cms_editor p {
    padding: 8px 0 10px;
    margin: 0 0 8px 0;
    /*text-align: justify;
    text-justify: inter-ideograph;*/
}


/* 商品説明などのエディタ上書き */
.cmn_cms_editor img {
    display: inline-block;
    width: auto;
    height: auto;
    margin-right: 8px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor iframe[src*="youtube"] {
    /* display: inline-block;
    width: 100%;
    height: 56.25vw;
    max-height: 506px;
    margin-top: 8px;
    margin-bottom: 8px; */

    display: inline-block;
    max-width: 100%;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor iframe[src*="google"][src*="map"] {
    display: inline-block;
    max-width: 100%;
    max-height: 600px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor strong {
    font-weight: 900;
}

.cmn_cms_editor em {
    font-style: italic;
}

.cmn_cms_editor a {
    display: inline-block;
    margin-top: 2px;
    margin-bottom: 2px;
    color: #F5A200;
    /* text-decoration: underline; */
    word-break: break-all;
}

.cmn_cms_editor a:hover {
    color: #F5A200;
}

.cmn_cms_editor table {
    margin: 0 0 8px 0;
    word-break: break-all;
}

.cmn_cms_editor th,
.cmn_cms_editor td {
    margin: 0 0 8px 0px;
    padding: 6px 10px;
    border: 1px solid #8F8F8F;
}

.cmn_cms_editor ul {
    margin: 0 0 8px 0;
}

.cmn_cms_editor ul li {
    list-style: disc;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor ol {
    margin: 0 0 8px 0;
}

.cmn_cms_editor ol li {
    list-style: decimal;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor blockquote {
    background-color: #FFFFFF;
    margin-inline-start:10px;
    margin-inline-end:10px;
    padding: 15px;
}

/* WPオリジナルクラス有効化 */
.cmn_cms_editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.cmn_cms_editor .alignright {
    display: block;
    margin-left: auto;
}

.cmn_cms_editor .alignleft {
    display: block;
    margin-right: auto;
}

.cmn_cms_editor .wp-caption {
    border: 1px solid #dddddd;
    text-align: left;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
}

.cmn_cms_editor .wp-caption img {
    padding: 0;
    border: 0;
    margin: 0;
}

.cmn_cms_editor .wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 1.5;
    padding: 0;
    margin: 0;
}



#wrapper {
    overflow: hidden;
}


/* header */
header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9;
    width: 100%;
}

/* header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: 50% 0%;
    transform: rotate(-2deg) translate(0, -10px);
    display: block;
    width: 100%;
    height: 100%;
    border-top: 60px solid #F5A200;
    background-color: #00508E;
    background-image:
        url(../img/footer_logo.svg),
        url(../img/footer_logo.svg);
    background-repeat:
        no-repeat,
        no-repeat;
    background-position:
        left top,
        right top;
    background-size:
        auto 50%,
        auto 50%;
} */

header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/header_bg_paint.png);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: auto 100%;
    background-size: 100% 100%;
}


#header_modalmenu_check {
    display: none;
}

.header_infobar {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 900px;
    height: 150px;
    padding-bottom: 52px;
}

.header_logo {
    flex-shrink: 0;
    width: 27%;
    min-width: 180px;
    margin: 0 0 2px 0;
    font-size: inherit;
}

.header_logo a {
    display: inline-block;
}

.header_nav {
    width: 100%;
    color: #FFFFFF;
}

.header_nav_en {
    display: block;
    text-align: right;
}

.header_nav_en a {
    display: inline-block;
    width: 94px;
    padding: 3px 0;
    border: 1px solid #ffffff;
    border-radius: 1.0rem;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
}

/* .header_nav_en a:hover {
    opacity: 1;
    border: 0;
    background-color: #F5A200;
} */

.header_nav_layer01 {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin: 8px 0 0 0;
}

.header_nav_layer01 > li {
    position: relative;
    flex-shrink: 0;
    display: inline-block;
}

/* .header_nav_layer01 > li:hover::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -60px;
    display: block;
    width: 100%;
    height: 6px;
    background-color: red;
} */

.header_nav_layer01 > li > a {
    position: relative;
    display: block;
    padding: 0 15px;
    text-align: center;
}

.header_nav_layer01 > li:hover > a {
    opacity: 1;
    color: #F5A200;
}

.header_nav_layer01 > li:last-of-type > a {
    padding-right: 0;
}

.header_nav_layer01 .ja,
.header_nav_layer01 .en {
    display: block;
    letter-spacing: 0.05rem;
    font-weight: 700;
}

.header_nav_layer01 .en {
    margin: 2px 0 0 0;
    font-size: 1.1rem;
}

.header_nav_layer02 {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,100%);
    display: block;
    width: 200px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .1s, visibility .1s;
}

.header_nav_layer01 > li:hover .header_nav_layer02 {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.header_nav_layer02::before {
    content: '';
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 42px;
    background-image: url(../img/header_nav_bg_string.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: auto;
}

.header_nav_layer02 li {
    position: relative;
    background-color: #00508E;
}

.header_nav_layer02 li:nth-of-type(1)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(0, -100%);
    display: block;
    width: 100%;
    height: 5px;
    background-color: #00508E;
}

.header_nav_layer02 a {
    display: block;
    padding: 8px 0;
    border-top: 1px solid #FFFFFF;
    color: #FFFFFF;
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
    transition: background-color .1s;
}

.header_nav_layer02 li:nth-of-type(1) a {
    border-top: 0;
}

.header_nav_layer02 a:hover {
    opacity: 1;
    background-color: #F5A200;
    transition: background-color .1s;
}

.header_btn_reserv {
    display: none;
}

.header_modalmenu_btn {
    display: none;
}

.header_sidefix {
    position: fixed;
    /* top: 30%; */
    top: 50%;
    right: 0;
    z-index: 100;
    transform: translate(0,-50%);
    width: 50px;
    height: auto;
}

.header_sidefix a {
    display: inline-block;
    width: 100%;
    height: 130px;
    border-radius: 1.0rem 0 0 1.0rem;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    background-color: #00508E;
    vertical-align: top;
}

.header_sidefix a:last-of-type {
    border: 2px solid #00508E;
    color: #00508E;
    background-color: #ffffff;
}

.header_sidefix p {
    display: inline-block;
    height: 100%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    line-height: 100%;
}

#header_modalmenu_area {
    display: none;
}


main {
    position: relative;
    z-index: 1;
}

/* footer */
footer {
    padding: 10px 0 0 0;
    margin-top: 100px;
    background-color: #00508E;
}

.footer_nav ul {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
}

.footer_nav li {
    flex-shrink: 0;
    display: inline-block;
    margin: 5px 0;
}

.footer_nav .pcNone {
    display: none;
}

.footer_nav li + li {
    margin-left: 22px;
}

.footer_nav a {
    display: inline-block;
    padding: 0 5px;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 700;
}

.footer_logo {
    margin: 30px 0 0 0;
    text-align: center;
}

.footer_orginfo {
    margin: 15px 0 0 0;
    color: #FFFFFF;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.15rem;
    text-align: center;
}

.footer_copyright {
    padding: 12px 0;
    margin: 18px 0 0 0;
    background-color: #F5A200;
    color: #FFFFFF;
    font-size: 1.3rem;
    text-align: center;
}







/* home /////////////////////////////////////////////////////////////////////////////////////////// */
.home_mainslider {
    position: relative;
    height: 100vh;
}

.home_mainslider .swiper-container {
    height: 100%;
    visibility: hidden;
}

.home_mainslider .swiper-container-initialized {
    visibility: visible;
}

.home_mainslider .swiper-wrapper {
    height: 100%;
}

.home_mainslider .swiper-slide {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.home_mainslider .slide01 {
    background-image: url(../img/home_mainslider_pic01.jpg);
}

.home_mainslider .slide02 {
    background-image: url(../img/home_mainslider_pic02.jpg);
}

.home_mainslider .slide03 {
    background-image: url(../img/home_mainslider_pic03.jpg);
}

.home_mainslider .slide04 {
    background-image: url(../img/home_mainslider_pic04.jpg);
}

.home_mainslider .slide05 {
    background-image: url(../img/home_mainslider_pic05.jpg);
}

.home_mainslider .slide06 {
    background-image: url(../img/home_mainslider_pic06.jpg);
}

.home_mainslider .slide07 {
    background-image: url(../img/home_mainslider_pic07.jpg);
}

.home_mainslider .slide08 {
    background-image: url(../img/home_mainslider_pic08.jpg);
}

.home_mainslider .slide09 {
    background-image: url(../img/home_mainslider_pic09.jpg);
}

/* .home_mainslider .swiper-container-horizontal > .swiper-pagination-bullets,
.home_mainslider .swiper-pagination-custom,
.home_mainslider .swiper-pagination-fraction {
    z-index: 1;
} */

.home_mainslider .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background-color: rgba(255, 255, 255, 0.5);
    opacity: 1;
}

.home_mainslider .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
    background-color: #ffffff;
}


.home_mainslider > p {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    margin: 0 20px 35px 0;
    text-align: right;
    /* pointer-events: none; */
}


.home_about {
    padding: 100px 0;
    background-image: url(../img/home_about_bg_map.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 674px;
}

.home_about_inner {
    text-align: center;
}

.home_about_inner h2 {
    color: #00508E;
    font-size: 3.0rem;
    font-weight: 700;
}

.home_about_inner p {
    margin: 32px 0 0 0;
    color: #00508E;
    font-size: 1.6rem;
    line-height: 2.1;
    /* font-feature-settings: "palt"; */
}

.home_about_btn {
    margin: 40px 0 0 0;
}


.home_tourlist {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    /* max-width: 1400px; */
    margin: 0 auto;
}

.home_tourlist li {
    width: 50%;
}

.home_tourlist a {
    position: relative;
    display: block;
    height: 0;
    padding: 34% 0 0 0;
    overflow: hidden;
    transition: none;
    opacity: 1;
}

.home_tourlist a > img {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 101%;
    height: auto;
    max-width: none;
    max-height: none;
    transform-origin: 50% 50%;
    transition: transform .3s, opacity .3s;
}

.home_tourlist a > .pcNone {
    display: none;
}

.home_tourlist a:hover > img {
    /* transform: scale(1.3); */
    transform: scale(1.1);
    opacity: 0.8;
}

.home_tourlist p {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.home_tourlist p img {
    display: inline-block;
    max-width: 86%;
    max-height: 90%;
    min-width: 0;
    min-height: 0;
    transition: transform .3s;
}

.home_tourlist a:hover p img {
    /* transform: scale(1.3); */
    transform: scale(1.1);
}



.home_tourgroup {
    padding-top: 100px;
    padding-bottom: 100px;
}

.home_tourgroup > a {
    position: relative;
    display: block;
    height: 0;
    padding: 18% 0 0 0;
    border-radius: 1.0rem;
    overflow: hidden;
    transition: none;
    opacity: 1;
}

.home_tourgroup .corp {
    margin: 10px 0 0 0;
}


.home_tourgroup a::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 80, 142, 0.7);
    /* mix-blend-mode: hard-light; */
    transition: background-color .3s;
}

.home_tourgroup a:hover::after {
    background-color: rgba(0, 80, 142, 0);
}

.home_tourgroup a > img {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 101%;
    height: auto;
    max-width: none;
    max-height: none;
    transform-origin: 50% 50%;
    transition: transform .3s;
}

.home_tourgroup a > .pcNone {
    display: none;
}

.home_tourgroup a:hover > img {
    /* transform: scale(1.3); */
    transform: scale(1.1);
}

.home_tourgroup p {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    outline: 1px solid #FFFFFF;
    outline-offset: -10px;
}

.home_tourgroup p img {
    display: inline-block;
    max-width: 50%;
    max-height: 50%;
    min-width: 0;
    min-height: 0;
    transition: transform .3s;
}

.home_tourgroup a:hover p img {
    /* transform: scale(1.3); */
    transform: scale(1.1);
}

.home_news {
    padding: 100px 0;
    background-image: url(../img/home_news_bg.jpg);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
}

.home_news_btn {
    margin: 20px 4.5% 0;
}

.news_list,
.home_news_list .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.home_news_list .swiper-wrapper::before,
.home_news_list .swiper-wrapper::after,
.news_list::before,
.news_list::after {
    content: '';
    order: 1;
    display: block;
}

.home_news_list .swiper-wrapper::before,
.home_news_list .swiper-wrapper::after,
.news_list::before,
.news_list::after,
.news_list li,
.home_news_list .swiper-slide {
    width: 24%;
    width: 23.8%;
}

.news_list li {
    border: 1px solid #C8C9CA;
}

.news_list li:nth-of-type(n+5) {
    margin: 50px 0 0 0;
}

.home_news_list .swiper-slide:nth-of-type(4) ~ .swiper-slide {
    display: none;
}

.news_list a,
.home_news_list a {
    display: block;
    padding: 0 0 25px 0;
    background-color: #ffffff;
    opacity: 1;
    transition: background-color .1s;
}

.news_list a:hover,
.home_news_list a:hover {
    background-color: #00508E;
}

.news_list .news_thumb,
.home_news_list .news_thumb {
    position: relative;
    height: 0;
    padding: 75% 0 0 0;
    background-color: #FFFFFF;
    overflow: hidden;
}

.news_list .news_thumb::before,
.home_news_list .news_thumb::before,
.news_list .news_thumb::after,
.home_news_list .news_thumb::after {
    content: '';
    position: absolute;
    top: 5.56%;
    z-index: 1;
    display: block;
    width: 4.2%;
    height: 0;
    padding: 4.2% 0 0 0;
    border-radius: 50%;
    background-color: #00508E;
}

.news_list .news_thumb::before,
.home_news_list .news_thumb::before {
    left: 4.2%;
}

.news_list .news_thumb::after,
.home_news_list .news_thumb::after {
    right: 4.2%;
}

.news_list .news_thumb img,
.home_news_list .news_thumb img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: auto;
    height: auto;
    max-width: 200%;
    max-height: 200%;
    min-width: 101%;
    min-height: 101%;
}

.news_date {
    display: inline-block;
    padding: 4px 16px;
    border-radius: 0 1.0rem 1.0rem 0;
    color: #FFFFFF;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    background-color: #00508E;
}

.news_list .news_date,
.home_news_list .news_date {
    margin-top: 15px;
    transition: background-color .1s, color .1s;
}

.news_list a:hover .news_date,
.home_news_list a:hover .news_date {
    color: #00508E;
    background-color: #ffffff;
}

.news_tit {
    color: #00508E;
    font-weight: 700;
}

.news_list .news_tit,
.home_news_list .news_tit {
    padding: 0 16px;
    margin-top: 12px;
    transition: color .1s;
}

.news_list a:hover .news_tit,
.home_news_list a:hover .news_tit {
    color: #FFFFFF;
}

.news_excerpt {
    color: #00508E;
    font-size: 1.2rem;
}

.news_list .news_excerpt,
.home_news_list .news_excerpt {
    padding: 0 16px;
    margin-top: 10px;
    transition: color .1s;
}

.news_list a:hover .news_excerpt,
.home_news_list a:hover .news_excerpt {
    color: #FFFFFF;
}


.home_insta {
    padding-top: 100px;
}


.home_insta_list {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}

.home_insta_list li {
    width: 19%;
    margin-left: 12.5px;
    margin-left: 1.25%;
    /* margin-left: calc((100% - (19% * 5) ) / 4); */
}

.home_insta_list li:nth-of-type(5n+1) {
    margin-left: 0;
}

.home_insta_list li:nth-of-type(n+6) {
    margin-top: 12.5px;
    margin-top: 1.25%;
}

.home_insta_list a {
    position: relative;
    display: block;
    height: 0;
    padding: 100% 0 0 0;
    overflow: hidden;
    background-image: url(../img/home_news_nothumb.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.home_insta_list img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    visibility: hidden;
    width: 0;
    height: 0;
    transform: scale(0);
}



.home_youtube {
    margin-top: 100px;
}

.home_youtube a {
    position: relative;
    display: block;
    height: 180px;
    border-radius: 1.0rem;
    background-color: #00508E;
    background-image: url(../img/home_youtube_btn_logo.svg);
    background-repeat: no-repeat;
    background-position: left 50px center;
    background-size: auto;
    outline: 1px solid #FFFFFF;
    outline-offset: -10px;
    overflow: hidden;
}

.home_youtube p {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.home_youtube img {
    display: inline-block;
    max-width: 60%;
    max-height: 60%;
    min-width: 0;
    min-height: 0;
}





/* en /////////////////////////////////////////////////////////////////////////////////////////// */
.en_body footer {
    margin-top: 0;
}

.en_body main {
    word-wrap : break-word;
    overflow-wrap : break-word;
    letter-spacing: 0.02rem;
    /* word-break: break-all; */
}

.en_mainimg {
    position: relative;
    height: 100vh;
    background-image: url(../img/en_mainimg_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.en_mainimg > h1 {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    margin: 0 20px 35px 0;
    text-align: right;
    /* pointer-events: none; */
}

.en_about_inner p {
    font-size: 2rem;
    line-height: 1.8;
    /* letter-spacing: 0.02rem; */
    text-align: left;
}

.en_tour_wrapper {
    max-width: 1180px;
    padding: 0 0 120px 0;
    margin: 0 auto;
}

.en_tour {
    position: relative;
    padding: 40px 0 0 0;
}

.en_tour + .en_tour {
    margin-top: 20px;
}

.en_tour_imgbox {
    position: absolute;
    top: 0;
    right: calc(59.3% - 90px);
    z-index: 1;
    width: auto;
}

.en_tour:nth-of-type(2n) .en_tour_imgbox {
    right: auto;
    left: calc(59.3% - 90px);
}

.en_tour_imgbox img {
    width: auto;
    height: 400px;
    max-width: none;
    max-height: none;
    min-width: 0;
    min-height: 0;
}

.en_tour_txtbox {
    width: 59.3%;
    max-width: 700px;
    padding: 40px;
    margin: 0 0 0 auto;
    background-color: rgba(0, 80, 142, 0.1);
    background-image: url(../img/about_facility_bg_paint_odd.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 510px;
}

.en_tour:nth-of-type(2n) .en_tour_txtbox {
    margin: 0 auto 0 0;
}

.en_tour_txtbox_inner {
    position: relative;
    padding: 50px 0 50px 50px;
    background-color: #ffffff;
}

.en_tour:nth-of-type(2n) .en_tour_txtbox_inner {
    padding: 50px 50px 50px 0;
}

.en_tour h2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 14px 50px;
}

.en_tour_imgbox h2.pcNone {
    display: none;
}

.en_tour:nth-of-type(2n) h2 {
    background-image: url(../img/en_tour_tit_paint.png);
    background-position: left top;
    background-size: 352px;
}

.en_tour h2 span {
    display: inline-block;
    margin: 2px 0 2px 5px;
    font-size: 1.5rem;
}

.en_tour_txtbox_inner p {
    padding: 0 50px;
    margin: 15px 0 0 0;
    color: #00508E;
    line-height: 2;
}

.en_tour_txtbox_inner dl {
    position: absolute;
    left: 50px;
    top: 340px;
    transform: translate(-100%, 0);
    display: block;
    width: 100%;
    max-width: 480px;
    background-color: #ffffff;
}

.en_tour:nth-of-type(2n) .en_tour_txtbox_inner dl {
    left: auto;
    right: 50px;
    transform: translate(100%, 0);
    display: block;
    width: 100%;
    max-width: 480px;
}

.en_tour_txtbox_inner dt,
.en_tour_txtbox_inner dd {
    padding-left: 30px;
    padding-right: 30px;
    border: 1px solid #00508E;
    margin-top: -1px;
}

.en_tour_txtbox_inner dt {
    padding-top: 12px;
    padding-bottom: 12px;
    color: #00508E;
    font-weight: 700;
    background-color: rgba(0, 80, 142, 0.2);
}

.en_tour_txtbox_inner dd {
    padding-top: 11px;
    padding-bottom: 11px;
    color: #000000;
    line-height: 1.65;
}

.en_tour.seakayak dd span {
    display: block;
    color: #00508E;
    font-feature-settings: "palt";
}

.en_tour_txtbox_inner .cmn_btn {
    margin-top: 50px;
}


/* news /////////////////////////////////////////////////////////////////////////////////////////// */
.news_body .cmn_maintitle {
    background-image: url(../img/news_maintitle_pic_pc.jpg);
}

.news_pager_num .pagination {
    margin: 95px 0 0 0;
}

.news_single_box {
    position: relative;
    padding: 50px;
    border: 1px solid #C8C9CA;
    background-color: #FFFFFF;
    overflow: hidden;
}

.news_single_box::before,
.news_single_box::after {
    content: '';
    position: absolute;
    top: 10px;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #00508E;
}

.news_single_box::before {
    left: 10px;
}

.news_single_box::after {
    right: 10px;
}

.news_single_box .news_date {
    position: relative;
    padding: 6px 25px;
    font-size: 2.0rem;
}

.news_single_box .news_date::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-99%,0);
    display: block;
    width: 99px;
    height: 100%;
    background-color: inherit;
}

.news_single_box > h2 {
    margin: 20px 0 0 0;
    font-size: 2.6rem;
    font-weight: 700;
}

.news_single_box > figure {
    max-width: 833px;
    margin: 30px auto 0;
    text-align: center;
}

.news_single_box > div {
    margin: 36px auto 0;
    line-height: 1.85;
}


.news_pager_3col {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 50px 0 0 0;
}

.news_pager_3col > div {
    width: 40%;
    max-width: 160px;
}

.news_pager_3col a {
    display: block;
    padding: 9px 20px;
    border-radius: 1.0rem;
    background-color: rgba(0, 80, 142, 0.5);
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 500;
    font-family: "Shin Maru Go Regular","新丸ゴ R",'Kosugi Maru',"Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic Pro","ヒラギノ丸ゴ Pro W4","Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN","HG丸ゴシックM-PRO","HGMaruGothicMPRO",Meiryo,"Yu Gothic",YuGothic,"游ゴシック体","メイリオ",Osaka,arial,helvetica,sans-serif;
    text-align: center;
}



/* about /////////////////////////////////////////////////////////////////////////////////////////// */
.about_body .cmn_maintitle {
    background-image: url(../img/about_maintitle_pic_pc.jpg);
}

.about_desc_list {
    position: relative;
    z-index: 0;
    padding: 0 0 200px 0;
    margin-top: 60px;
}

.about_desc_list li {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.about_desc_list li:nth-of-type(2) {
    margin-top: 104px;
}

.about_desc_list li:nth-of-type(3) {
    margin-top: 188px;
}

.about_desc_list figure {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    /* z-index: 9; */
    width: 100%;
    width: calc(58% + 170px);
    max-width: 1000px;
    height: 600px;
    /* height: 0;
    padding: 42.85% 0 0 0;
    padding: 30% 0 0 0; */
    overflow: hidden;
}

.about_desc_list li:nth-of-type(2n-1) figure {
    right: calc((100vw - 1180px) / 2 + 490px);
}

.about_desc_list li:nth-of-type(2n) figure {
    left: calc((100vw - 1180px) / 2 + 490px);
}

.about_desc_list figure img {
    position: absolute;
    top: 53%;
    transform: translate(0,-53%);
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
    min-width: 0;
    min-height: 0;
}

.about_desc_list dl {
    position: relative;
    /* z-index: 9; */
    width: 100%;
    padding: 40px;
    max-width: 1180px;
    margin: 0 auto;
}

.about_desc_list dl::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 80, 142, 0.1);
    background-image: url(../img/about_facility_bg_paint_odd.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 510px;
}

.about_desc_list li:nth-of-type(2n) dl::before {
    background-image: url(../img/about_facility_bg_paint_even.png);
    background-position: left top;
    background-size: 576px;
}

.about_desc_list div {
    position: relative;
    z-index: 99;
    width: 56%;
    max-width: 620px;
    padding: 50px;
    background-color: #ffffff;
    overflow: hidden;
}

.about_desc_list li:nth-of-type(2n-1) div {
    margin: 0 0 0 auto;
}

.about_desc_list dt {
    position: relative;
    display: inline-block;
    padding: 0 40px 18px 0;
    color: #00508E;
    font-size: 2.4rem;
    letter-spacing: 0.05rem;
    font-weight: 700;
}

.about_desc_list dt::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 99vw;
    height: 3px;
    background-color: #00508E;
    background-image: url(../img/about_desc_unrderline_paint.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 370px;
}

.about_desc_list dd {
    margin: 18px 0 0 0;
    color: #00508E;
    font-size: 1.6rem;
    line-height: 2.1;
}


.about_body footer {
    margin-top: 0;
}

.about_faci {
    padding: 100px 0 0 0;
    background-color: #00508E;
    background-image: url(../img/about_facility_bg_paint.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 354px;
}

.about_faci_pic {
    position: relative;
    display: flex;
    align-items: flex-start;
}

.about_faci_pic::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%) rotate(-3deg);
    transform-origin: 50% 50%;
    display: block;
    width: 99vw;
    max-width: 1200px;
    height: 100%;
    height: calc(100% + 30px);
    background-color: rgba(255, 255, 255, 0.1);
}

.about_faci_pic div {
    width: 50%;
}

.about_faci_orginfo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 50px 0 0 0;
}

.about_faci_orginfo figure {
    flex-shrink: 0;
    margin: 0 25px 0 0;
    text-align: center;
}

.about_faci_orginfo p {
    display: inline-block;
    color: #FFFFFF;
    font-size: 1.8rem;
    line-height: 1.65;
    font-weight: 700;
}

.about_faci_orginfo p span {
    display: block;
    color: #FFFFFF;
    font-size: 3.0rem;
}

.about_faci_access {
    display: flex;
    margin: 50px 0 0 0;
    background-color: #ffffff;
}

.about_faci_access div {
    align-self: stretch;
    width: 50%;
    position: relative;
    overflow: hidden;
}

.about_faci_access div > iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.about_faci_access p {
    width: 50%;
    max-width: 550px;
    padding: 100px 50px;
    font-size: 1.6rem;
    line-height: 1.63;
}


/* tour /////////////////////////////////////////////////////////////////////////////////////////// */
.tour_body .cmn_maintitle {
    margin-bottom: 0;
}

.tour_body.tour .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_tour.jpg);
}

.tour_body.cycling .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_cycling.jpg);
}

.tour_body.cycling .cmn_maintitle img {
    transform: translate(0, 32%);
}

.tour_body.guidewalk .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_guidewalk.jpg);
}

.tour_body.handcraft .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_handcraft.jpg);
}

.tour_body.handcraft .cmn_maintitle img {
    transform: translate(0, 12%);
}

.tour_body.seakayak .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_seakayak.jpg);
}

.tour_body.seakayak .cmn_maintitle img {
    transform: translate(0, 32%);
}

.tour_body.setplan .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_setplan.jpg);
}

.tour_body.snorkel .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_snorkel.jpg);
}

.tour_body.sup .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_sup.jpg);
}

.tour_body.waterball .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_waterball.jpg);
}

.tour_body.withdog .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_withdog.jpg);
}

.tour_body.other .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_other.jpg);
}

.tour_body.student .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_student.jpg);
}

.tour_body.corporate .cmn_maintitle {
    background-image: url(../img/tour_maintitle_pic_pc_corporate.jpg);
}

.tour_body.withdog .cmn_maintitle img {
    transform: translate(0, 36%);
}

.tour_topmsg_readmore #readmore_check,
.tour_topmsg_readmore .readmore_btn {
    display: none;
}


.tour_lineup {
    margin-top: 100px;
}

.tour_lineup_2col {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.tour_lineup_catbox_pc {
    flex-shrink: 0;
    width: 20%;
    min-width: 150px;
    margin: 0 10px 0 0;
}

.tour_lineup_catbox_pc > p {
    padding: 2px 10px;
    border: 1px solid #00508E;
    color: #00508E;
    font-weight: 900;
    background-color: #FFFFFF;
}

.tour_lineup_catbox_pc ul {
    margin: 5px 0 0 0;
}

.tour_lineup_catbox_pc li + li {
    margin: 1px 0 0 0;
}

.tour_lineup_catbox_pc a {
    display: block;
    padding: 10px 10px;
    color: #FFFFFF;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.45;
    background-color: #00508E;
    transition: background-color .1s;
}

.tour_lineup_catbox_pc .current-cat a {
    background-color: #F5A200;
}

.tour_lineup_catbox_pc a:hover {
    background-color: #F5A200;
    opacity: 1;
    transition: background-color .1s;
}

.tour_lineup_catbox_sp {
    display: none;
}

.tour_lineup_list {
    width: 100%;
}

.tour_lineup_list li {
    border: 1px solid #00508E;
}

.tour_lineup_list li + li {
    margin: 10px 0 0 0;
}

.tour_lineup_list a {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 5px;
    background-color: #ffffff;
    opacity: 1;
    transition: background-color .1s;
}

.tour_lineup_list a:hover {
    background-color: #00508E;
    transition: background-color .1s;
}

.tour_lineup_list .tit_sp {
    display: none;
}

.tour_lineup_list .imgbox {
    position: relative;
    width: 32%;
    height: 0;
    padding: 24% 0 0 0;
    background-color: #ffffff;
    overflow: hidden;
}

.tour_lineup_list .imgbox img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
    max-height: none;
    min-width: 0;
    min-height: 0;
    /* max-width: 200%;
    max-height: 200%;
    min-width: 101%;
    min-height: 101%; */
}

.tour_lineup_list .txtbox {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    width: calc(100% - 32%);
    padding: 15px 15px 0 0;
}

.tour_lineup_list .tit_pc {
    width: 100%;
    transition: color .1s, background-color .1s;
}

.tour_lineup_list a:hover .tit_pc {
    color: #00508E;
    background-image: url(../img/tour_tit_paint_hover.png);
    background-color: #FFFFFF;
    transition: color .1s, background-color .1s;
}

.tour_lineup_list .details {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 10px 0 0 0;
}

.tour_lineup_list .details,
.tour_lineup_list .excerpt,
.tour_lineup_list .price {
    width: 100%;
    padding: 0 0 0 20px;
}

.tour_lineup_list .details div {
    display: inline-flex;
    align-items: flex-start;
    margin: 0 10px 0 0;
}

.tour_lineup_list .details dt {
    flex-shrink: 0;
    display: inline-block;
    padding: 2px 5px;
    border-radius: 0.2rem;
    margin: 0 5px 0 0;
    color: #FFFFFF;
    font-size: 1.2rem;
    font-weight: 700;
    background-color: #F5A200;
}

.tour_lineup_list .details dd {
    width: 100%;
    padding: 2px 0 0 0;
    color: #f5a200;
    font-size: 1.2rem;
    font-weight: 700;
}

.tour_lineup_list .excerpt {
    margin: 8px 0 5px 0;
    color: #717071;
    font-size: 1.4rem;
    letter-spacing: 0.02rem;
    line-height: 1.4;
    transition: color .1s;
}

.tour_lineup_list a:hover .excerpt {
    color: #FFFFFF;
    transition: color .1s;
}

.tour_lineup_list .price {
    display: block;
    margin: auto 0 0 0;
    color: #F5A200;
    font-weight: 700;
    text-align: right;
}

.tour_lineup_list .price span {
    font-size: 2.2rem;
}

.tour_lineup_list .price small {
    font-size: 1.6rem;
    font-feature-settings: "palt";
}

.tour_noinfo {
    width: 100%;
}

.tour_pager_num {
    margin-top: 100px;
}



.tour_single_body main {
    padding-top: 220px;
}

.tour_singlebox > .tit {
    font-size: 3.4rem;
    line-height: 1.25;
    font-weight: 700;
    font-feature-settings: "palt";
}

.tour_singlebox > .thumb {
    margin: 20px 0 0 0;
    text-align: center;
}

.tour_singlebox > .outline {
    margin: 25px 0 0 0;
}

.tour_details {
    margin: 90px 0 0 0;
}


.tour_details_list .cmn_cms_editor:empty::after {
    content: '-';
    display: block;
}

.tour_details_list .cmn_cms_editor > *:nth-child(1) {
    padding-top: 0;
    margin-top: 0;
}

.tour_details_list .cmn_cms_editor > *:nth-last-child(1) {
    padding-bottom: 0;
    margin-bottom: 0;
}

.tour_details_list .cmn_cms_editor > *:only-child {
    padding: 0;
    margin: 0;
}

.tour_details_list .cmn_cms_editor iframe[src*="google"][src*="map"] {
    max-height: 345px;
}

.tour_book {
    margin: 50px 0 0 0;
}

.tour_book_note {
    border: 2px solid #B62A2B;
    margin: 30px 0 10px;
}

.tour_book_note dt {
    padding: 4px 20px;
    color: #ffffff;
    font-size: 1.5rem;
    line-height: 1.7;
    font-weight: 700;
    background-color: #B62A2B;
    text-align: center;
}

.tour_book_note dd {
    padding: 20px 20px;
    background-color: #ffffff;
    color: #B62A2B;
    font-size: 1.5rem;
}



/* 予約日程選択カレンダー（予約プラグイン） */
#tour_book_cale .day-calendar,
#tour_book_cale [class^="m"][class$="-calendar"] {
    display: flex;
    flex-direction: column;
    margin: 25px 0 0 0;
}

#tour_book_cale .calendar-title {
    display: none;
}

#tour_book_cale .day-calendar table,
#tour_book_cale [class^="m"][class$="-calendar"] table {
    width: 100%;
}

#tour_book_cale .calendar-caption {
    transform: translate(0, -100%);
    z-index: -1;
    height: 26px;
    font-size: 2.4rem;
    line-height: 26px;
    font-weight: 600;
    pointer-events: none;
}

#tour_book_cale [class^="m"][class$="-calendar"] .monthly-prev-next {
    order: -1;
    width: 100%;
}

#tour_book_cale [class^="m"][class$="-calendar"] .monthly-prev > *,
#tour_book_cale [class^="m"][class$="-calendar"] .monthly-next > * {
    width: auto;
    height: auto;
    font-size: 0;
}

#tour_book_cale [class^="m"][class$="-calendar"] .monthly-prev > *::after,
#tour_book_cale [class^="m"][class$="-calendar"] .monthly-next > *::after {
    content: '\0FF1C';
    display: inline-block;
    /* margin: 0 0 0 -1.0rem; */
    font-size: 2.6rem;
    line-height: 1;
}

#tour_book_cale [class^="m"][class$="-calendar"] .monthly-next > *::after {
    content: '\0FF1E';
    /* margin: 0 -0.6rem 0 0; */
}

#tour_book_cale [class^="m"][class$="-calendar"] .monthly-prev > span,
#tour_book_cale [class^="m"][class$="-calendar"] .monthly-next > span {
    opacity: 0.3;
}

#tour_book_cale [class^="m"][class$="-calendar"] .header-row th {
    padding: 2px 0;
    font-size: 1.4rem;
}

#tour_book_cale [class^="m"][class$="-calendar"] .day-box {
    position: relative;
    border: 1px solid #00508E;
}

#tour_book_cale .multiple-calendar .day-box {
    padding: 30px 0.5%;
}

#tour_book_cale [class^="m"][class$="-calendar"] .day-number {
    position: absolute;
    left: 5px;
    top: 3px;
    display: inline-block;
    width: auto;
    height: auto;
    /* font-size: 1.4rem; */
    font-size: 1.5rem;
}

#tour_book_cale .monthly-calendar .calendar-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    /* padding: 100% 0 0 0; */
    color: #00508E;
    /* font-size: 1.8rem; */
    font-size: 2.0rem;
}

#tour_book_cale .monthly-calendar .calendar-daylink {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: inline-block;
    width: auto;
    height: auto;
}

#tour_book_cale .multiple-calendar .calendar-mark {
    color: #00508E;
    font-size: 2.0rem;
}

#tour_book_cale .multiple-calendar .calendar-daylink {
    /* display: flex; */
    /* align-items: flex-start; */
}

#tour_book_cale .multiple-calendar .article-name {
    /* display: block; */
}

#tour_book_cale [class^="m"][class$="-calendar"] .day-box.no-day {
    background-color: transparent;
}

#tour_book_cale [class^="m"][class$="-calendar"] .schedule-note {
    display: none;
}




/* 予約時間 選択画面 */
#tour_book_cale .mtssb-timetable-link th,
#tour_book_cale .mtssb-timetable-link td {
    padding-top: 5px;
    padding-bottom: 5px;
    border: 1px solid #00508E;
    border-radius: 0;
    font-size: 1.5rem;
    /* font-weight: 500; */
}

#tour_book_cale .mtssb-timetable-link tr:nth-of-type(1) th {
    color: #ffffff;
    font-weight: 600;
    background-color: #00508E;
}

#tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-left,
#tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-right {
    width: auto;
    height: auto;
    font-size: 0;
    line-height: 1;
}

#tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-left::after,
#tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-right::after {
    display: inline-block;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 2.0;
}

#tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-left::after {
    content: '開始時間';
}

#tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-right::after {
    content: '予約する';
}

#tour_book_cale .mtssb-timetable-link .calendar-mark {
    font-size: 1.8rem;
}

#tour_book_cale .mtssb-timetable-link .calendar-mark a {
    display: inline-block;
}


#tour_book_cale .mtssb-daily-action {
    text-align: center;
    margin: 30px 0;
}

#tour_book_cale .mtssb-daily-action button {
    border: 0;
    color: #00508E;
    font-size: 1.4rem;
    text-decoration: underline;
    background-color: transparent;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
}



.tour_book > ul {
    margin: 30px 0 0 0;
    text-align: center;
}

.tour_book > ul > li {
    display: inline-block;
    padding: 4px 15px;
}

.tour_book > span {
    display: block;
    padding: 2px 10px;
    margin: 15px 0 0 0;
    font-size: 1.8rem;
    text-align: center;
    background-color: rgba(245, 163, 0, 0.2);
}



/* abouttour /////////////////////////////////////////////////////////////////////////////////////////// */
.abouttour_body .cmn_maintitle {
    margin-top: 0;
    background-image: url(../img/abouttour_maintitle_pic_pc.jpg);
}

.abouttour_body main > * {
    margin-top: 100px;
}

.abouttour_clothes input[name="clothes_tabs"] {
    /* position: relative; */
    z-index: -99;
    display: inline-block;
    margin: 30px 0 0 0;
    overflow: hidden;
    opacity: 0;
}

.abouttour_clothes_tabs {
    display: flex;
    height: 100px;
}

.abouttour_clothes_tabs label {
    display: inline-flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    padding: 0 8px;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    cursor: pointer;
    background-color: #00508E;
    background-image: url(../img/abouttour_clothes_bg_paint.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 190px;
}

#clothes_tab01:checked ~ .abouttour_clothes_tabs label[for="clothes_tab01"],
#clothes_tab02:checked ~ .abouttour_clothes_tabs label[for="clothes_tab02"],
#clothes_tab03:checked ~ .abouttour_clothes_tabs label[for="clothes_tab03"],
#clothes_tab04:checked ~ .abouttour_clothes_tabs label[for="clothes_tab04"],
#clothes_tab05:checked ~ .abouttour_clothes_tabs label[for="clothes_tab05"],
#clothes_tab06:checked ~ .abouttour_clothes_tabs label[for="clothes_tab06"] {
    background-color: #F5A200;
}

.abouttour_clothes_tabs label + label {
    border-left: 1px solid #ffffff;
}

.abouttour_clothes_tabs label span {
    display: block;
    width: 100%;
    /* margin: 2px 0 0 0; */
    font-size: 1.8rem;
    line-height: 1.6;
}

.abouttour_clothes_showarea {
    margin: 50px 0 0 0;
}

.abouttour_clothes_conts {
    display: none;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

#clothes_tab01:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(1),
#clothes_tab02:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(2),
#clothes_tab03:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(3),
#clothes_tab04:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(4),
#clothes_tab05:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(5),
#clothes_tab06:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(6) {
    display: flex;
}

.abouttour_clothes_figure {
    width: 45%;
    text-align: center;
}

.abouttour_clothes_items {
    width: 50%;
    counter-reset: clothes_item;
}

.abouttour_clothes_items li {
    display: flex;
    align-items: flex-start;
    padding: 12px 10px;
    border-bottom: 1px solid currentColor;
    letter-spacing: 0;
}

.abouttour_clothes_items li::before {
    content: counter(clothes_item);
    counter-increment: clothes_item;
    flex-shrink: 0;
    display: inline-block;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    margin: 2px 8px 0 0;
    color: #FFFFFF;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: -0.07rem;
    line-height: 18px;
    background-color: #f5a200;
    text-align: center;
}

.abouttour_clothes_items li div {
    width: 100%;
}

.abouttour_clothes_items li span {
    font-weight: 700;
    /* font-size: 94%; */
}

.abouttour_clothes_note {
    width: 100%;
    padding: 24px 30px;
    margin: 50px 0 0 0;
    background-color: rgba(245, 163, 0, 0.1);
}

.abouttour_clothes_note li {
    padding: 0 0 0 1.35em;
    margin: 5px 0;
    text-indent: -1.35em;
    font-weight: 700;
    line-height: 1.5;
}

.abouttour_rulebox dd {
    padding: 40px 20px;
}

.abouttour_rulebox dd p {
    position: relative;
    padding: 0 0 0 1.4em;
}

.abouttour_rulebox dd p + p {
    margin: 20px 0 0 0;
}

.abouttour_rulebox dd p::before {
    content: '●';
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    margin: 0 .4em 0 0;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

.abouttour_notebox {
    padding: 24px 30px 28px;
    background-color: rgba(245, 163, 0, 0.1);
}

.abouttour_notebox dt {
    font-size: 2.2rem;
    font-weight: 700;
}

.abouttour_notebox dd {
    margin: 14px 0 0 0;
}




/* faq /////////////////////////////////////////////////////////////////////////////////////////// */
.faq_body .cmn_maintitle {
    background-image: url(../img/faq_maintitle_pic_pc.jpg);
}

.faq_box + .faq_box {
    margin-top: 90px;
}

.faq_list dt {
    padding: 0;
}

.faq_list > div:nth-of-type(2n) dt {
    background-color: rgba(0, 80, 142, 0.8);
}

.faq_list dt,
.faq_list dt:hover:hover {
    transition: background-color .1s;
}

.faq_list dt:hover:hover {
    background-color: #F5A200;
}

.faq_list button {
    display: inline-flex;
    align-items: flex-start;
    width: 100%;
    padding: 5px 20px;
    border: 0;
    color: #FFFFFF;
    font-size: 2.0rem;
    line-height: 1.45;
    font-weight: 700;
    text-align: left;
    background-color: transparent;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
}


.faq_list button:focus:not(:focus-visible) {
    outline: 0;
}

.faq_list button::before {
    content: 'Ｑ.';
    flex-shrink: 0;
    display: inline-block;
    margin: -1px 10px 0 0;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

.faq_list dt div {
    width: 100%;
    padding: 0 20px 0 0;
}

.faq_list button::after {
    content: '';
    flex-shrink: 0;
    align-self: center;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: -1px 0 0 auto;
    background-image: url(../img/faq_ico_arr.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    transition: background-image .1s;
}

.faq_list .js-isOpen button::after {
    background-image: url(../img/faq_ico_close.svg);
    transition: background-image .1s;
}

.faq_list dd {
    display: flex;
    align-items: flex-start;
    padding: 40px 20px;
    background-color: rgba(0, 80, 142, 0.1);
}

.faq_list dd::before {
    content: 'Ａ.';
    display: inline-block;
    margin: 0 4px 0 0;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

.faq_list dd div {
    width: 100%;
}

.faq_list dd a {
    color: #F5A200;
}

.faq_list > div + div {
    margin: 10px 0 0 0;
}






/* contact /////////////////////////////////////////////////////////////////////////////////////////// */
.contact_body .cmn_maintitle {
    background-image: url(../img/contact_maintitle_pic_pc.jpg);
}

.contact_tel {
    max-width: 900px;
    text-align: center;
}

.contact_tel > a {
    display: inline-block;
    margin: 20px 0 0 0;
    font-size: 3.0rem;
    letter-spacing: 0.15rem;
    font-weight: 700;
}

.contact_tel > span {
    display: block;
    margin: 2px 0 0 0;
    font-size: 1.8rem;
    line-height: 1.3;
}

.contact_form {
    max-width: 900px;
    margin-top: 100px;
}

.contact_form_inner {
    padding: 100px 50px 50px;
    background-color: #00508E;
    background-image: url(../img/contact_form_bg_paint.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 180px;
}

.contact_form_note {
    color: #FFFFFF;
    line-height: 1.6;
    letter-spacing: 0;
}

.contact_form_note span {
    display: block;
    margin: 2px 0 0 0;
    color: #F5A200;
    font-size: 1.4rem;
    letter-spacing: .05rem;
    text-align: right;
}

.contact_form_list {
    margin: 45px 0 0 0;
}

.contact_form_list > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 15px 0 0 0;
}

.contact_form_list dt {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    width: 23%;
    min-width: 150px;
    max-width: 180px;
    padding: 12px 0 0 0;
    margin: 0 2% 0 0;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0;
    text-align: right;
    font-feature-settings: "palt";
}

.contact_form_list dt small {
    display: inline-block;
    padding: 0 2px;
    color: #F5A200;
    font-feature-settings: "palt";
}

.contact_form_list dd {
    width: 100%;
}

.contact_form_list dd input,
.contact_form_list dd textarea {
    display: inline-block;
    width: 100%;
    padding: .2em .5em;
    border: 0;
    border-radius: 0;
    background-color: #FFFFFF;
}

.contact_form_list dd input {
    height: 50px;
}

.contact_form_list dd textarea {
    width: 100% !important;
    height: 250px !important;
}

.contact_form_btn {
    margin-top: 50px;
}

.contact_form_btn button {
    max-width: 200px;
    color: #00508E;
    font-size: 2.2rem;
    font-weight: 700;
    background-color: #ffffff;
}

.contact_form_btn button:hover {
    opacity: 0.8;
    transition: opacity .1s;
}

div#mfp_overlay {
    color: #333; /* mfp上書き */
}

/* tour_student /////////////////////////////////////////////////////////////////////////////////////////// */
.tour_student_body .cmn_maintitle {
    margin-bottom: 0;
    background-image: url(../img/tour_stud_maintitle_pic_pc.jpg);
    overflow: hidden;
}

.tour_student_body .cmn_maintitle h1 img {
    transform: translate(0, 15%);
}

.tour_topmsg,
.tour_corp_topmsg,
.tour_stud_topmsg {
    padding: 100px 0;
    color: #FFFFFF;
    background-color: #00508E;
}

.tour_topmsg h1,
.tour_corp_topmsg h1,
.tour_stud_topmsg h1 {
    font-size: 3.0rem;
    font-weight: 700;
    text-align: center;
}

.tour_topmsg p,
.tour_corp_topmsg p,
.tour_stud_topmsg p {
    margin: 30px 0 0 0;
    line-height: 2.25;
    text-align: center;
}

.tour_topmsg .cmn_btn,
.tour_corp_topmsg .cmn_btn,
.tour_stud_topmsg .cmn_btn {
    margin: 45px 0 0 0;
}

.tour_topmsg .cmn_btn a,
.tour_corp_topmsg .cmn_btn a,
.tour_stud_topmsg .cmn_btn a {
    border: 1px solid #FFFFFF;
}

.tour_corp_details,
.tour_stud_details {
    margin-top: 100px;
}

.tour_corp_details .cmn_dl .desc a,
.tour_stud_details .cmn_dl .desc a {
    /* color: #F5A200;
    text-decoration: underline; */
}




/* tour_corporate /////////////////////////////////////////////////////////////////////////////////////////// */
.tour_corporate_body .cmn_maintitle {
    margin-bottom: 0;
    background-image: url(../img/tour_corp_maintitle_pic_pc.jpg);
}

.tour_corporate_body .cmn_maintitle h1 img {
    transform: translate(0, 30%);
}




/* privacy /////////////////////////////////////////////////////////////////////////////////////////// */
.privacy_body main {
    padding-top: 220px;
    letter-spacing: 0;
    line-height: 1.5;
}

.privacy_outline span {
    display: block;
    text-align: right;
}

.privacy_detail {
    margin: 25px 0 0 0;
}

.privacy_detail + .privacy_detail {
    margin: 50px 0 0 0;
}

.privacy_detail h3 {
    padding: 0 0 12px 0;
    border-bottom: 1px solid #00508E;
    font-size: 2.0rem;
    font-weight: 700;
}

.privacy_detail h3 + * {
    margin-top: 15px;
}

.privacy_detail dl > div + div {
    margin: 25px 0 0 0;
}

.privacy_detail li {
    padding: 0 0 0 1.55em;
    text-indent: -1.55em;
}



/* booking-form（予約プラグイン） /////////////////////////////////////////////////////////////////////////////////////////// */
.bookingform_body main {
    padding-top: 220px;
}

#bookingform_wrap > p {
    font-size: 3.0rem;
    font-weight: 700;
    text-align: center;
}

#bookingform_inner {
    margin: 50px 0 0 0;
}

#bookingform_inner * {
    font-size: inherit;
}

#bookingform_inner > .backbtn {
    display: none;
    margin: 25px 0 0 0;
    text-align: center;
}

#bookingform_inner .bookingform_confirm ~ .backbtn {
    /* 確認画面だけ表示 */
    display: block;
}

#bookingform_inner > .backbtn a {
    text-decoration: underline;
}


/* #bookingform_inner #booking-reservation-fieldset tr:nth-of-type(1),
#bookingform_inner #booking-confirm-fieldset tr:nth-of-type(1) {
    display: none;
} */

#bookingform_inner .content-form th {
    padding: 5px 15px 5px 0;
    font-size: 95%;
    line-height: 3.5rem;
}

#bookingform_inner #booking-message-fieldset th {
    line-height: inherit;
}

#bookingform_inner #booking-message-fieldset label[for="booking-note"] {
    display: inline-block;
    width: 100%;
    text-align: left;
}

#bookingform_inner .content-form td {
    padding: 5px 0px 5px 10px;
}

#bookingform_inner .content-form td[colspan="2"] {
    padding-top: 5px;
    padding-bottom: 5px;
    color: #FFFFFF;
    background-color: #00508E;
    font-size: 85%;
    text-align: center;
}

#bookingform_inner #booking-option-fieldset th {
    width: 70%;
}

#bookingform_inner #booking-option-fieldset td {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 10px;
}

#bookingform_inner #booking-option-fieldset td::before {
    flex-shrink: 0;
    order: 20;
    content: '人数：';
    display: inline-block;
    margin: 0 0 0 auto;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

#bookingform_inner #booking-option-fieldset input {
    flex-shrink: 0;
    order: 30;
}

#bookingform_inner #booking-option-fieldset .unit-price {
    flex-shrink: 0;
    order: 10;
    margin: 0 5px 0 0;
    /* display: block;
    width: 100%; */
}

#bookingform_inner .content-form .booking-seimei {
    width: 3.5rem;
}

#bookingform_inner .clientform_sample {
    margin: 0.3em 0;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
}

#bookingform_inner label[for="client-gender-male"],
#bookingform_inner label[for="client-gender-female"] {
    display: inline-block;
    margin: 0 10px 0 0;
}

#bookingform_inner input[id="client-gender-male"],
#bookingform_inner input[id="client-gender-female"] {
    display: inline-block;
    margin: 0 5px 0 0;
}

#bookingform_inner button[type="submit"] {
    display: inline-block;
    width: 100%;
    max-width: 180px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 1.0rem;
    color: #FFFFFF;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
    background-color: #00508E;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
}

/* #booking_client-fieldset [for*="client-namelist"] {
    position: relative;
}

#booking_client-fieldset [for*="client-namelist"]::after {
    content: '※代表者の氏名・年齢を含む';
    display: block;
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.5;
} */
