


/*  株式会社 丸智
--------------------------------------------------------------------------*/
/*  https://marutomo-hokkaido.com
--------------------------------------------------------------------------*/

@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;}






/*  HEAD
--------------------------------------------------------------------------*/
.header{ background-color: rgba(0,0,0,0.0);position:absolute;top: 0px;z-index: 8888;}
.header{ width: 100% ;height: 80px;padding: 0px 0px;}
.head_logo{ max-width: 200px;position:absolute;top: 30px;left: 30px;z-index: 8888;}



	
/*メニューボタン*/

.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: #aaaaaa;}
.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: #aaaaaa;}
.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;width: 100%;height: 100vh;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:200px;margin: 10px 0; }

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: 7px 0px;display: block; text-decoration: none;text-align:center;}
ul.menu_sp li a { font-family: Century Gothic, sans-serif;font-size: 20px;color: #aaaaaa;font-weight:;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: 16px;color: #aaaaaa;font-weight:;letter-spacing:0.15em;transition: all .3s;}
}



/* ナビメニュー */

ul.navi_menu { width: 100%;margin: 0px 0px;padding: 0px 20px ;display: inline-block;background-color: #fff;border-top: 0px solid #f8f8f8;border-bottom: 1px solid #f8f8f8;vertical-align:bottom;z-index:3;}
ul.navi_menu li { height: 50px;background-color:#;border-left: 1px solid #f8f8f8; float:left; margin: 0px 0px 0px -1px;text-align:center; position: relative;}
ul.navi_menu li a { margin: 0px;padding: 15px 25px;display: block; text-decoration: none;text-align:center;}
ul.navi_menu li:last-child { border-right: 1px solid #f8f8f8;margin: 0px 0px 0px ;}
ul.navi_menu li a { font-family:"Sawarabi Mincho", serif;font-size: 13px;color: #222;font-weight:normal;letter-spacing:0px;}
ul.navi_menu li a:hover { background-color: rgba(0,0,0,1);color: #fff; }
@media screen and (max-width: 1250px) {
ul.navi_menu { width: 100%;}}
@media only screen and (max-width:640px) {
ul.navi_menu { display: none;}}
.navi_link{position: relative;transition: all 0.2s ease-in-out;display: block;color: #000;font-size: 16px;text-decoration: none;margin: 0px;padding: 0px 0px;}
.navi_link.is-active{ background-color:#000;color: #fff;}
.navi_link.is-active::before{ padding: 0px;content: ""; position: absolute;top: 0;left: 0;background-color: #000;width: 100%;height: 100%; z-index: -1;}


/*  TOP
--------------------------------------------------------------------------*/
.wrapper { max-width: 840px;margin: 0px;padding:0px;overflow:hidden;position: relative;right:0px;left:0px;margin:auto auto;text-align:center;}

.main_wrap { margin: 0px;padding: 10px 10px;overflow-y: hidden;position: relative;text-align:center;}
@media only screen and (max-width:640px) {
.main_wrap { margin: 0px;padding: 10px 10px;overflow:hidden;position: relative;text-align:center;}
}

.title_wrap { margin: 20px 0 ;height: 400px;padding: 0px;position: relative;}
.title01::after { content: '';display: block;position: absolute;top: 0px;right: 0;width: 70%;height: 400px;z-index: -1;border-radius: 0px 0 0 20px;}
.title01::after { background: rgba(0, 0, 0, 0) url(../img/title01.jpg) no-repeat scroll center top / cover ; text-align: center;}
.title02::after { content: '';display: block;position: absolute;top: 0px;right: 0;width: 70%;height: 400px;z-index: -1;border-radius: 0px 0 0 20px;}
.title02::after { background: rgba(0, 0, 0, 0) url(../img/title02.jpg) no-repeat scroll center top / cover ; text-align: center;}


.title_wrap h2 { margin: 0px;padding: 0px 0px;position:absolute;top: 40%;left: 30px;}
.title_wrap h2 { font-family: Century Gothic, sans-serif;font-size:2.4em;color: #aaaaaa;font-weight:normal;letter-spacing:0.15em;text-align: center;}
.title_wrap h2 span { padding: 0px 0px 0px 20px;font-family: 'Noto Sans JP', sans-serif;font-size: 15px;color: #aaaaaa;font-weight:normal;letter-spacing:0.15em;}
.title_wrap h2 span:before { content:" / ";}
@media only screen and (max-width:640px) {
.title_wrap { margin: 20px 0 ;height: 300px;padding: 0px;position: relative;}
.title01::after { content: '';display: block;position: absolute;top: 0px;right: 0;width: 60%;height: 300px;z-index: -1;border-radius: 0px 0 0 20px;}
.title01::after { background: rgba(0, 0, 0, 0) url(../img/title01.jpg) no-repeat scroll center top / cover ; text-align: center;}
.title02::after { content: '';display: block;position: absolute;top: 0px;right: 0;width: 60%;height: 300px;z-index: -1;border-radius: 0px 0 0 20px;}
.title02::after { background: rgba(0, 0, 0, 0) url(../img/title02.jpg) no-repeat scroll center top / cover ; text-align: center;}

.title_wrap h2 { margin: 0px;padding: 0px 0px;position:absolute;top: 40%;left: 20px;}
.title_wrap h2 { font-size:2.0em;color: #aaaaaa;font-weight:normal;letter-spacing:0.05em;text-align: left;}
.title_wrap h2 span { display: block;padding: 0px 0px 0px;font-size: 14px;color: #aaaaaa;font-weight:normal;letter-spacing:0.05em;line-height: 1.5;}
.title_wrap h2 span:before { content:" / ";}
}




.mtl{ position: relative; padding: 15px 0px;font-family: 'Noto Serif JP', sans-serif;text-align:center; }
.mtl_tl{ position: relative;display: block; margin: 0px;padding: 0px 0px;font-size: 18px;color: #333;font-weight:normal;letter-spacing:2px;}
.mtl_sub { position: relative;display: inline-block; margin: 0px;padding: 0px 40px;font-size: 15px;color: #333;font-weight:normal;letter-spacing:1px;}
.mtl_sub:before, .mtl_sub:after {content: '';position: absolute;top: 50%;display: inline-block;width: 30px; height:1px;background-color: #d7d7d7;}
.mtl_sub:before {left:0;}
.mtl_sub:after {right: 0;}


/* アニメーション */

.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;}





/* INFO */

.info_wrap { background-image: url(../img/info.jpg);background-size: cover;background-position: 50% 50%;-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent;}
.info_wrap { height: 500px;padding: 30px 0px;position: relative;display: flex;justify-content: center;align-items: center;overflow: hidden;}
.info_wrap span{ font-size: 30rem;font-weight: bold;}
.info_wrap:before {content: "";background-image: inherit;background-size: cover;background-position: 50% 50%;position: absolute;top: 0;right: 0;left: 0;bottom: 0;margin:auto auto;z-index: -2;}
@media screen and (max-width: 640px) {
.info_wrap { height: 200px;}
.info_wrap span{ font-size: 9rem;font-weight: bold;}
}


/* SERVICE */

.service_wrap { margin: 0px;padding: 40px 10px;overflow-y: hidden;position: relative;text-align:center;}
.service_wrap { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow: hidden;}
@media only screen and (max-width:640px) {
.service_wrap { margin: 0px;padding: 10px 10px;overflow:hidden;position: relative;text-align:center;}}

#concept { max-width:800px;font-family: 'Noto Serif JP', sans-serif;padding: 20px 10px ;right:0px;left:0px;margin:auto auto;text-align: center;}
#concept h3 { margin: 0px;padding: 10px 0px;position:relative;}
#concept h3 { font-size: 1.5em;color: #333;line-height: 1.6;font-weight: normal;letter-spacing:1px;text-align: center;}
#concept p { margin: 0px;padding:10px 0px ;position:relative;font-size: 15px;color: #333;line-height: 1.8;font-weight: normal;letter-spacing:0.15em;text-align: center;}
@media screen and (max-width:640px){
#concept h3 { font-size: 1.3em;color: #333;line-height: 1.6;font-weight: normal;letter-spacing:1px;text-align: center;}
#concept p { margin: 0px;padding:10px 0px ;position:relative;font-size: 15px;color: #333;line-height: 1.8;font-weight: normal;letter-spacing:0.15em;text-align: left;}
}


#service { max-width:800px;font-family: 'Noto Serif JP', sans-serif;padding: 20px 10px ;right:0px;left:0px;margin:auto auto;text-align: center;}
#service h3 { margin: 0px 0px;padding: 10px 0px;position:relative;}
#service h3 { font-size: 1.5em;color: #333;line-height: 1.6;font-weight: normal;letter-spacing:1px;text-align: center;}
#service p { margin: 0px;padding:10px 0px ;position:relative;}
#service p { font-size: 15px;color: #333;line-height: 1.8;font-weight: normal;letter-spacing:0.15em;text-align: center;}

ul.service { max-width: 1300px;margin: 0px;padding: 10px 0px;display: flex;flex-wrap: wrap;right:0px;left:0px;margin:auto auto;}
ul.service li { width: 25%;float: left;text-align: center; padding: 10px; position:relative;}
ul.service li { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
ul.service li img { width: auto;height: 60px;border-radius:0px;object-fit: cover;overflow: hidden;margin: 0px 0px;-webkit-transition: all .3s;transition: all .3s;}
ul.service li img:hover { transition: all 0.2s ease-in-out 0.1s; transform: translateY(-7px);}
ul.service li h3 { font-family: 'Noto Serif JP', sans-serif;margin: 0px;padding: 15px 0px 0px;font-size: 15px;color: #333;font-weight: normal;letter-spacing:0.15em;line-height: 1.6;text-align:center;}
@media screen and (max-width:640px){
ul.service li { width: 50%;float: left;text-align: center; padding: 10px; position:relative;}
ul.service li h3 { font-family: 'Noto Serif JP', sans-serif;margin: 0px;padding: 15px 0px 0px;font-size: 14px;color: #333;font-weight: normal;letter-spacing:0.15em;line-height: 1.6;text-align:center;}
}

.contractor_wrap { margin: 0px;padding: 80px 10px ;background : transparent url(../img/contractor.jpg) no-repeat center top;background-position: 50% 50%;background-size: cover;position: relative;text-align:center;}
.contractor_wrap { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow: hidden;}


#contractor { max-width:800px;padding: 40px 10px ;right:0px;left:0px;margin:auto auto;text-align: center;}
#contractor h3 { display:inline-block;border: 3px solid #fff;margin: 0px 0px;padding: 15px 30px;position:relative;}
#contractor h3 { font-size: 1.8em;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:0.15em;text-align: center;}
#contractor p { margin: 5px;padding:10px 0px ;position:relative;font-size: 16px;color: #fff;line-height: 1.8;font-weight: normal;letter-spacing:3px;text-align: left;}
@media screen and (max-width: 640px) {
#contractor h3 { display:inline-block;border: 3px solid #fff;margin: 0px 0px;padding: 15px 30px;position:relative;}
#contractor h3 { font-size: 1.0em;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:0.15em;text-align: center;}
#contractor p { font-size: 14px;color: #fff;line-height: 1.8;font-weight: ;letter-spacing:3px;text-align: left;}}


/* CONTACT */

.contact_wrap { margin: 0px 0px; padding: 40px 20px;background-color: rgba(242,242,242,1.0);position: relative;text-align: center; }


/* 動画 */

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

.overlay { width:100%;height:100%;position:absolute;top: 0px;left: 0px;background:url(../js/overlays/07.png) center center;opacity:0.5;z-index:3;}

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

.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;}}



/* ABOUT */

.about_wrap { width:100%;padding:0px;right:0px;left:0px;margin:auto auto; overflow: hidden;position: relative;text-align: center;}
.about_wrap { -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
@media screen and (max-width: 850px) {
.about_wrap { width:100%;right:0px;left:0px;margin:auto auto;}
}

.about_column{width: 100%;padding: 10px 10px;display: flex;align-items: center;}
.about_column { -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
.about_left{ width: 40%;background: #;display: flex;justify-content: end;position: relative;padding: 0px 0px;}
.about_right{ width: 60%;text-align:center;background: #;padding: 10px 10px;}
@media only screen and (max-width:640px) {
.about_column { flex-flow: column-reverse;}
.about_left,.about_right { width: 100%;box-sizing: border-box;text-align: center;}
}

.about_video_wrap { margin: 0px;padding: 0px;height: 500px;overflow: hidden;z-index:2;border-radius: 0px 20px 0px 0px;}
.about_video video { width: 100%;height: 100vh;margin: auto;max-height: 100%;max-width: 100%;object-fit: cover;display: block;}
@media only screen and (max-width:640px) {
.about_video_wrap { margin: 0px;padding: 0px;height: 350px;overflow: hidden;z-index:2;border-radius: 0px 20px 0px 0px;}
}
#about { max-width:700px;padding: 30px 10px ;right:0px;left:0px;margin:auto auto;text-align: center;}
#about h3 { margin: 0px;padding: 10px 0px;position:relative;}
#about h3 { font-size: 1.5em;color: #333;line-height: 1.6;font-weight: normal;letter-spacing:0.1em;text-align: center;}
#about p { max-width:650px;padding:10px 0px;font-size: 20px;color: #333;line-height: 1.8;font-weight: normal;letter-spacing:0.15em;position:relative;right:0px;left:0px;margin:auto auto; text-align: left;}


/* COMPANY */

table.company { width: 1000px;border-collapse: separate;border-spacing: 0px 5px;right:0px;left:0px;margin:20px auto;}
table.company th { width: 200px;border-bottom: solid 1px #f1ede8;padding: 20px 15px;vertical-align: middle;text-align: left;}
table.company th { font-size: 17px; font-weight: normal;letter-spacing:0.15em;color: #333;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.15em;color: #333;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:20px auto;}
table.company th { width: 200px;border-bottom: solid 1px #f1ede8;padding: 20px 10px;vertical-align: middle;text-align: left;}
}

@media screen and (max-width: 640px) {
table.company th { width: 100px;border-bottom: solid 1px #f1ede8;padding: 20px 10px;vertical-align: middle;text-align: left;}
table.company th { font-size: 15px; font-weight: normal;letter-spacing:0.15em;color: #333;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: 15px; font-weight: normal;letter-spacing:0.15em;color: #333;text-align:left;}
}

/* ギャラリー */

.gallery_wrap { width:100%;right:0px;left:0px;margin:auto auto; overflow: hidden;position: relative;text-align: center;}
.gallery_wrap { width:100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
@media screen and (max-width: 850px) {
.gallery_wrap { width:100%;right:0px;left:0px;margin:auto auto;}}

ul.gallery { margin:0px;padding: 0px 0px;right:0px;left:0px;margin:auto auto;position: relative;}
ul.gallery li{margin: 0px;padding: 0px 0px;list-style:none;}
ul.gallery li img{ width:100%;height: 800px;border-radius:0px;object-fit: cover;overflow: hidden;}
@media screen and (max-width: 640px) {
ul.gallery li img{ width:100%;height: 600px;border-radius:0px;object-fit: cover;overflow: hidden;}
}

.slick-prev, 
.slick-next {position: absolute;z-index: 3;top: 42%; cursor: pointer;outline: none;border-top: 2px solid #ccc;border-right: 2px solid #ccc;height: 25px;width: 25px;}
.slick-prev {left:2.5%;transform: rotate(-135deg);}
.slick-next {right:2.5%;transform: rotate(45deg);}

ul.gallery_btn { margin:0px;padding: 0px 0px;}
ul.gallery_btn li{ width: 20%!important;text-align: center;cursor: pointer;outline: none;}
ul.gallery_btn li img { width: 100%;height: 200px;border-radius:0px;object-fit: cover;overflow: hidden;margin: 0px ;}
ul.gallery_btn li img{opacity: 0.4;}
ul.gallery_btn li.slick-current img{opacity: 1;}
ul.gallery_btn .slick-track {transform: unset !important;}
@media screen and (max-width: 640px) {
ul.gallery_btn li img { width: 100%;height: 100px;border-radius:0px;object-fit: cover;overflow: hidden;margin: 0px ;}
}

#gallery_catch { font-family: 'Noto Serif JP', sans-serif;padding: 0px ;position: absolute;right:0px;left:0px;top:30%;margin:auto auto;z-index:3;}
#gallery_catch .gclogo{ max-width: 200px;margin: 10px 0;}
#gallery_catch .gctxt1 { margin: 0px;padding: 8px 0px;font-size:26px;color: #e8e8e8;letter-spacing:0.2em;font-weight: normal;line-height: 1.2; position: relative;z-index:3;}
#gallery_catch .gctxt2 { margin: 0px;padding: 8px 0px;font-size:30px;color: #e8e8e8;letter-spacing:0.1em;font-weight: normal;line-height: 1.2; }
@gallery_catch only screen and (max-width:640px) {
#gallery_catch { font-family: 'Noto Serif JP', sans-serif;padding: 0px;position: absolute;right:0px;left:0px;top:15%;margin:auto auto;z-index:3;}
#gallery_catch .gclogo{ max-width: 180px;margin: 10px 0;}
#gallery_catch .gctxt1 { margin: 0px;padding: 5px 0px;font-size:18px;color: #fff;letter-spacing:2px;font-weight: normal;line-height: 1.2; z-index:3;}
#gallery_catch .gctxt2 { margin: 0px;padding: 8px 0px;font-size:18px;color: #e8e8e8;letter-spacing:0.1em;font-weight: normal;line-height: 1.2;z-index:3; }}



/* CONATCT
--------------------------------------------------------------------------*/
.contact_block {  background-color: rgba(255,255,255,1.0);border: 1px solid #e7e0d2;padding: 15px 15px ;right:0px;left:0px;margin: 0px auto 20px; }
.contact_caution { font-size: 14px;color: #222;font-weight: normal;letter-spacing:1px;line-height: 1.6;text-align: center;}
.contact_caution a{ color: #638fd4;font-weight: normal;text-decoration: underline;}
.contact_caution a:hover { text-decoration: none; }

#contact { max-width:700px;padding: 50px 10px ;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.7;font-weight: normal;letter-spacing:0.25em;text-align: left;}


table.top_contact { width: 900px;border-collapse: separate;border-spacing: 5px 5px;margin: 10px auto;}
table.top_contact th { width: 150px;padding: 5px 5px;vertical-align: middle;}
table.top_contact th { font-size: 14px; color: #222;font-weight: normal;letter-spacing:0.1em;text-align:left;}
table.top_contact td { padding: 5px 5px ;vertical-align: middle;text-align: left;}
@media only screen and (max-width:1050px) {
table.top_contact { width: 100%;}
}
@media only screen and (max-width:1000px) {
table.top_contact { width: 100%;}
table.top_contact th,.top_contact td { display: block;width: auto;}
table.top_contact th { padding: 15px 0px 5px ;position: relative;}
table.top_contact tr:last-child { }
table.top_contact td { padding: 0px 0px;}
}

table.contact { width: 900px;margin: 0px; border-collapse: separate;border-spacing: 3px 3px;right:0px;left:0px;margin:30px auto; }
table.contact th { width: 30%;background-color:#;padding: 7px 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: 7px 10px ;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;}
}

table.thanks { width: 800px;margin: 0px; border-collapse: collapse;right:0px;left:0px;margin:10px auto 30px; }
table.thanks th { width: 30%;background-color:#f9f6f3;border:1px solid #d7d7d7;padding: 15px 15px;vertical-align: middle;text-align: left;}
table.thanks th { font-size: 15px; color: #333;font-weight: normal;letter-spacing:0.15em;}
table.thanks td { width: 70%;border:1px solid #d7d7d7;padding: 15px 15px ;vertical-align: middle; text-align: left;}
table.thanks td { font-size: 15px; color: #333;font-weight: normal;letter-spacing:0.15em;}
@media only screen and (max-width:800px) {
table.thanks { width: 100%;margin: 0px; border-collapse: collapse;right:0px;left:0px;margin:10px auto 30px; }
}

#agree_wrap { max-width:900px;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: 15px;color: #333;line-height: 1.7;font-weight: normal;letter-spacing:0.15em;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-size:16px; color:#222;margin: 0px 0px;padding: 10px 10px;}
input{ -webkit-appearance: none; font-family: inherit;}
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;}

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

select{ margin: 0px 0px;padding: 10px 10px;font-size:15px; 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;font-family: inherit;-webkit-appearance: none;}
select{ background: #fdfdfd url(../img/select_arrow.png) no-repeat ;background-position: right 5px center;}
select:focus { background: #fff url(../img/select_arrow.png) no-repeat ;background-position: right 5px 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:#0b1d28;margin: 20px 0px;padding: 18px 0px;border: none;border-radius: 0px;}
input.button { font-family: 'Noto Serif JP', sans-serif;font-size:14px;color: #fff;font-weight:normal;letter-spacing: 0.15em;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;}
}

/*  検索フォーム-チェックボックス
--------------------------------------------------------------------------*/
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: #000;margin: 0px 0px;padding: 60px 15px ;position:relative;text-align: center;}
.footer { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
.foot_logo { max-width: 200px;}
ul.address { display: inline-block;margin: 0px 0px;padding: 10px 0px;}
ul.address li { padding: 2px 0px;letter-spacing:0px;}
ul.address li { font-size: 14px;color: #fff;font-weight: normal;letter-spacing: 1px;line-height: 1.5;text-align: center;}
ul.address li a{color: #fff;text-decoration: none;}
@media screen and (max-width: 640px) {
ul.address { margin: 0px ;padding: 10px 0px;display: inline-block;}
ul.address li{font-size: 13px;color: #fff;font-weight: normal;letter-spacing: 0px;line-height: 1.5;text-align: left;}
}
.foot_tel{ margin: 0px; padding: 0px 0px;font-family: 'Oswald', sans-serif;font-size:3.6rem;color: #fff;font-weight: normal;letter-spacing:1px;text-align: center;}
.foot_tel a { color: #fff;text-decoration: none;}
.foot_tel::before {content: ''; display: inline-block; background-image: url(../img/icon_tel.png); vertical-align: -5px; margin-right: 10px;width: 40px;height: 40px;background-size: contain;}
@media screen and (max-width: 640px) {
.foot_tel{ margin: 0px; padding: 0px 0px;font-family: 'Oswald', sans-serif;font-size:2.5rem;color: #fff;font-weight: normal;letter-spacing:1px;text-align: center;}
.foot_tel a { color: #fff;text-decoration: none;}
.foot_tel::before {content: ''; display: inline-block; background-image: url(../img/icon_tel.png); vertical-align: -5px; margin-right: 10px;width: 30px;height: 30px;background-size: contain;}
}

.copy{ margin: 0px ;padding: 30px 10px;text-align: center;}
.copy{ font-size:13px;color: #e5e5e5;line-height: 1.6;font-weight:normal;letter-spacing:1px;}
.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 #222;margin: 0px ;padding: 0px 0px;display: inline-block;vertical-align:bottom;z-index: 8888;}
ul.foot_navi li { width: 50%;border-left: 1px solid #222; float:left; margin: 0px 0px 0px -1px;text-align:center; position: relative;}
ul.foot_navi li a { background-color:#000;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: ;}
}



