@charset "UTF-8";
/* =============================================
                    COMMON
============================================= */
body{ font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
sup{ font-size: 70%; vertical-align: top; position: relative; top: -0.1em;}
.en{ font-family: "Montserrat", sans-serif; font-weight: 600; font-style: normal;}

/* =============================================
                    CONTENTS
============================================= */
*{ box-sizing: border-box;}
.btn-black a{ background: #000; font-weight: 700; line-height: 1.3; color: #fff; text-align: center; text-decoration: none; display: block; cursor: pointer;}
.btn-black a span{ display: inline-block; position: relative;}
.btn-black a .arrow::after{
    content: "\f105";
    font-family: FontAwesome;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
}
header{ background: #fff;}
header .inner{ display: flex; align-items: center;}
header .logo-GDO{ margin-right: auto;}
#main .mv{ position: relative;}
#main .mv h1{ position: absolute; z-index: 10;}
#main .detail .read{ line-height: 1.8;}
#main nav ul{ display: flex; align-items: center;}
#main nav ul li{ width: calc(100% / 3); border-right: 1px solid #000;}
#main nav ul li a{ color: #000; text-align: center; text-decoration: none; display: block;}
#main nav ul li a .ja{ font-weight: 700;}
section{ position: relative;}
section .line{ display: flex; position: absolute; top: 0; z-index: 10;}
section .line::before{ content: ""; background: #23459c; height: 1px; width: 50vw;}
section .line::after{ content: ""; background: #d33431; height: 1px; width: 50vw;}
section .tit-box .en{ text-align: center;}
section .tit-box .stit{ font-weight: 700; line-height: 1.4; text-align: center;}
#sec01{ background: #dce3ef;}
#sec01 .detail h3{ font-weight: 700; line-height: 1.4; text-align: center;}
#sec01 .detail .read{ line-height: 1.8;}
#sec01 .detail .about-tb table{ border-collapse: separate;}
#sec01 .detail .about-tb table th{ background: #fff; line-height: 1.2; text-align: center; border-spacing: 0;}
#sec01 .detail .about-tb table th.itemA{ background: #d33431; color: #fff;}
#sec01 .detail .about-tb table td{ background: #fff; text-align: center; border-spacing: 0;}
#sec01 .detail .about-tb table td.item{ vertical-align: middle;}
#sec01 .detail .about-tb table td.item p{ font-weight: 700;}
#sec01 .detail .about-tb table td.item p span{ line-height: 1.4; display: inline-block;}
#sec01 .detail .about-tb table td.itemA{ background: #23459c; color: #fff;}
#sec02 .tit-box .read{ line-height: 1.8;}
#sec02 .box .detail .profile-box .profile-tit h3{ font-weight: 700; line-height: 1.4;}
#sec02 .box .detail .profile-box .profile strong{ background: linear-gradient(transparent 60%, #f7f6bc 60%); font-weight: 300;}
#sec02 .box .detail .comment-list li p{ line-height: 1.8;}
#sec03{ background: #ebe8e4;}
#sec03 .tit-box h2{ font-weight: 700; line-height: 1.4; text-align: center;}
#sec03 .detail .feature-list li{ text-align: center;}
#sec03 .detail .feature-list li h3{ font-weight: 700;}
#sec03 .detail .feature-list li p{ line-height: 1.8;}
#sec04 .tit-box .read{ line-height: 1.8;}
#sec04 .detail .box h3{ font-weight: 700; line-height: 1.4; text-align: center;}
#sec04 .detail .box .style-list > li .coordinate-list{ border-top: 1px dotted #000;}
#sec04 .detail .box .style-list > li .coordinate-list li{ border-bottom: 1px dotted #000;}
#sec04 .detail .box .style-list > li .coordinate-list li a{ line-height: 1.4; color: #0071be; text-decoration: none; display: block;}
#sec04 .detail .box .style-list > li .coordinate-list li span{ line-height: 1.4; display: block;}
/* タブメニュー */
.tab-menu-list{ display: flex;}
.tab-trigger{ background: #000; color: #fff; width: 50%; border: 0; cursor: pointer;}
.tab-trigger.is-active{ background: #d33431;}
/* 画像表示エリア（アスペクト比で可変） */
.tab-view-area{ position: relative;  width: 100%; aspect-ratio: 503 / 680; overflow: hidden;}
.tab-panel-container{ position: relative; width: 100%; height: 100%;}
.tab-panel-item{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.tab-panel-item.is-active{ display: block;}
/* 矢印ナビゲーション */
.tab-arrow-nav{ position: absolute; top: 0; bottom: 0; background: none; border: none; cursor: pointer; z-index: 10; transition: 0.3s;}
.tab-arrow-nav:hover:not(:disabled){ opacity: 1;}
.tab-arrow-nav:disabled{ opacity: 0.4; pointer-events: none;}
.tab-arrow-nav.is-prev{ left: 10px;}
.tab-arrow-nav.is-next{ right: 10px;}
#sec04 .coop-box{ border: 1px solid #ccc;}
#sec04 .coop-box .text-box h3{ font-weight: 700;}
#sec04 .coop-box .text-box .t-link{ text-align: right;}
#sec04 .coop-box .text-box .t-link a{ color: #0071be; text-decoration: none;}
#page-top{ position: fixed; z-index: 90; display: none;}
#page-top a{ display: block;}
footer{ background: #000; color: #fff; text-align: center;}
footer a{ color: #fff;}

/* ==== PC ===== */
@media screen and (min-width: 768px){
body{ font-size: 16px;}
#contents{ min-width: 1046px; overflow: hidden;}
a:hover{ opacity: 0.8; transition: .4s;}
.pc{ display: block;}
.sp{ display: none;}
.btn-black{ width: 740px; margin: 0 auto;}
.btn-black a{ font-size: 20px; border-radius: 41px; padding: 15px 0;}
.btn-black a:hover{ transition: .4s;}
.btn-black a .arrow::after{ font-size: 20px; right: -20px;}
.btn-black a .arrow .stext{ font-size: 14px;}
.inner{ width: 1046px; margin: 0 auto;}
header{ padding: 20px 0;}
header .logo-GDO{ margin-top: -4px;}
#main .mv h1{ right: 200px; top: 50%; transform: translateY(-50%);}
#main .mv .swiper img{ width: 100%;}
#main .detail{ padding: 55px 0 80px;}
#main .detail .read{ font-size: 18px; text-align: center; margin-bottom: 55px;}
#main nav{ margin-top: 80px;}
#main nav ul li:first-child{ border-left: 1px solid #000;}
#main nav ul li a{ padding: 18px 0;}
#main nav ul li a .en{ font-size: 36px; margin-bottom: 5px;}
#main nav ul li a .ja{ font-size: 14px;}
section{ padding: 81px 0 100px;}
section .tit-box{ margin-bottom: 55px;}
section .tit-box .en{ font-size: 52px; margin-bottom: 20px;}
section .tit-box .stit{ font-size: 32px;}
#sec01 .tit-img{ margin-bottom: 55px;}
#sec01 .tit-img img{ width: 100%;}
#sec01 .detail h3{ font-size: 32px; margin-bottom: 35px;}
#sec01 .detail .read{ font-size: 18px; text-align: center; margin-bottom: 45px;}
#sec01 .detail .about-tb{ margin-bottom: 50px;}
#sec01 .detail .about-tb table{ width: calc(100% + 20px); border-spacing: 10px; margin-left: -10px;}
#sec01 .detail .about-tb table th{ font-size: 18px; padding: 18px 0;}
#sec01 .detail .about-tb table th.itemA,
#sec01 .detail .about-tb table th.itemB,
#sec01 .detail .about-tb table th.itemC{ width: 272px;}
#sec01 .detail .about-tb table td{ padding: 20px 0;}
#sec01 .detail .about-tb table td.item p{ font-size: 18px; margin-top: 10px;}
#sec01 .detail .about-tb table td.item p span{ font-size: 14px; margin-top: 8px;}
#sec02{ padding: 81px 0 20px;}
#sec02 .tit-box .read{ font-size: 18px; text-align: center; margin-top: 35px;}
#sec02 .box{ padding-bottom: 80px;}
#sec02 .box .tit-img{ margin-bottom: 40px;}
#sec02 .box .tit-img img{ width: 100%;}
#sec02 .box .detail .profile-box{ padding: 10px 0 10px 170px;}
#sec02 .box.no01 .detail .profile-box{ background: url(../img/sec02-box01-profile.jpg) left center no-repeat;}
#sec02 .box.no02 .detail .profile-box{ background: url(../img/sec02-box02-profile.jpg) left center no-repeat;}
#sec02 .box.no03 .detail .profile-box{ background: url(../img/sec02-box03-profile.jpg) left center no-repeat;}
#sec02 .box.no04 .detail .profile-box{ background: url(../img/sec02-box04-profile.jpg) left center no-repeat;}
#sec02 .box .detail .profile-box .profile-tit .en{ font-size: 20px; margin-bottom: 5px;}
#sec02 .box .detail .profile-box .profile-tit h3{ font-size: 28px; margin-bottom: 10px;}
#sec02 .box .detail .profile-box .profile-tit h3 span{ font-size: 18px;}
#sec02 .box .detail .profile-box .profile{ font-size: 16px; line-height: 1.8;}
#sec02 .box .detail .comment-list{ margin-bottom: 60px;}
#sec02 .box .detail .comment-list li{ display: flex; align-items: center; margin-top: 40px;}
#sec02 .box .detail .comment-list li:nth-child(even){ flex-direction: row-reverse;}
#sec02 .box .detail .comment-list li p{ font-size: 18px; width: 503px; margin-left: auto;}
#sec02 .box .detail .comment-list li:nth-child(even) p{ margin-right: auto; margin-left: 0;}
#sec03 .tit-box{ text-align: center;}
#sec03 .tit-box h2{ 
    background-image: url(../img/sec03-tit-icoL.png) , url(../img/sec03-tit-icoR.png) ;
    background-position: left center , right center;
    background-repeat: no-repeat;
    display: inline-block;
    font-size: 40px;
    padding: 5px 50px;
}
#sec03 .detail .feature-list{ display: flex; margin-bottom: 60px;}
#sec03 .detail .feature-list li{ width: 320px; margin-right: auto;}
#sec03 .detail .feature-list li:last-child{ margin-right: 0;}
#sec03 .detail .feature-list li h3{ font-size: 22px; margin-bottom: 30px;}
#sec03 .detail .feature-list li .img{ margin-bottom: 20px;}
#sec03 .detail .feature-list li p{ font-size: 15px;}
#sec04 .tit-box .read{ font-size: 18px; text-align: center; margin-top: 35px;}
#sec04 .detail .box{ padding-bottom: 60px;}
#sec04 .detail .box h3{ font-size: 28px; margin-bottom: 35px;}
#sec04 .detail .box h3 span{ font-size: 18px;}
#sec04 .detail .box .style-list{ display: flex;}
#sec04 .detail .box .style-list > li{ width: 503px; margin-right: auto;}
#sec04 .detail .box .style-list > li:last-child{ margin-right: 0;}
#sec04 .detail .box .style-list > li .tab-custom-group{ margin-bottom: 20px;}
#sec04 .detail .box .style-list > li .comment{ font-size: 16px; line-height: 1.8; margin-bottom: 20px;}
#sec04 .detail .box .style-list > li .coordinate-list li a,
#sec04 .detail .box .style-list > li .coordinate-list li span{ font-size: 16px; text-indent: -16px; padding: 12px 0 12px 16px;}
/* タブメニュー */
.tab-trigger{ font-size: 18px; padding: 5px 0;}
#sec04 .coop-box{ display: flex; align-items: center; padding: 20px; margin-top: 80px;}
#sec04 .coop-box .img{ width: 300px; flex-shrink: 0; margin-right: auto;}
#sec04 .coop-box .img img{ width: 100%;}
#sec04 .coop-box .text-box{ width: 686px;}
#sec04 .coop-box .text-box h3{ font-size: 20px; margin-bottom: 15px;}
#sec04 .coop-box .text-box .text{ font-size: 16px; line-height: 1.6; margin-bottom: 10px;}
#sec04 .coop-box .text-box .address{ font-size: 16px; line-height: 1.6; margin-bottom: 10px;}
#sec04 .coop-box .text-box .t-link a{ font-size: 16px;}
#page-top{ right: 20px; bottom: 20px;}
footer{ padding: 60px 0;}
footer .cp{ margin-top: 20px;}
}

/* ==== SP ===== */
@media screen and (max-width: 767px){
body{ font-size: 14px;}
img{ width: 100%;}
.pc{ display: none;}
.sp{ display: block;}
.btn-black a{ font-size: 17px; padding: 10px 0 12px; border-radius: 60px;}
.btn-black a .arrow::after{ font-size: 16px; right: -15px;}
.btn-black a .arrow .stext{ font-size: 14px;}
header{ padding: 8px 20px 10px;}
header .logo-GDO{ width: 73px;}
header .logo-lecoq{ width: 98px;}
#main .detail{ padding: 25px 0 40px;}
#main .detail .inner{ padding: 0 20px;}
#main .detail .read{ font-size: 17px; margin-bottom: 25px;}
#main nav{ margin: 40px -20px 0;}
#main nav ul li:last-child{ border-right: none;}
#main nav ul li a{ padding: 18px 0;}
#main nav ul li a .en{ font-size: 22px; margin-bottom: 5px;}
#main nav ul li a .ja{ font-size: 10px;}
section{ padding: 41px 0 50px;}
section .tit-box{ margin-bottom: 25px;}
section .tit-box .inner{ padding: 0 20px;}
section .tit-box .en{ font-size: 34px; margin-bottom: 10px;}
section .tit-box .stit{ font-size: 20px;}
#sec01 .tit-img{ margin-bottom: 25px;}
#sec01 .detail .inner{ padding: 0 20px;}
#sec01 .detail h3{ font-size: 20px; margin-bottom: 15px;}
#sec01 .detail .read{ font-size: 17px; margin-bottom: 25px;}
#sec01 .detail .tbtit{ font-size: 19px; font-weight: 700; text-align: center; margin-bottom: 15px;}
#sec01 .detail .about-tb{ margin: 0 -20px 25px; overflow-x: scroll;}
#sec01 .detail .about-tb table{ width: 570px; border-spacing: 5px; margin: 0 5px;}
#sec01 .detail .about-tb table th{ font-size: 15px; vertical-align: middle; padding: 10px 0;}
#sec01 .detail .about-tb table th.itemA,
#sec01 .detail .about-tb table th.itemB,
#sec01 .detail .about-tb table th.itemC{ width: 140px;}
#sec01 .detail .about-tb table td{ padding: 20px 0;}
#sec01 .detail .about-tb table td.item .ico{ width: 80px; margin: 0 auto;}
#sec01 .detail .about-tb table td.item p{ font-size: 15px; line-height: 1.2; margin-top: 5px;}
#sec01 .detail .about-tb table td.item p span{ font-size: 10px; margin-top: 2px;}
#sec01 .detail .about-tb table td .img{ width: 120px; margin: 0 auto;}
#sec02{ padding: 41px 0 10px;}
#sec02 .tit-box .read{ font-size: 17px; margin-top: 15px;}
#sec02 .box{ padding-bottom: 40px;}
#sec02 .box .tit-img{ margin-bottom: 20px;}
#sec02 .detail .inner{ padding: 0 20px;}
#sec02 .box .detail .profile-box .profile-tit{ padding: 5px 0 5px 85px; margin-bottom: 10px;}
#sec02 .box.no01 .detail .profile-box .profile-tit{ background: url(../img/sec02-box01-profile.jpg) left center no-repeat; background-size: 75px;}
#sec02 .box.no02 .detail .profile-box .profile-tit{ background: url(../img/sec02-box02-profile.jpg) left center no-repeat; background-size: 75px;}
#sec02 .box.no03 .detail .profile-box .profile-tit{ background: url(../img/sec02-box03-profile.jpg) left center no-repeat; background-size: 75px;}
#sec02 .box.no04 .detail .profile-box .profile-tit{ background: url(../img/sec02-box04-profile.jpg) left center no-repeat; background-size: 75px;}
#sec02 .box .detail .profile-box .profile-tit .en{ font-size: 15px; margin-bottom: 5px;}
#sec02 .box .detail .profile-box .profile-tit h3{ font-size: 22px; line-height: 1.0;}
#sec02 .box .detail .profile-box .profile-tit h3 span{ font-size: 13px;}
#sec02 .box .detail .profile-box .profile{ font-size: 15px; line-height: 1.6;}
#sec02 .box .detail .comment-list{ margin-bottom: 25px;}
#sec02 .box .detail .comment-list li{ margin-top: 20px;}
#sec02 .box .detail .comment-list li .img{ margin-bottom: 15px;}
#sec02 .box .detail .comment-list li p{ font-size: 17px;}
#sec03 .tit-box{ text-align: center;}
#sec03 .tit-box h2{ font-size: 24px;}
#sec03 .tit-box h2 span{ 
    background-image: url(../img/sec03-tit-icoL.png) , url(../img/sec03-tit-icoR.png) ;
    background-size: 28px;
    background-position: left center , right center;
    background-repeat: no-repeat;
    display: inline-block;
    padding: 0 35px;
}
#sec03 .detail .inner{ padding: 0 20px;}
#sec03 .detail .feature-list{ margin-bottom: 25px;}
#sec03 .detail .feature-list li{ margin-bottom: 30px;}
#sec03 .detail .feature-list li:last-child{ margin-bottom: 0;}
#sec03 .detail .feature-list li h3{ font-size: 20px; margin-bottom: 15px;}
#sec03 .detail .feature-list li .img{ width: 220px; margin: 0 auto 10px;}
#sec03 .detail .feature-list li p{ font-size: 15px;}
#sec04 .tit-box .read{ font-size: 17px; margin-top: 15px;}
#sec04 .detail .inner{ padding: 0 20px;}
#sec04 .detail .box{ padding-bottom: 30px;}
#sec04 .detail .box h3{ font-size: 20px; line-height: 1.2; margin-bottom: 20px;}
#sec04 .detail .box h3 span{ font-size: 13px; line-height: 1.6; display: inline-block; margin-top: 5px;}
#sec04 .detail .box .style-list > li:first-child{ margin-bottom: 30px;}
#sec04 .detail .box .style-list > li .tab-custom-group{ margin-bottom: 10px;}
#sec04 .detail .box .style-list > li .comment{ font-size: 15px; line-height: 1.6; margin-bottom: 15px;}
#sec04 .detail .box .style-list > li .coordinate-list li a,
#sec04 .detail .box .style-list > li .coordinate-list li span{ font-size: 15px; text-indent: -15px; padding: 10px 0 12px 15px;}
/* タブメニュー */
.tab-trigger{ font-size: 15px; padding: 5px 0;}
/* 矢印ナビゲーション */
.tab-arrow-nav img{ width: 20px;}
#sec04 .coop-box{ padding: 10px; margin-top: 40px;}
#sec04 .coop-box .img{ margin-bottom: 10px;}
#sec04 .coop-box .text-box{ padding: 5px 5px 10px;}
#sec04 .coop-box .text-box h3{ font-size: 17px; margin-bottom: 15px;}
#sec04 .coop-box .text-box .text{ font-size: 15px; line-height: 1.6; margin-bottom: 10px;}
#sec04 .coop-box .text-box .address{ font-size: 15px; line-height: 1.6; margin-bottom: 10px;}
#sec04 .coop-box .text-box .t-link a{ font-size: 15px;}
#page-top{ right: 10px; bottom: 20px; width: 12%;}
footer{ font-size: 10px; padding: 30px 0;}
footer .cp{ margin-top: 10px;}
}