



/*  グリーンフラッグ
--------------------------------------------------------------------------*/
/*   https://green-flag.net
--------------------------------------------------------------------------*/

@charset "shift_jis";
a:link {text-decoation: none;color:#333;} 
a:visited {text-decoration: none;color:#333;} 
a:hover {text-decoration: none;} 
body { margin:0px;padding:0px;}
body { background-color: #; }
body { font-family: 'Noto Sans JP', sans-serif;}
body, th, td, div, font { line-height: 1.5; }
body { font-size: 16px;font-size: 1.6rem;   /* sets the default sizing to make sure nothing is actually 10px */}
html { font-size: 62.5%; text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}

ul, ol, ul li, ol li { list-style: none;}
img, a img { border: 0px none; vertical-align: bottom;outline: none;}
form{margin:0px;}
input{margin:0px;}form{margin:0px;}
iframe{ vertical-align: bottom;}

::-webkit-scrollbar-track {background: #fff;border-radius: 5px;}
::-webkit-scrollbar { width: 8px;height: 10px;}
::-webkit-scrollbar-thumb {background: #d8d8d8;border-radius: 5px;}

@font-face {font-family: 'Pinyon Script', cursive;font-style: ;src: url(''),url('../font/PinyonScript-Regular.ttf') format('truetype');}
@font-face {font-family: 'Noto Sans JP', sans-serif;font-style: ;src: url(''),url('../font/NotoSansJP-Light.otf') format('opentype');}
@font-face {font-family: 'Noto Sans JP', sans-serif;font-style: ;src: url(''),url('../font/NotoSansJP-Thin.otf') format('opentype');}
@font-face {font-family: 'Noto Sans JP', sans-serif;font-style: ;src: url(''),url('../font/NotoSansJP-Medium.otf') format('opentype');}
.font-script {font-family: "Pinyon Script", cursive; letter-spacing: -0.5px;}

.mincho { font-family:"ヒラギノ明朝 ProN W3","HiraMinProN-W3","HG明朝E",serif;}
@media screen and (max-width: 640px) {
}

@-webkit-keyframes light {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@media screen and (max-width: 640px) {.sp_none {display: none !important;}}
@media screen and (min-width: 640px) {.pc_none {display: none !important;}}

:root {
--colorGradation1:linear-gradient(135deg, #ffca64 0%,#f2ed67 24%,#fafad6 47%,#fafad6 47%,#efce2b 49%,#e1b323 54%,#ffe958 92%,#ffe958 92%);
--colorGradation2:radial-gradient( #f2ed67, #e1b323 );
--mincho:"ヒラギノ明朝 ProN","HiraMinProN","HG明朝E",serif;
}


h1 { margin: 0px;padding: 0px;}
h2 { margin: 0px;padding: 0px;}
h3 { margin: 0px;padding: 0px;}
.clear { display: none;}

#loader_wrap {position: fixed;z-index:10000;display: flex;align-items: center;justify-content: center;width: 100vw;height: 100vh;top: 0;background: #fff;}
.loader{ content:"";width:250px;height:142px;}
.loader{ background:url(../img/logo.png) no-repeat scroll 0% 0%;background-size:contain;opacity: 5; content: ""; opacity: 0;animation: blink 1.5s infinite linear;}
.loader p{ margin: 0px;padding: 150px 0 0;font-size: 13px;color: #222;letter-spacing:0.2em;font-weight: normal;text-align: center;}

@media screen and (max-width: 640px) {
.loader{ content:"";width:140px;height:80px;}
.loader p{ margin: 0px;padding: 80px 0 0;font-size: 12px;color: #222;letter-spacing:1px;font-weight: normal;text-align: center;}
}

@keyframes blink {50% {opacity: 1;}}
.loaded {opacity: 0;visibility: hidden;}


/*  HEAD
--------------------------------------------------------------------------*/
.header{ background-color: rgba(255,255,255,1.0);border-bottom: 0px solid #f8f8f8;position: relative;}
.header{ height: 135px;margin: 0 0px;padding: 0px 0px;z-index:3;}
.head_logo{max-width: 220px;position:absolute;top: 20px;left: 20px;z-index: 3;}
@media only screen and (max-width:640px) {
.header{width: 100% ;height: 110px;margin: 0 0px;padding: 0px 0px;z-index:3;}
.head_logo{max-width: 180px;position:absolute;top: 15px;left: 15px;z-index: 3;}
}

/*メニューボタン*/

.openbtn{ position: fixed;top:15px;right:15px;width: 80px;height:80px;cursor: pointer;background:#;z-index:9999;}
.openbtn span{ display: inline-block;transition: all .4s;position: absolute;height: 2px;background-color: #666;}
.openbtn span:nth-of-type(1) {top:25px;left: 15px;width: 50px;}
.openbtn span:nth-of-type(2) {top:35px;left: 15px;width:35px;}
.openbtn.active span:nth-of-type(1) {top: 28px;left: 16px;transform: translateY(10px) rotate(-45deg);width: 50px;}
.openbtn.active span:nth-of-type(2) {top: 48px;left: 16px;transform: translateY(-10px) rotate(45deg);width: 50px;}

@media only screen and (max-width:640px) {
.openbtn{ position: fixed;top:10px;right:10px;width: 60px;height:60px;cursor: pointer;background:#;z-index:9999;}
.openbtn span{ display: inline-block;transition: all .4s;position: absolute;height: 2px;background-color: #666;}
.openbtn span:nth-of-type(1) {top:25px;left: 10px;width: 40px;}
.openbtn span:nth-of-type(2) {top:35px;left: 10px;width:25px;}
.openbtn.active span:nth-of-type(1) {top: 25px;left: 10px;transform: translateY(5px) rotate(-45deg);width: 40px;}
.openbtn.active span:nth-of-type(2) {top: 35px;left: 10px;transform: translateY(-5px) rotate(45deg);width: 40px;}
}

/* ナビメニュー */

.slide_wrap{ position: fixed;top: 0;right: 0;z-index:9000;width: 100%;height: 100%;background: rgba(255,255,255,1.0);border-bottom: 1px solid #f0f0f0;text-align:center;}
.slide_wrap{ padding: 15px 15px;pointer-events: none;opacity: 0;transition: opacity .3s linear;z-index:8888;display: flex;justify-content: center;align-items: center;text-align:center;}
.slide_wrap.is-active{ pointer-events: auto;opacity: 1;}
.slide_wrap .logo{ max-width:180px;margin: 15px 0 25px; }



ul.menu_sp { display: inline-block;padding: 0px 0px;border-radius: 0px;right:0px;left:0px;margin:auto auto;}
ul.menu_sp:after {content: "";display: block;clear: both;}
ul.menu_sp li { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
ul.menu_sp li a { margin: 0px;padding: 10px 0px;display: block; text-decoration: none;text-align:left;}
ul.menu_sp li a { font-size: 17px;color: #222;font-weight:600;letter-spacing:0.15em;transition: all .3s;}
ul.menu_sp li a:hover { background-color: #;opacity:  ;text-decoration: underline;}
@media screen and (max-width: 640px) {
ul.menu_sp li { width: 100%;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
ul.menu_sp li a { font-size: 14px;color: #222;font-weight:600;letter-spacing:0.15em;transition: all .3s;}
}





/*  TOP
--------------------------------------------------------------------------*/
.main_wrap { min-height: 300px;margin: 0px;padding: 20px 15px;overflow-y: hidden;position: relative;text-align:center;}
.main_wrap iframe{width: 100%;height: 450px;border-radius: 10px;filter:grayscale(50%);-webkit-filter:grayscale(50%);vertical-align: top;margin: 0 0 20px 0;}
@media only screen and (max-width:640px) {
.main_wrap{margin: 0px;padding: 15px 15px;overflow:hidden;position: relative;text-align:center;}
.main_wrap iframe{width: 100%;height: 350px;border-radius: 10px;filter:grayscale(50%);-webkit-filter:grayscale(50%);vertical-align: top;}
}

.title_wrap { margin: 20px 0;padding: 0px;position: relative;}
.title_wrap::after { content: '';display: block;position: absolute;bottom: -30px;left: 0;width: 90%;height: 300px;background-color: #f2f3f4;border-radius: 0px 0 10px 0px;z-index: -1;}
.title_wrap h2 { margin: 0px;padding: 0px 0px;position:absolute;top: 40%;left: 30px;}
.title_wrap h2 { font-family: 'Times New Roman', sans-serif;font-size:3.0em;color: #222;font-weight:500;letter-spacing:0.20em;text-align: center;}
.title_wrap h2 span { padding: 0px 0px 0px 20px;font-family: 'Noto Sans JP', sans-serif;font-size: 16px;color: #222;font-weight:normal;letter-spacing:0.25em;}
.title_wrap h2 span:before { content:" / ";}
@media only screen and (max-width:640px) {
.title_wrap h2 { margin: 0px;padding: 0px 0px;position:absolute;top: 40%;left: 20px;}
.title_wrap h2 { font-size:2.0em;color: #222;font-weight:normal;letter-spacing:0.05em;text-align: left;}
.title_wrap h2 span { display: block;padding: 0px 0px 0px;font-size: 16px;color: #222;font-weight:normla;letter-spacing:0.05em;line-height: 1.5;}
.title_wrap h2 span:before { content:" / ";}
}
.title_img { width: 60%;height: 380px;margin: 0px;padding: 0px;position: relative;margin-left: auto;border-radius: 0px 0 0 20px;}
.title_img { background: rgba(0, 0, 0, 0) url(../img/main_img_green.jpg) no-repeat scroll center top / cover ; text-align: center;}
@media only screen and (max-width:640px) {
.title_img { width: 60%;height: 270px;margin: 0px;padding: 0px;position: relative;margin-left: auto;}
.title_img { background: rgba(0, 0, 0, 0) url(../img/main_img_green.jpg) no-repeat scroll center top / cover ; text-align: center;}
}

.top_info{padding: 10px 30px;display: flex;align-items: center;}
.top_info_left{width: 50%;display: flex;justify-content: end;position: relative;}
.top_info_left img{height: 600px;width: 100%;object-fit: cover;}
.top_info_right{padding: 0 25px;width: 50%;text-align:center;}
.top_info .green{display: block;opacity: 0.6; text-align: center;padding:0 0px;font-family: 'Times New Roman', sans-serif;font-size: 140px;color: #2c5e00;line-height:0.7;letter-spacing:-0.05em;transform: rotate(-5deg);position:absolute;top: 150px;right: -100px;z-index: 3;}
@media only screen and (max-width:800px) {
.top_info{padding: 10px 0px;flex-flow: column;}
.top_info_right,.top_info_left{width: 100%;padding: 10px 0;box-sizing: border-box;text-align: center;}
.top_info_left img{width: 100%;height: 300px;object-fit: cover;}
.top_info .green{display: block;opacity: 0.6; text-align: center;padding:0 0px;font-size: 100px;color: #2c5e00;transform: rotate(-10deg);position:absolute;top:200px;right: 50px;z-index: 3;}
}

.top_access{margin: 0px 0 20px;padding: 10px 30px;display: flex;align-items: center;}
.top_access_left{width: 50%;display: flex;justify-content: end;position: relative;}
.top_access_right{padding: 0 25px;width: 50%;text-align:center;}
.top_access_right img{height: 500px;width: 100%;object-fit: cover;}
@media only screen and (max-width:800px) {
.top_access{padding: 10px 0px;flex-flow: column-reverse;}
.top_access_right,.top_access_left{width: 100%;padding: 10px 0;box-sizing: border-box;text-align: center;}
.top_access_right img{width: 100%;height: 250px;object-fit: cover;}
}
#top_txt { max-width:800px;padding: 10px 5px;right:0px;left:0px;margin:auto auto;text-align: center;}
#top_txt h3{margin: 0px 0px;padding: 5px 0px;position:relative;animation: fadeIn 1s ease forwards;}
#top_txt h3{font-size: 1.8em;color: #222;line-height: 1.6;font-weight: 600;letter-spacing:0.1em;text-align: center;}
#top_txt p{margin: 0px;padding:7px 0px 0;position:relative;font-size: 1.1em;color: #222;line-height: 1.7;font-weight: 600;letter-spacing:0.3em;text-align: center;animation: fadeIn 1.5s ease forwards;}
@media screen and (max-width: 640px) {
#top_txt h3{font-size: 1.4em;color: #222;line-height: 1.6;font-weight: 600;letter-spacing:0.1em;text-align: center;}
#top_txt p{margin: 0px;padding:7px 0px 0;position:relative;font-size: 1.0em;color: #222;line-height: 1.7;font-weight: 600;letter-spacing:0.3em;text-align: center;animation: fadeIn 1.5s ease forwards;}
}

#top_catch {max-width: 600px;padding: 50px 5px 30px;display: inline-block;right:0px;left:0px;margin:auto auto;text-align: center;}
#top_catch h3{margin: 0px;padding: 10px 0px;position:relative;font-size: 1.8em;color: #222;line-height: 1.6;font-weight: 600;letter-spacing:0.3em;text-align: center;}
#top_catch p{margin: 0px;padding:7px 0px 0;position:relative;font-size: 1.1em;color: #222;line-height: 1.7;font-weight: 600;letter-spacing:0.3em;text-align: center;}
@media screen and (max-width: 640px) {
#top_catch {max-width: 600px;padding: 20px 5px 30px;display: inline-block;right:0px;left:0px;margin:auto auto;text-align: center;}
#top_catch h3{margin: 0px;padding: 10px 0px;position:relative;font-size:1.4em;color: #222;line-height: 1.6;font-weight: 600;letter-spacing:0.2em;text-align: center;}
#top_catch p{margin: 0px;padding:7px 0px 0;position:relative;font-size: 1.0em;color: #222;line-height: 1.7;font-weight: 600;letter-spacing:0.3em;text-align: center;}
}

.greenflag_wrap{margin: 0 0 -5px;display: block;overflow: hidden;background: url(../img/main_img_green.jpg) no-repeat center center/cover; background-clip: text;-webkit-background-clip: text;color: transparent;text-align: center;padding: 80px 0 0px;}
.greenflag_wrap span{font-family: 'Times New Roman', sans-serif;font-size: 16em;font-weight: bold;letter-spacing: -0.3rem;line-height: 6rem;}
@media screen and (max-width: 640px) {
.greenflag_wrap{margin: 0 0 -5px;display: block;overflow: hidden;background: url(../img/main_img_green.jpg) no-repeat center center/cover; background-clip: text;-webkit-background-clip: text;color: transparent;text-align: center;padding: 60px 0 0px;}
.greenflag_wrap span{font-size: 7.6em;font-weight: bold;letter-spacing: -0.1rem;line-height: 6rem;}
}
@media screen and (max-width: 480px) {
.greenflag_wrap{margin: 0 0 -5px;display: block;overflow: hidden;background: url(../img/main_img_green.jpg) no-repeat center center/cover; background-clip: text;-webkit-background-clip: text;color: transparent;text-align: center;padding: 40px 0 0px;}
.greenflag_wrap span{font-size: 7.0em;font-weight: bold;letter-spacing: -1.6rem;line-height: 6rem;}
}

.catch_wrap {width: 100%;position: relative;margin: auto auto;padding: 20px 10px;display: flex;justify-content: center;align-items: center;}
.catch_wrap {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow:hidden;}
.catch_wrap img{ max-width: 100%;height: auto;position: relative;}

@media screen and (max-width: 480px) {
.catch_wrap {width: 100%;position: relative;margin: auto auto;padding: 5px 5px;display: flex;justify-content: center;align-items: center;}
}

.concept_wrap{background-image: url(../img/main_img01.jpg);background-size: cover;background-position: 50% 50%;}
.concept_wrap{padding: 100px 20px;position: relative;text-align: center;}
.concept_wrap img{max-width:100%;}
.concept_wrap p { display: block;margin: 0px 0px;padding:10px 0px ;font-size: 17px;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:0.25em;text-align: center;}
@media screen and (max-width: 640px) {
.concept_wrap{padding: 70px 20px;position: relative;text-align: center;}
.concept_wrap img{max-width:180px;}
}
#concept{ max-width:700px;padding: 30px 30px;background-color: rgba(0,0,0,0.8);position:relative;right:0px;left:0px;margin: auto auto;}
#concept{ word-wrap: break-word;overflow-wrap: break-word;}
#concept h3 { padding:10px 0px 0px;font-size: 20px;color: #f4f4ec;line-height: 1.2;font-weight: normal;letter-spacing:2px;text-align: center;}
#concept p { margin: 0px 0px;padding:15px 0px 0px;font-size: 15px;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:0.25em;text-align: left;}
#concept img { max-width:100%; height: auto;margin: 10px 0px;}


/* アニメーション */

.delighter.delighter {transition: all .6s ease-out;transform: translateY(50%);opacity: 0;}
.delighter.delighter.started { transform: none;opacity: 1;}
.delighter.delighter.started.ended {}
.delighterF.delighter {transition:all .6s ease-out;transform:translate(0%);opacity:0}
.delighterL.delighter {/* 左から */transition:all .6s ease-out;transform:translateX(-15%);opacity:0}
.delighterR.delighter {/* 右から */transition:all .6s ease-out;transform:translateX(15%);opacity:0}

/* 画像左から */

.flipLeft{animation-name: flipLeft;animation-duration:0.5s;animation-fill-mode:forwards;perspective-origin: left center;opacity: 0;}
@keyframes flipLeft{from {transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);opacity: 0;}
 to {transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);opacity: 1;}
}

.img_wrap{position: relative;overflow: hidden;}
.img_fadein::before{content: '';width: 100%;height: 100%;position: absolute;left: 0;top: 0;background: #fff;z-index: 2;transition: .5s;}
.img_fadein.show::before{transform: translateX(100%);}
.img_fadein img{opacity: 0;transition: .5s;}
.img_fadein.show img{opacity: 1;}

#top_concept{max-width:800px;padding: 30px 10px ;right:0px;left:0px;margin:auto auto;text-align: center;}
#top_concept h3{margin: 0px 0px;padding: 10px 0px;position:relative;}
#top_concept h3{font-size: 2.3rem;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:1px;text-align: center;}
#top_concept p{margin: 0px;padding:15px 0px ;position:relative;}
#top_concept p{font-size: 16px;color: #fff;line-height: 1.8;font-weight: normal;letter-spacing:3px;text-align: left;}
@media screen and (max-width: 640px) {
#top_concept h3{font-size: 17px;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:1px;text-align: center;}
#top_concept p{font-size: 15px;color: #fff;line-height: 1.8;font-weight: normal;letter-spacing:3px;text-align: left;}
}

/*INFO*/

.led_wrap{padding: 15px 15px 20px;background-color: #1a2c02;position: relative;}
.led_wrap::after{content: ' ';display: block;position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 10;}
.led_wrap::after{background-image: linear-gradient(#0a0600 1px, transparent 0px), linear-gradient(0, #0a0600 1px, transparent 1px);background-image: -webkit-linear-gradient(#0a0600 1px, transparent 0px), -webkit-linear-gradient(0, #0a0600 1px, transparent 1px);background-size: 2px 2px;z-index: 10;}
.ledText{overflow: hidden;position: relative;color: #d8cb3d;font-size: 3.5em;line-height: 1.2;font-weight: bold;background: #;}
.ledText span{display: inline-block;white-space: nowrap;padding-left: 100%;animation-name: marquee;animation-timing-function: linear;animation-iteration-count: infinite;animation-duration: 25s;}
.ledText span {-webkit-animation-name: marquee;-webkit-animation-timing-function: linear;-webkit-animation-iteration-count: infinite;-webkit-animation-duration: 25s;-moz-animation-name: marquee;-moz-animation-timing-function: linear;-moz-animation-iteration-count: infinite;-moz-animation-duration: 15s;;}
@-webkit-keyframes marquee {from   { -webkit-transform: translate(0%);}99%,to { -webkit-transform: translate(-100%);}}
@-moz-keyframes marquee {from   { -moz-transform: translate(0%);}99%,to { -moz-transform: translate(-100%);}}
@keyframes marquee {from   { transform: translate(0%);}99%,to { transform: translate(-100%);}}
@media screen and (max-width:640px){
.ledText{overflow: hidden;position: relative;color: #d8cb3d;font-size: 1.8em;line-height: 1;font-weight: bold;background: #;}
}

/* MOVIE */

.video_wrap{width: 100%;margin: 0px;padding: 0px;background: #000;position: relative;overflow: hidden;display: flex;justify-content: center;align-items: center;text-align:center;}
.video_wrap video{width: 100%;height: 650px;object-fit: cover;max-width: 100%;display: block;}
@media screen and (max-width:768px){
.video_wrap video{width: 100%;height: 500px;object-fit: cover;display: block;}
}

.arrow_down a{position: absolute;bottom: 50px;right:0px;left:0px;margin:auto auto;z-index:1;text-align: center;}
.arrow_down a{padding-top: 60px;font-family:"Sawarabi Mincho", serif;font-size: 11px;color: #eee;letter-spacing: 0.5em;text-decoration: none;}
.arrow_down a span{position: absolute;top: 0;left: 50%;}
.arrow_down a span::after{content: "";position: absolute;top: 0;width: 1px;height: 30px;background: #eee;animation: pathmove 2s ease-in-out infinite;opacity:0;}
@keyframes pathmove{0%{height:0;top:0;opacity: 0;}30%{height:30px;opacity: 1;}100%{height:0;top:50px;opacity: 0;}}
@media screen and (max-width: 640px) {
.arrow_down a{position: absolute;bottom: 20px;right:0px;left:0px;margin:auto auto;z-index:8888;text-align: center;}
}
.overlay { width:100%;height:100%;position:absolute;top: 0px;left: 0px;background:url(../js/overlays/07.png) center center;opacity:0.5;}

#movie_catch{padding: 0px 0px;font-family: 'Noto Serif JP', sans-serif;position: absolute;right:0px;left:0px;top:margin:auto auto;z-index:2;}
#movie_catch .mclogo{max-width: 180px;margin: 10px 0;z-index: 2;}
#movie_catch .mctxt1{margin: 0px;padding: 6px 0px;font-size:20px;color: #e8e8e8;letter-spacing:0.6em;font-weight: normal;line-height: 1.2;}
@media only screen and (max-width:640px) {}

.slick-prev, 
.slick-next{position: absolute;top: 42%;cursor: pointer;outline: none;border-top: 2px solid #666;border-right: 2px solid #666;height: 15px;width: 15px;}
.slick-prev{left: -1.5%;transform: rotate(-135deg);}
.slick-next{right: -1.5%;transform: rotate(45deg);}
.slick-dots{padding: 15px 0px 0;text-align:center;}
.slick-dots li{display:inline-block;margin:0 5px;}
.slick-dots button{color: transparent;outline: none;width:10px;height:10px;padding: 0px;display:block;border-radius:50%;background:#ccc;border: none;}
.slick-dots .slick-active button{background:#333;}


/* LOOP */

@keyframes infinity-scroll-left {from {transform: translateX(0);}to {transform: translateX(-100%);}}
_:-ms-lang(x)::-ms-backdrop,

.loop { display: -ms-grid;overflow: hidden;}
.loop_wrap{display: flex;overflow: hidden; padding:10px 0px 0;background-color: rgba(0,0,0,0.);}
ul.loop_slide{display: flex;list-style: none;margin: 0px;padding: 0px;}
ul.loop_slide li{margin: 0px;padding: 20px 15px;}
ul.loop_slide li { width: calc(120vw / 6);}
ul.loop_slide li img{width:100%;max-height:300px;object-fit: cover;overflow: hidden;border-radius: 20px;object-fit: cover;overflow: hidden;}
ul.loop_slide li:nth-child(even){margin: 0px;padding: 50px 15px 20px;background-color: ;}
.loop_left {animation :infinity-scroll-left 95s infinite linear 0.5s both;}
@media only screen and (max-width:1200px) {
ul.loop_slide li { width: calc(100vw / 4);}
}

@media only screen and (max-width:640px) {
ul.loop_slide li{margin: 0px;padding: 10px 5px;}
ul.loop_slide li:nth-child(even){margin: 0px;padding: 30px 10px 20px;background-color: ;}
ul.loop_slide li { width: calc(100vw / 2);}
ul.loop_slide li img{width:100%;max-height:200px;object-fit: cover;overflow: hidden;border-radius: 20px;object-fit: cover;overflow: hidden;}
}


/*  ACCESS
--------------------------------------------------------------------------*/
.access_wrap{padding: 30px 30px 50px;margin: 0px 0px;background : transparent url(../img/access.jpg) no-repeat center top;background-position: 50% 50%;background-size: cover;position: relative;text-align:center;}
.access_wrap h2{padding: 10px 0px ;margin: 0px 0px 20px;position:relative;}
.access_wrap h2{font-size: 1.8em;color: #fff;font-weight: 600;letter-spacing:0.1em;line-height: 1.6;text-align: center;}
.access_wrap h2 span{padding: 10px 0px 0px;font-family: 'Times New Roman', sans-serif;font-size: 16px;color: #fff;font-weight:normal;letter-spacing:0.3em;line-height: 1.5;display: block;}
.access_wrap iframe{width: 100%;height: 450px;border-radius: 10px;filter:grayscale(50%);-webkit-filter:grayscale(50%);vertical-align: top;}
@media only screen and (max-width:640px) {
.access_wrap iframe{width: 100%;height: 350px;border-radius: 10px;filter:grayscale(50%);-webkit-filter:grayscale(50%);vertical-align: bottom;}
}

/*  GROUP
--------------------------------------------------------------------------*/
.group_container{ max-width: 1600px;display: inline-block;vertical-align: top;padding: 10px 0px;}
.group_column{width: 25%;margin:0px;padding: 0px 10px;float: left;position: relative;text-align: center;}
.group_column{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow:hidden;}
.group_column img{max-width: 100%;height: auto;object-fit: cover;overflow: hidden;border-radius: 10px;margin: 0px 0px;padding: 0px;}
@media only screen and (max-width:1850px) {
.group_container{width: 100%;display: inline-block;vertical-align: top;padding: 10px 0px;}
}
@media only screen and (max-width:800px) {
.group_column{width: 50%;margin:0px;padding: 0px 5px 15px;float: left;position: relative;text-align: center;}
}
@media only screen and (max-width:640px) {
.group_wrap::after{background: url("../img/bottom.svg");bottom: -1px;left: 0;content: '';height: 40px;position: absolute;width: 100%;}
}
.group_category{max-width: 180px;background-color:#264004;border-radius: 20px;margin: 0px ;padding: 5px 0px;right:0px;left:0px;margin:auto auto;}
.group_category{font-size: 11px;color: #fff;font-weight: normal;letter-spacing: 1px;text-align: center;}
.group_comme{width: 100%; position: relative;margin: 0px 0 ;padding: 10px 0;}
.group_comme p{overflow: auto; height: 120px;margin: 0;padding: 0 5px 0 0;font-size: 15px;color: #333;font-weight: normal;letter-spacing:3px;line-height: 1.6;text-align: left;}
@media screen and (max-width: 640px) {
.group_comme p{overflow: auto; height: 150px;margin: 0;padding: 0 5px 0 0;font-size: 14px;color: #222;letter-spacing:3px;line-height: 1.6;text-align: left;}
}

/*  COMPANY
--------------------------------------------------------------------------*/
table.company { width: 900px;border-collapse: separate;border-spacing: 0px 5px;right:0px;left:0px;margin:50px auto;}
table.company th { width: 200px;border-bottom: solid 1px #8db44a;padding: 20px 15px;vertical-align: middle;text-align: left;}
table.company th { font-size: 17px; font-weight: normal;letter-spacing:0.25em;color: #222;text-align:left;}
table.company td { border-bottom: solid 1px #ddd;padding: 20px 15px ;vertical-align: middle;text-align: left;}
table.company td { font-size: 17px; font-weight: normal;letter-spacing:0.25em;color: #222;text-align:left;}
table.company td a{ color: #222;text-decoration: none;}
@media screen and (max-width: 1050px) {
table.company { width: 100%;border-collapse: separate;border-spacing: 0px 5px;right:0px;left:0px;margin:30px auto;}
table.company th { width: 100px;border-bottom: solid 1px #8db44a;padding: 20px 10px;vertical-align: middle;text-align: left;}
}
@media screen and (max-width: 640px) {
table.company th { width: 100px;border-bottom: solid 1px #8db44a;padding: 15px 10px;vertical-align: middle;text-align: left;}
table.company th { font-size: 15px; font-weight: normal;letter-spacing:0.25em;color: #222;text-align:left;}
table.company td { border-bottom: solid 1px #ddd;padding: 15px 15px ;vertical-align: middle;text-align: left;}
table.company td { font-size: 15px; font-weight: normal;letter-spacing:0.25em;color: #222;text-align:left;}
}


/* CONATCT
--------------------------------------------------------------------------*/
#contact { max-width:800px;padding: 50px 10px 30px;right:0px;left:0px;margin:auto auto;text-align: center;}
#contact h3 { margin: 0px;padding: 15px 0px;font-size: 20px;color: #222;font-weight: 600;letter-spacing:0.25em;text-align: center;}
#contact p { margin: 0px;padding:10px 0px ;position:relative;}
#contact p { font-size: 16px;color: #222;line-height: 1.6;font-weight: normal;letter-spacing:0.25em;text-align: left;}
#form_wrapper { max-width: 770px;border: 0px solid #c1b693;padding: 20px 10px;position:relative;right:0px;left:0px;margin: 10px auto;}
#form_wrapper h4 { margin: 0px;padding: 20px 0px 10px;font-size: 16px; color: #333;font-weight: normal;letter-spacing:1px;text-align:left;}
#form_wrapper .form_wrap { text-align:left;}
#form_wrapper .txt{ margin:0px;padding: 5px 0px;font-size: 18px;color: #222;font-weight: normal;letter-spacing:1px;line-height: 1.6;text-align: left;position: relative;}
#form_wrapper .enq_txt{ border: solid 1px #c2beba;margin:0px 0 20px;padding: 15px 15px;font-size: 18px;color: #222;font-weight: normal;letter-spacing:1px;line-height: 1.6;text-align: left;position: relative;}
@media screen and (max-width: 640px) {
#form_wrapper { max-width: 800px;border: 0px solid #f0f0f0;padding: 10px 10px;position:relative;right:0px;left:0px;margin: 10px auto;}
#form_wrapper h4 { margin: 0px;padding: 15px 0px 5px;font-size: 14px; font-weight: normal;letter-spacing:1px;color: #333;text-align:left;}
#form_wrapper .txt{ margin:0px;padding: 10px 0px;;font-size: 16px;color: #222;font-weight: normal;letter-spacing:1px;line-height: 1.6;text-align: left;position: relative;}
#form_wrapper .enq_txt{ border: solid 1px #c2beba;margin:0px 0 20px;padding: 15px 15px;font-size: 16px;color: #222;font-weight: normal;letter-spacing:1px;line-height: 1.6;text-align: left;position: relative;}
}


table.contact { width: 900px;margin: 0px; border-collapse: separate;border-spacing: 3px 3px;right:0px;left:0px;margin:auto auto 15px; }
table.contact th { width: 30%;background-color:#;padding: 10px 10px;vertical-align: middle;text-align: left;}
table.contact th { font-size: 15px; color: #222;font-weight: normal;letter-spacing:0.25em;}
table.contact td { width: 70%;background-color:#;padding: 10px 12px ;vertical-align: middle; text-align: left;}
table.contact td { font-size: 15px; color: #333;font-weight: normal;letter-spacing:1px;}
table.contact td p{ margin: 0px ; padding: 10px 0px 0px;font-size: 14px; color: #222;}
@media only screen and (max-width:950px) {
table.contact { width: 100%;margin: 0px 0px; border-collapse: separate;border-spacing: 3px 3px;right:0px;left:0px;margin:20px auto; }
}
@media only screen and (max-width:800px) {
table.contact { width: 100%;}
table.contact th,.contact td { display: block;width: auto;}
table.contact th { padding:10px 0px;font-size: 14px; position: relative;}
table.contact tr:last-child { }
table.contact td { padding:5px 0px;font-size: 14px; width: 100%;box-sizing:border-box;}
}



#agree_wrap { max-width:1000px;background-color:#f3f3f3;padding: 30px 30px ;right:0px;left:0px;margin:20px auto ;text-align: center;}
#agree_wrap .agree_txt { margin: 0px;padding: 10px 0px;font-size: 16px;color: #333;line-height: 1.7;font-weight: normal;letter-spacing:1px;text-align: left;}
#agree_wrap .agree{ padding:10px 0px 0;font-size: 17px;color: #333;line-height: 1.6;font-weight: normal;letter-spacing:1px;text-align: left;}
@media only screen and (max-width:640px) {
#agree_wrap .agree_txt { margin: 0px;padding: 10px 0px;font-size: 14px;color: #333;line-height: 1.7;font-weight: normal;letter-spacing:1px;text-align: left;}
}
.required { background: #9e0903;border-radius:0px;margin-left: 5px;padding:3px 5px ;font-size: 10px;color: #fff;letter-spacing:1px;vertical-align: 2px;}
.optional { background: #333;border-radius:0px;margin-left:5px;;padding:3px 5px ;font-size: 10px;color: #fff;letter-spacing:1px;vertical-align: 2px;}

#thanks { max-width: 100%;background-color:#fff;padding: 10px 10px;right:0px;left:0px;margin:auto auto; text-align: center;}
#thanks h3 { margin: 0px;padding: 15px 0px;font-size: 18px;color: #222;font-weight: normal;letter-spacing:2px;text-align: center;}
#thanks p{ margin:0px;padding: 5px 0px;font-size: 16px;color: #222;font-weight: normal;letter-spacing:1px;line-height: 1.6;text-align: center;position: relative;}
@media only screen and (max-width:640px) {
#thanks p{ margin:0px;padding: 5px 0px;font-size: 16px;color: #222;font-weight: normal;letter-spacing:1px;line-height: 1.6;text-align: left;position: relative;}
}


/*  FORM
--------------------------------------------------------------------------*/
input{ background-color: #fdfdfd;border: 1px solid #e7e1e3;border-radius: 0px;font-family: inherit;font-size:120%; color:#222;margin: 0px 0px;padding: 12px 10px;}
input{ -webkit-appearance: none; }
input:focus{ background-color: #fff;-webkit-appearance: none;outline: none;}
input{ width:100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}

.input_score{ width:100px;}

textarea{ font-family: inherit;font-size:120%;margin: 0px 0px;padding: 10px 10px;background-color: #fdfdfd;border: 1px solid #e7e1e3;border-radius: 3px;}
textarea{ width:100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
textarea{ overflow: auto; resize: none;-webkit-appearance: none;}
textarea:focus{ background-color: #fff;outline: none;}

select{ margin: 0px 0px;padding: 12px 10px;font-family: inherit;font-size:16px; color: #222;}
select{ width:100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
select{ background-color: #fdfdfd;border: 1px solid #e7e1e3;border-radius: 0px;-webkit-appearance: none;}
select{ background: #fdfdfd url(../img/select_arrow.png) no-repeat ;background-position: right 12px center;}
select:focus { background: #fff url(../img/select_arrow.png) no-repeat ;background-position: right 12px center;outline: none;}
@media only screen and (max-width:800px) {
select { width:100%;font-size:100%; color: #222;padding: 10px 10px;margin: 0px 0px ;border-radius: 0px;}
}

input.button { max-width:380px;background:#222;margin: 30px 0px 0px;padding: 18px 0px;border: none;border-radius: 0px;}
input.button { font-family: inherit;font-size:15px;color: #fff;font-weight:;letter-spacing: 0.25em;text-align: center;-webkit-appearance: none;}
input.button:hover { color: #fff;}
input.button:active { position:relative;top:1px;}

.button-group { max-width: 100%;display: flex;}
.button-group .item {width: 100%;}
.button-group .radio-button {position: absolute;width: 1px;height: 1px;opacity: 0;}
.button-group 
.radio-button + label { padding: 14px 5px;cursor: pointer;border: 1px solid #e7e1e3;margin-right: -2px;font-size:14px;color: #555;letter-spacing: 1px;background-color: #fff;display: block;text-align: center;}
.button-group .item:first-of-type .radio-button + label{border-top-left-radius:0px;border-bottom-left-radius: 0px;}
.button-group .item:last-of-type .radio-button + label {border-top-right-radius: 0px;border-bottom-right-radius: 0px;}
.button-group .radio-button:checked + label {background-color: #222;color: #fff;}
@media only screen and (max-width:800px) {
.button-group { max-width: 100%;display: flex;}
.button-group .radio-button + label {padding: 12px 0px;cursor: pointer;border: 1px solid #e7e1e3;margin-right: -2px;font-size:12px;color: #555;background-color: #fff;display: block;text-align: center;}
}

#photo_send label {display: inline-block;position: relative;background: #222;padding: 15px 0px;border-radius: 0px;width: 100%;}
#photo_send label {background:linear-gradient(to right, #3c8adf 0%, #351454 100%); border-radius: 0px;}
#photo_send label {font-size:15px;color:#fff;letter-spacing: 1px;}
#photo_send label:hover {background: #000;}
#photo_send label input {position: absolute;left:0;top:0;opacity: 0;width: 100%;height: 100%;}
#photo_send .filename { margin:0px;padding: 10px 0px 20px;font-size:15px;color:#ff002a;letter-spacing: 0px;text-align: left;}


/*  検索フォーム-チェックボックス
--------------------------------------------------------------------------*/
input[type="checkbox"] {
    border: 1px solid #aaaaaa;
    vertical-align: middle;
    -webkit-appearance: none;
    position: relative;
    margin-right: 10px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    -webkit-box-sizing: border-box;width: 28px;height: 28px;
    /*Other Browser*/background: #e2e2e2;
    /*For Old WebKit*/background: -webkit-gradient(linear, left top, left bottom,color-stop(0.00, #ffffff),color-stop(1.00, #e2e2e2));
    /*For Modern Browser*/ background: linear-gradient(to bottom,#ffffff 0%,#e2e2e2 100%);
}

input[type="checkbox"]:checked { background: #222;border: 1px solid #336600;}
input[type="checkbox"]:checked:before {position: absolute;left: 1px;top: 16px;display: block;-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .5);content: "";width: 10px;height: 4px;background: #fff;-webkit-transform: rotate(45deg);-webkit-transform-origin: right center;}
input[type="checkbox"]:checked:after {display: block;position: absolute;left: 9px;top: 16px;content: "";-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .5);width: 16px;height: 4px;background: #fff;-webkit-transform: rotate(-53deg);-webkit-transform-origin: left center;}


/*  POLICY
--------------------------------------------------------------------------*/
#policy { max-width: 800px;padding: 40px 10px;text-align: left;right:0px;left:0px;margin:auto auto;}
#policy h3 { font-size: 16px;color: #333;font-weight: normal;letter-spacing:2px;line-height: 1.6;text-align:left;}
#policy h3 { padding: 40px 0px 10px; margin-bottom: 0.3rem;background-image: linear-gradient(90deg, #96d5b7 0 20%, #dedede 20%);background-repeat: no-repeat;background-size: 100% 1%; background-position: bottom;}
#policy p { margin: 0px;padding: 5px 0px 0px;font-size: 15px;color: #333;line-height: 1.7;font-weight: normal;letter-spacing:2px;text-align: left;}
@media screen and (max-width: 640px) {
#policy { max-width: 100%;padding: 30px 10px;text-align: left;right:0px;left:0px;margin:auto auto;}
#policy h3 { font-size: 15px;color: #222;font-weight: normal;letter-spacing:2px;line-height: 1.6;text-align:left;}
#policy p { margin: 0px;padding: 5px 0px 0px;font-size: 14px;color: #333;line-height: 1.7;font-weight: normal;letter-spacing:2px;text-align: left;}
}

/*  FOOTER
--------------------------------------------------------------------------*/
.footer{background-color: #264004;background:linear-gradient(to bottom, #5e862a 0%, #264004 100%);margin: 0px 0px;padding: 30px 15px ;position:relative;text-align: center;}
.footer{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}





.navi_column_container { width: 1000px;display: inline-block;padding: 10px 0px;vertical-align: top;right:0px;left:0px;margin:auto auto;}
.navi_column { width: 50%;margin:0px;padding: 0px 0px;float: left;text-align: center;box-sizing: border-box;}
.navi_column:last-child { border-left: 1px solid #5e862a;}
@media screen and (max-width: 1450px) {
.navi_column_container { width: 100%;display: inline-block; padding: 10px 0px;right:0px;left:0px;margin:auto auto;}
}
@media screen and (max-width: 640px) {
.navi_column_container { width: 100%;display: inline-block; padding: 10px 0px;right:0px;left:0px;margin:auto auto;}
.navi_column { width: 100%;margin:0px;padding: 0px 0;position: relative;text-align: center; }
.navi_column:last-child { border-left: none;}
}

ul.navi_address { margin: 0px ;padding: 10px 0px;display: inline-block;}
ul.navi_address li { padding: 3px 0px;letter-spacing:0.1em;}
ul.navi_address li { font-size: 15px;color: #ededed;font-weight: normal;letter-spacing: 0.1em;line-height: 1.5;}
ul.navi_address li a{ color: #ededed;text-decoration: none;}
ul.navi_address h3 { padding: 10px 0px;font-size: 20px;color: #ededed;line-height: 1.5;font-weight: normal;letter-spacing:0.1em;}
ul.navi_address img{ width: 150px;margin: 0px 0 10px;}
@media screen and (max-width: 640px) {
ul.navi_address { margin: 0px ;padding: 10px 10px;display: inline-block;}
ul.navi_address li{ font-size: 14px;color: #ededed;font-weight: normal;letter-spacing: 0.25em;line-height: 1.5;text-align: center;}
ul.navi_address h3{  padding: 5px 0px;font-size: 14px;color: #ededed;line-height: 1.5;font-weight: bold;letter-spacing:0.25em;;}
}

#navi { max-width:500px;padding: 10px 10px;right:0px;left:0px;margin:auto auto;}
#navi h3 { padding: 10px 0px 0px;font-size: 15px;color: #ededed;font-weight:normal;letter-spacing:1px;line-height: 1.6;text-align: center;}
#navi .navi_tel{ margin: 0px; padding: 0px 0px;font-family: 'Oswald', sans-serif;font-size:3.0em;color: #ededed;font-weight: normal;letter-spacing:1px;text-align: center;}
#navi .navi_tel::before {content: ''; display: inline-block; background-image: url(../img/tel.png); vertical-align: -3px; margin-right: 10px;width: 42px;height: 42px;background-size: contain;}
#navi .navi_txt { margin: 0px;padding: 0px;font-size: 15px;color: #ededed;font-weight:normal;letter-spacing:0.2em;line-height: 1.6;}
#navi a{ color: #ededed;text-decoration:none;}

@media screen and (max-width: 640px) {
#navi h3 { padding: 10px 0px 0px;font-size: 14px;color: #ededed;font-weight:normal;letter-spacing:1px;line-height: 1.6;text-align: center;}
#navi .navi_tel{ margin: 0px; padding: 0px 0px;font-family: 'Oswald', sans-serif;font-size:2.2em;color: #ededed;font-weight: normal;letter-spacing:1px;text-align: center;}
#navi .navi_tel::before {content: ''; display: inline-block; background-image: url(../img/tel.png); vertical-align: -4px; margin-right: 10px;width: 36px;height: 36px;background-size: contain;}
#navi .navi_txt { margin: 0px;padding: 0px;font-size: 14px;color: #ededed;font-weight:normal;letter-spacing:0.2em;line-height: 1.6;}
}

ul.foot_menu { max-width: 800px;display: inline-block;margin: 0px;padding: 10px 0px;}
ul.foot_menu li { padding: 0px 15px 10px;float: left;}
ul.foot_menu li a{ font-size: 14px;color: #fff;line-height: 1.6;color: #fff;text-decoration: underline;}
ul.foot_menu li a:hover { text-decoration: none;}


.copy{margin: 0px ;padding: 10px 10px;text-align: center;}
.copy{font-size:13px;color: #e5e5e5;line-height: 1.6;font-weight:normal;letter-spacing:0.05em;}
.copy a{color: #e5e5e5;text-decoration: none;}
.copy a:hover{text-decoration: underline;}
@media screen and (max-width: 640px) {
.copy{margin: 0px ;padding: 20px 10px ;text-align: center;}
.copy{font-size:12px;color: #e5e5e5;line-height: 1.6;font-weight:normal;letter-spacing: 1px;}
}

/*  FOOT-NAVI
--------------------------------------------------------------------------*/
@media screen and (min-width:640px) {
#foot_content{display: none;}
.foot_navi_wrap{display: none;}
ul.foot_navi{display: none;}
}
#foot_content{padding: 50px 0 0 0;}
.foot_navi_wrap{width: 100%;background: #;margin:0px 0px; padding: 0px 0px;position: fixed;bottom: 0;text-align: center;z-index: 8888;}
@media screen and (max-width: 640px) {
ul.foot_navi{width:100%;border-top: 1px solid #274901;margin: 0px ;padding: 0px 0px;display: inline-block;vertical-align:bottom;z-index: ;}
ul.foot_navi li{width: 50%;border-left: 1px solid #274901; float:left; margin: 0px 0px 0px -1px;text-align:center; position: relative;z-index: 8888;}
ul.foot_navi li a{background-color:#2c5401;border-radius:0 0 ;}
ul.foot_navi li a{margin: 0px;padding: 5px 0px;display: block; text-decoration: none;text-align:center;}
ul.foot_navi li img{max-width: 100%;height: auto;z-index: 8888;}
}










