@charset "UTF-8";

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,
b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend, caption,article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;box-sizing: border-box;position: relative;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;box-sizing: border-box;position: relative;}
body {line-height: 1;box-sizing:border-box;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: '';content: none;}
table {border-collapse: collapse;border-spacing: 0;box-sizing: border-box;}
td,th {padding: 0;box-sizing: border-box;}
a { text-decoration: none; color:inherit;}
a.over,button.over{	transition: all ease-out 0.3s; }
a.over:hover,button.over:hover{ opacity: 0.6; }
.clearfix:after{content:'';display:block;clear:both;height:0;}
img{ border: none;}
button,input,optgroup,select,textarea {color: inherit;font: inherit;margin: 0;box-sizing: border-box;}
button {overflow: visible;}
button,select {text-transform: none;}
button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance: button;cursor: pointer;}
button[disabled],html input[disabled] {cursor: default;}
button::-moz-focus-inner,input::-moz-focus-inner {border: 0;padding: 0;}
input {line-height: normal;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto;}
input[type="search"] {-webkit-appearance: textfield;-moz-box-sizing: content-box;-webkit-box-sizing: content-box;box-sizing: content-box;}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
fieldset {border: 1px solid #c0c0c0;margin: 0 2px;padding: 0.35em 0.625em 0.75em;}
legend {border: 0;padding: 0;}
textarea {overflow: auto;}
optgroup {font-weight: bold;}
html {-webkit-overflow-scrolling: touch;font-size: 100%;}
body{ 
  font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  font-size:13px;
  font-size:1.3rem; 
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  color:#222;
  /* animation: fadeIn 1.5s ease 0s 1 normal;
  -webkit-animation: fadeIn 1.5s ease 0s 1 normal; */
}
*{ min-height: 0;min-width: 0;box-sizing:border-box;}
img{ display: block; max-width: 100%;}
.fnt-mncho{font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;}
@keyframes fadeIn {0% {opacity: 0}100% {opacity: 1}}
@-webkit-keyframes fadeIn {0% {opacity: 0}100% {opacity: 1}}
table{border-collapse: collapse; border-spacing:0;}

.r-over:hover{opacity:.7;filter:alpha(opacity=70);}
.mont{font-family:'Montserrat', sans-serif;}
.roboto{font-family:'Roboto', sans-serif;}
.raleway{font-family:'Raleway', sans-serif;}
.oswald{font-family:'Oswald', sans-serif;}

#is-loading {display: block;position: fixed;width: 100%;height: 100%;top: 0px;left: 0px;background: #fff;z-index: 9000;}
#loading {display: none;position: fixed;top: 0%;width: 100%;height: 100%;text-align: center;color: #000;z-index: 9001;}
.loading {position: fixed;top: 45%;left: 0;right:0;font-size: 1em;letter-spacing:0;font-weight: 700;text-align: center;}
.loading  section {display: inline-block;margin: 0 .75em;opacity:0.2}
.loading  span {font-family: 'Montserrat', sans-serif;}


/* font-size =============================================*/
html{
  /* font-size: 10px; */
  /* font-size: clamp(10px,3.125vw,16px) !important; */
  font-size: 3.125vw;
}
@media (min-width: 769px) {
  html{
    /* W769:10 */
    /* font-size: clamp(10px,1.112347052vw,14px); */
    font-size: clamp(12px,1.171875vw,15px);
  }
  body {
    min-width: 960px;
  }
}/*  */

/* lazyload ================================= */
.lazyload{opacity: 0;}
.lazyloaded, .lazyloading  {opacity: 1; transition: opacity 1000ms;}

/* 共有パーツ =============================== */
.sec_bloc{
  padding-top: 2em;
  padding-bottom: 2em;
}
._top0{ padding-top: 0 !important;}
._bottom0{ padding-bottom: 0 !important;}

/* padding top and bottom */
.ptb05{ padding-top: .5em; padding-bottom: .5em;}
.ptb1{ padding-top: 1em; padding-bottom: 1em;}
.ptb2{ padding-top: 2em; padding-bottom: 2em;}
.ptb3{ padding-top: 3em; padding-bottom: 3em;}
.ptb4{ padding-top: 4em; padding-bottom: 4em;}
.ptb5{ padding-top: 5em; padding-bottom: 5em;}
.ptb6{ padding-top: 6em; padding-bottom: 6em;}
.ptb7{ padding-top: 7em; padding-bottom: 7em;}
.ptb8{ padding-top: 8em; padding-bottom: 8em;}
.ptb9{ padding-top: 9em; padding-bottom: 9em;}
/* padding left and right */
.plr05{ padding-left: .5em; padding-right: .5em;}
.plr1{ padding-left: 1em; padding-right: 1em;}
.plr2{ padding-left: 2em; padding-right: 2em;}
.plr3{ padding-left: 3em; padding-right: 3em;}
.plr4{ padding-left: 4em; padding-right: 4em;}
.plr5{ padding-left: 5em; padding-right: 5em;}
.plr6{ padding-left: 6em; padding-right: 6em;}
.plr7{ padding-left: 7em; padding-right: 7em;}
.plr8{ padding-left: 8em; padding-right: 8em;}
.plr9{ padding-left: 9em; padding-right: 9em;}
/* mt */
.mt05{ margin-top: .5em;}
.mt1{ margin-top: 1em;}
.mt2{ margin-top: 2em;}
.mt3{ margin-top: 3em;}
.mt4{ margin-top: 4em;}
.mt5{ margin-top: 5em;}
.mt6{ margin-top: 6em;}
.mt7{ margin-top: 7em;}
.mt8{ margin-top: 8em;}
.mt9{ margin-top: 9em;}
/* mb */
.mb05{ margin-bottom: .5em;}
.mb1{ margin-bottom: 1em;}
.mb2{ margin-bottom: 2em;}
.mb3{ margin-bottom: 3em;}
.mb4{ margin-bottom: 4em;}
.mb5{ margin-bottom: 5em;}
.mb6{ margin-bottom: 6em;}
.mb7{ margin-bottom: 7em;}
.mb8{ margin-bottom: 8em;}
.mb9{ margin-bottom: 9em;}

/* font-size */
.fz1{font-size:1em;}
.fz11{font-size:1.1em;}
.fz12{font-size:1.2em;}
.fz13{font-size:1.3em;}
.fz14{font-size:1.4em;}
.fz15{font-size:1.5em;}
.fz16{font-size:1.6em;}
.fz17{font-size:1.7em;}
.fz18{font-size:1.8em;}
.fz19{font-size:1.9em;}
.fz20{font-size:2em;}

._top0{ padding-top: 0 !important;}
._bottom0{ padding-bottom: 0 !important;}

.no_mv{
  padding-top: 10em;
}
.c_inner{
  padding-left: 2em;
  padding-right: 2em;
}
.c_wide{
  max-width: 1400px;
  margin: 0 auto;
}
.c_wide_narrow{
  max-width: 70em;
  margin: 0 auto;
}
.c_wide.c_inner{
  max-width: calc(1400px + (5em * 2) );
}
.max800{ max-width: 800px; margin: 0 auto; }
.max900{ max-width: 900px; margin: 0 auto; }
.max1000{ max-width: 1000px; margin: 0 auto; }
.max1100{ max-width: 1100px; margin: 0 auto; }
.max1200{ max-width: 1200px; margin: 0 auto; }
.max1300{ max-width: 1300px; margin: 0 auto; }
.max1400{ max-width: 1400px; margin: 0 auto; }
.pc{ display: none; }
._icon_w,.filter_w{ filter: var(--filter-w); }
.none{display: none;}
.height_img{
  height: 100%;
  width: auto;
}
.hov a{ transition: opacity .5s; }
.hov a:hover{ opacity: .7; }

.youtube_box {
  position: relative;
  margin: .5em 0 1em;
}
.youtube_box::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
.youtube_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.smooth {
  scroll-behavior: smooth;
}
.iframe_box{
  width: 100%;
  aspect-ratio: 1/1;
  padding: 1em 0;
}
.iframe_box iframe{
  width: 100%;
  height: 100%;
}
.img_box{
  width: 100%;
  aspect-ratio: 3/2;
  margin: 1em 0;
}
.img_box img,
.ofit{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* font =============================== */
.en { font-family: var(--font-en); }
.ja { font-family: var(--font-ja); }
.comp { font-family: var(--font-comp); }
.center{ text-align: center;}
.left{ text-align: left;}
.left-center{ text-align: left;}
.center-left{ text-align: center;}
.small{font-size: .9em;}
.small2{font-size: .8em;}
.small3{font-size: .7em;}
.red{ color: var(--color-red); }
.red2{ color: var(--color-red2); }
.blue{ color: var(--color-blue); }

.black{ color: var(--c-black);}
.gold{ color: var(--c-gold); }
.grey{ color: var(--c-grey-d); }
.grey-l{ color: var(--c-grey-l); }
.grey-bg{ color: var(--c-grey-bg); }

.block{display: block;}
.num , .geo { font-family: "Geologica", sans-serif;}
.script { font-family: "Caveat", cursive;}
.bold{ font-weight: 500;}

@media (min-width: 769px) {
  :root {
    --inn-w: 3em;
    --inn-w-minus: -3em;
  }
  .c_inner {
    padding-left: 5em !important;
    padding-right: 5em !important;
  }
  .sec_bloc{
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .sp{display: none;}
  .pc{display: block;}

  .left-center{ text-align: center;}
  .center-left{ text-align: left;}
  .iframe_box{
    aspect-ratio: 5/4;
  }
}/*  */


/* SECTION パーツ */
.page_ttl,
.sec_ttl,
.sec_ttl_m,
.sec_ttl_s{
  font-size: 1em;
  padding: 1em 0;
  letter-spacing: .05em;
}
.page_ttl .en{
  display: block;
  font-size: 6em;
  font-weight: 600;
  line-height: 1;
}
.sec_ttl .en{
  display: block;
  font-size: 5em;
  font-weight: 600;
  line-height: 1;
}
.page_ttl .ja,
.sec_ttl .ja,
.sec_ttl_m .ja,
.sec_ttl_s .ja{
  display: block;
  font-size: 1.1em;
  font-weight: 500;
  margin-top: 0.2em;
  opacity: .8;
  color: var(--c-grey-d);
}
.sec_ttl_m .en{
  display: block;
  font-size: 4.2em;
  font-weight: 600;
  line-height: 1;
}
.sec_ttl_s .en{
  display: block;
  font-size: 3em;
  font-weight: 500;
  line-height: 1;
}
.sec_sub {
  font-size: 1.7em;
  font-weight: 600;
  padding: .8em 0;
}
.sec_sub p{
  padding: .2em 0;
}
.sec_desc {
  font-size: 1.2em;
  padding: .5em 0;
  line-height: 1.9;
}
.sec_desc p{
  padding: .3em 0;
}
.sec_copy{
  font-size: 2.2em;
  font-weight: 600;
  padding: .3em 0;
  line-height: 1.6;
  letter-spacing: .03em;1
}
.sec_txt_wrap{
  padding: 2em 0 0;
}

@media (min-width: 769px) {
  .page_ttl .en{
    font-size: 7em;
  }
  .sec_ttl .en {
    font-size: 5.5em;
  }
  .sec_ttl_m .en{
    font-size: 4.8em;
    font-weight: 500;
  }
  .sec_ttl_s .en{
    font-size: 3.5em;
    font-weight: 500;
  }
  .sec_desc {
    font-size: 1.1em;
  }
}/*  */

/* Parts ========================== */
.asterisk{
  position: relative;
  display: block;
  padding-left: 1.2em;
  margin-top: 0.2em;
}
.asterisk::before{
  content: "※";
  position: absolute;
  left: 0;
}
/* link_arrow ========== */
.link_arrow{
  display: flex;
  font-weight: 500;
  font-size: 1.15em;
  align-items: center;
  gap: .5em;
  width: fit-content;
  padding: 2em 0;
  transition: transform .3s;
}
.link_arrow .txt{
  display: block;
}
.border_arrow{
  position: relative;
  display: inline-block;
  width: 2.6em;
  height: 1.2px;
  background-color:currentColor;
  margin: 0 0 .25em;
}
.link_arrow .border_arrow{
  margin: 0.25em 0 0;
}
.border_arrow::after{
  content: "";
  position: absolute;
  top: 0;
  right:  0;
  z-index: 1;
  display: block;
  width: .6em;
  height: 1.2px;
  background-color: currentColor;
  transform: rotateZ(30deg);
  transform-origin: bottom right;
}
.link_arrow:hover{
  transform: translateX(.3em);
}
a:hover .border_arrow{
  animation: anime_swing .3s 1 forwards;
}
@keyframes anime_swing {
	0% {	transform: translate(0, 0);}
	50% {	transform: translate(1.5em, 0); opacity:0}
	51% {	transform: translate(-1.5em, 0); opacity:0}
	100% {	transform: translate(0, 0); opacity:1}
}


/*====================================================
 header
====================================================*/

#sp-menu { display: none;}
#sp-menu-block { display: none;}
#tel-menu { display: none;}
#sp-tel-block { display: none;}

.pc-dsp{ display: none;}

#container {width: 100%; overflow: hidden; overflow-scrolling: touch; -webkit-overflow-scrolling: touch;}

header { width: 100%; z-index: 880; -webkit-transition: background ease-in-out 0.1s, height ease-in-out 0.1s; transition: background ease-in-out 0.1s, height ease-in-out 0.1s; display: flex; align-items: center;position: fixed; top: 0;}

.header {position: fixed;width: 100%;padding:.75em 0 .75em .7em;z-index: 10;height: 50px;-webkit-transition: all 0.2s linear 0s;-webkit-perspective: 1000px;perspective: 1000px;}
.header .logo-container {height: auto;animation: none;width: 100%;margin: 0;padding: 0;z-index: 10;}
.header .logo-container p.logo {text-align: center;-webkit-transition: all 0.4s linear 0s;width:35%;padding:.2em 0;}
.header-scroll {background-color: rgba(0,0,0,.7);box-shadow: 0 0 8px rgba(120,120,120,0.5);}
body#no-main .header,body.no-main .header{background-color: rgba(0,0,0,1);box-shadow: 0 0 8px rgba(120,120,120,0.5);}

@keyframes flip {
  0% {transform: rotateY(-45deg);}
  100%{transform: rotateY(0deg);}
}
@keyframes fade {
  from {opacity: 0;}
  to {opacity: 1;}
}
@keyframes top-in-basic {
  0%{transform: translateY(-1000px)}
  100%{transform: translateY(0px)}
}
@keyframes left-in-basic {
  0%{transform: translateX(-2000px)}
  100%{transform: translateX(0px)}
}


.header-inner{width: 100%; margin: 0 auto;display: flex; align-items: center; justify-content: space-between;padding: .65em .75em;}

#site-header.page .header-inner p.logo{ display: block; width: 24%;height:50px;}
#site-header.page .header-inner p.logo img{width: 100%;}

#sp-menu {position: fixed;right: 0; top: 0; display: block; margin: 0 auto; width: 50px; height: 50px; cursor: pointer; text-align: center; z-index: 999;}
#sp-menu span { display: block; width: 25px; margin-left:12.5px;text-align:center;height: 1px; background: #fff;position: absolute; -webkit-transition: all .3s; transition: all .3s;-webkit-transform-origin: 50% 50%; transform-origin: 50% 50%;}
#sp-menu span:nth-child(1) { top: 15px;}
#sp-menu span:nth-child(2) { top: 23px;}
#sp-menu span:nth-child(3) { top: 31px;}
#sp-menu span.txt {width: 100%;font-family: 'roboto', sans-serif; font-weight: 200; letter-spacing: .3em; font-size: 1.5vw;text-align:center;position: absolute;left:0;bottom:0;background:none;display:none}

#sp-menu.open span {-webkit-transform-origin: 50% 50%; transform-origin: 50% 50%;}
#sp-menu.open span:nth-child(1) { top: 25px; -webkit-transform: rotate(45deg); transform: rotate(45deg);background:#fff;}
#sp-menu.open span:nth-child(2) { opacity: 0;}
#sp-menu.open span:nth-child(3) {top: 25px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);background:#fff;}
#sp-menu.open span.txt {display:none;}

#tel-menu { position: fixed; right: 15%; top: 10px; display: block; width: 50px; height: 50px; cursor: pointer; text-align: center; z-index: 999;margin: 0 auto;}
#tel-menu img{margin: 0 auto .3em;height: 25px;}
#tel-menu p{font-size: 1.9vw;font-family: 'Questrial';letter-spacing:2px;line-height:1;display:none;}
#tel-menu.fixed span { background: #fff;}

/*======================
 g-Nav
=======================*/
#sp-menu-block {
  display: none;
  position: fixed;
  top: -100vh;
  left: 0;
  bottom: 0;
  overflow-y: scroll;
  width: 100%;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.8);
  z-index: 980;
  transition: 0.1s;
  padding: 5em 1em 1em;
}
#sp-menu-block.slide{top: 0px; height: auto; z-index: 997;}
#site-header p.logo svg { width: 100vw;} 
#g-nav { display: none; left: auto; top: auto;　z-index: 201; width: 100%;}
.g-nav-inner{ width: 100%;}
.g-nav-inner li{ width: 100%; padding: .75em 0 .75em; color:#fff;}
.g-nav-inner li a,.g-nav ul.base-nav li p{font-family:'Oswald', sans-serif; font-size: 1.1rem;font-weight: 400;display: block;padding: 0 1em; -webkit-transition: 0.3s; transition: 0.3s; text-align: center; line-height: 1.6;letter-spacing:4px;}
.g-nav-inner li a span,.g-nav ul.base-nav li p span { display: block; font-weight: 400; font-family: sans-serif; font-size: 1rem; letter-spacing: normal;}
.g-nav-inner li::before{font-family: fontAwesome; content: '\f105'; position: absolute; top: 50%; right:1em; transform: translate(0,-50%); font-size: 1em;color:#fff;}

.g-nav ul.base-nav { display:block;height: auto; width: 100%;}
.g-nav ul.base-nav > li { width: 100%; border-bottom: 0px solid #fff; padding: .75em 0 .75em; color:#fff;}
.g-nav ul.base-nav > li a, 
.g-nav ul.base-nav > li > p ,
.accbox label{
  font-family: 'Oswald', sans-serif;
  font-size: 1.1em;
  font-weight: 400;
  display: block;
  padding: 0 1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-align: center;
  line-height: 1.6;
  letter-spacing: .1em;
}
.g-nav ul.base-nav > li a span,.g-nav ul.base-nav > li > p span {display: block; font-weight: 400; font-family: sans-serif; font-size: 1rem; letter-spacing: normal;}
.g-nav ul.base-nav > li::before{font-family: fontAwesome; content: '\f105'; position: absolute; top: 50%; right:1em; transform: translate(0,-50%); font-size: 1em;color:#fff;}

.g-nav ul > li.lang_box::before{
  content: none;
}
.g-nav ul .lang_box a .txt{
  position: relative;
  display: block;
  width: fit-content;
  font-family: 'Oswald', sans-serif;
  font-size: 1em;
  letter-spacing: 1px;
  padding: .1em 0;
  margin: auto;
}
.g-nav ul .lang_box a .txt::before{
  content: "";
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 1.5px;
  background-color: #fff;
}

.g-nav ul.base-nav > li.openmenu::before{content:none;}

.g-nav-inner li.open-bt::before{content:none;}

.accbox label {
  /* display: block;
  padding: 0 0;
  font-family: 'Oswald', sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 4px; */
  cursor: pointer;
  transition: all 0.5s;
}
.accbox label:after {content: '\f0fe';font-family: fontAwesome;position: absolute; top: 50%; right:.75em; transform: translate(0,-50%); color: #fff;}
.accbox input {display: none;}
.accbox .accshow {height: 0;padding: 0;overflow: hidden;opacity: 0;transition: 0.8s;}
.cssacc:checked + label + .accshow {
height: auto;padding: 5px 0;opacity: 1;}
.cssacc:checked + label + .accshow li{border-bottom:1px dotted #ccc;}
.cssacc:checked + label + .accshow li span{color:#fff  !important; padding:.3em; border-radius:2px; font-weight:bold;}
.cssacc:checked + label + .accshow li:first-child{border-top:none;}
.cssacc:checked + label:after {content: '\f146';}

.menu-icon{padding-top:1em;}
.menu-icon .icon{bottom:.4em;display: flex;justify-content: center;}
.menu-icon .icon p{background:#000;color:#fff;border:1px solid;border-radius:40px;height:40px;width:40px;padding:.5em;position:relative;margin-top:1.2em;margin:1em;}
.menu-icon .icon p span{position:absolute;top:50%;left:50%;transform: translate(-50%,-50%);font-size:70%;}

/*============================================
  pan-kuzu
============================================*/
.breadcrumbs {text-align:left;background:#efefef;}
.breadcrumbs ol {padding: .2em .7em .5em;width:100%;margin:0 auto;color:#555;line-height:1;}
.breadcrumbs li {position: relative;display: inline-block;margin:0 1.5em 0 0;font-size: .7rem;line-height:1;padding:0;}
.breadcrumbs li:not(:last-child)::after {position: absolute;content: ">";right: -1.25em;top: 0;}
.breadcrumbs li a{color:#aaa;padding:0;margin:0;}
.breadcrumbs li a:hover {text-decoration: underline;}

/*====================================================
 footer
====================================================*/

footer{background:#1a1a1a;color:#fff;padding:1.5em 1.5em 1.75em;}
.sec-foot p{ padding: 1em 0; font-size: .6rem;line-height:1.8;}
.sec-foot p.logo{ width: 100%;margin:0 auto;display:block;}
.sec-foot p.logo img{width:150px;;margin:0 auto 1em;display:block;}
.sec-foot li{font-size: .6rem;text-align:center;margin-bottom:2em;letter-spacing:1px;}
.sec-foot li.tel{font-size: 1rem;font-family: 'roboto', sans-serif;font-weight: 400;letter-spacing:2px;text-align:center;margin-bottom:.5em;}
.sec-foot li i{font-size: 1rem;padding-right:.5em;}
	
.foot-intxt{margin-bottom:1em;}
.foot-nav{ width: 100%;}
.foot-nav ul{display: flex; flex-wrap: wrap; justify-content: center;width:100%;border-top:1px solid;border-bottom:1px solid;padding:.75em 0 0;margin-bottom:.5em;}
.foot-nav li{ padding:0em 1em;position:relative;margin:0 0 1.5em;}
.foot-nav li p{padding:0;margin:0;line-height:1;font-size:.7rem;}
.foot-nav li a{line-height:1;font-family: 'roboto', sans-serif;font-weight: 700;margin:0;}

footer p.copy{font-size: .6rem;font-weight:normal;letter-spacing:2px;text-align:center;font-family:'Oswald', sans-serif;}
footer .policy{padding:.75em 0 .25em;color:#bbb;}

.contact-wrap{
  display: flex;
  justify-content: center;
  align-items: center;
}
.foot-line-btn{
  display: block;
  width: 30px;
  height: fit-content;
  margin: -3px 0 0 10px;;
}
.foot-line-btn img{
  width: 100%;
  height: auto;
}

/*====================================================
 slick
====================================================*/

.slick-slide{opacity: 0;transition: .25s;}
.slick-active{ opacity: 1;}
.slick-prev, .slick-next{z-index: 5;height: 50px; top: 50%;}
.slick-next{ right: 10px;}
.slick-prev{ left: 10px;}
.slider{display: none;}
.slider.slick-initialized{display: block;}	
.slick-prev:before, .slick-next:before{ font-family: fontAwesome!important; display: flex; text-align: center; align-items: center; justify-content: center;line-height: 1; opacity: 1;font-size:2rem;font-weight:normal;color:#fff;}
.slick-next:before{ content: "\f105";}
.slick-prev:before{ content: "\f104";}

/*====================================================
 pager
====================================================*/

.pager{text-align:center; padding:1em .5em;position:relative;}
.pager a{color:#AAAAAA;font-size:.7rem;}
.pager .num{display:inline-block; padding:.4em .5em .4em 1em; margin-bottom:.5em;line-height:1.3;}
.pager .num a{color:#ccc; display:inline-block; border:1px solid #ccc; padding:.4em .75em; margin-bottom:.5em;  }
.pager .num a:hover{background-color:#000; border:1px solid #ccc; color:#FFFFFF; padding:.4em .75em; text-decoration:none; margin-bottom:1em;}
.pager .num .current_page{display:inline-block; border:1px solid #444; background-color:#000; color:#ffffff; padding:.4em .75em; margin-bottom:1em;font-size:.7rem;}
.pager span{display:inline-block;}
.pager span i{font-size:1rem;}
.pager span.before{position:absolute;top:50%;left:.5em;transform: translate(0%,-50%);}
.pager span.next{position:absolute;top:50%;right:.5em;transform: translate(0%,-50%);}
.center-block {display:block; margin:0 auto;}
.center-block2 {display:block; margin:1em auto;}

h2 {
  font-size: 2.7rem;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .1em;
  margin-bottom: .6em;
  text-align: center;
}

/*====================================================
 form
====================================================*/
button, [type="button"], [type="reset"], [type="submit"]{cursor:pointer;}
button, input, optgroup, select, textarea{font:inherit;}
button, select, textarea{color:inherit;border-style:none;background-color:transparent;}
button, html [type="button"], [type="reset"], [type="submit"]{border:none;border-radius:0;-webkit-appearance:button;}
button, select{text-transform:none;}
select::-ms-expand{display:none;}
select::-ms-value{color:currentColor;}
optgroup{font-weight:bold;}
button{overflow:visible;}
textarea{overflow:auto;resize:vertical;}
.input-list li{margin-top:.4em;margin-right:1.5em;margin-bottom:.4em;display:block;}
.input-list li label{padding-left:.4em;}
.input,textarea{
  width:100%;border-radius:0;background-color:#eee;border:none;-webkit-appearance:none;
  padding: 0.7em 0.9em;
}
.input.input-date{width:22%;}
.d-unit{margin:0 .5em;}
.select{padding:8px;border:1px solid #666;}
.input-head{margin-bottom:1rem;}
.form-operate{padding:.2em 3% .5em;text-align:center;}
.form-operate li{text-align:center; font-size:16px;}
.form-operate li input{padding:.8em 6em;color:#fff;font-weight:bold;}
.form-operate li input[disabled]{cursor:not-allowed;background-color:#eee;}
.form-operate li input.long-word{padding:0.8em 3em;}
.couple-operate li{float:left;width:46%;}
.couple-operate li:last-child{float:right;}
.couple-operate li input{padding:0.8em 0;width:100%;}
.primary-btn{background-color:#000;}
.secondary-btn{background-color:#dd0000;}
.form-table{margin-bottom:3rem;width:100%;}
.form-table th,.form-table td{width:100%;display:block;font-size:.9rem;}
.form-table th{font-weight:bold;text-align:left;padding:1.5em 0 .5em;}
.form-table th.fst{padding:0 0 .5em;}
.form-table td{
/*  padding:.7em .9em;*/
  display:block;
  background:#eee;
}
.form-supple p:not(:last-child){margin-bottom:1rem;}
.form-table td.sex-td{padding:1em 1em 1em .5em;display:block;background:none;}
.form-wrap p.contact-lead{font-size:.8rem;line-height:1.7;margin-top:0em;margin-bottom:1.5em;}

body#no-main .mainvis .h1box {
  width: 100%;
  padding: 5.5em 0 0;
}
body#no-main .mainvis .h1box h1 {
  color: #000;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.5;
  z-index: 1;
  text-align: center;
  margin-bottom: .4em;
  letter-spacing: 5px;
  font-family: 'Oswald', sans-serif;
}
body#no-main .mainvis .h1box h1 span{color:#000;display:block;font-size:.8rem;letter-spacing:1px;padding-top:.4em;}

.pc{ display:none;}

@media screen and (min-width:768px){
    
  .header {position: fixed;width: 100%;padding:1.5em 0 1.5em 1.5em;z-index: 10;height: 80px;}
  .header .logo-container {height: auto;animation: none;width: 100%;margin: 0;padding: 0;z-index: 10;}
  .header .logo-container p.logo {width:30%;}
  .header-scroll .logo-container {animation: fade 1 1s 0;}
    
  #site-header.page .header-inner p.logo{ display: block; width: 24%;height:70px;}
  #site-header.page .header-inner p.logo img{width: 100%;}
      
  .header-inner{padding: 1.5em;}
  #sp-menu{width: 80px; height: 80px;}
  #sp-menu span{width: 30px; margin-left:20px;}
  #sp-menu span:nth-child(1) { top: 25px;}
  #sp-menu span:nth-child(2) { top: 38px;}
  #sp-menu span:nth-child(3) { top: 51px;}
  #sp-menu.open span:nth-child(1) { top: 37px;}
  #sp-menu.open span:nth-child(3) {top: 37px;}
    
  #sp-menu-block{padding:4.5em 1em 1em;}
  .g-nav-inner li{padding: 1.5em 0;}	
  .g-nav-inner li::before{right:1.5em;}	
  .g-nav-inner li a,.g-nav ul.base-nav li p{font-size: 1.5rem;}	
  .g-nav ul.base-nav > li{padding: 1em 0;}
  .accbox label {font-size: 1.5rem;}
  .accbox label:after {right:.75em;} 	
    
  #tel-menu {top: 20px; display: block; width: 50px; height: 50px;}
  #tel-menu img{margin: 0 auto .3em;height: 34px;}
  #tel-menu p{font-size: 1.9vw;font-family: 'Questrial';letter-spacing:2px;line-height:1;display:none;}
  #tel-menu.fixed span { background: #fff;}
    
  .menu-icon{padding-top:2em;}
  .menu-icon .icon p{border-radius:50px;height:50px;width:50px;padding:.5em;margin:1em;}
  .menu-icon .icon p span{font-size:80%;}	
    
    
  /*============================================
    pan-kuzu
  ============================================*/
  .breadcrumbs ol {padding: .4em 1.5em;width:100%;margin:0 auto;color:#555;}
  .breadcrumbs li {font-size: .8rem;}
    
    
  footer {padding:2.5em 2.5em 2em;}
  .sec-foot p{font-size: .8rem;}
  .sec-foot p.logo img{width:250px;}	
  .sec-foot li{font-size: .8rem;margin-bottom:2em;}
  .sec-foot li.tel{font-size: 1.6rem;}
  .sec-foot li i{font-size: 1.6rem;}
  .foot-nav ul{padding:1em 0;margin-bottom:.75em;}
  .foot-nav li{ padding:0em 1em;margin-bottom:0;}
  .foot-nav li:first-child{margin-bottom:0;}	
  .foot-nav li p{font-size:.9rem;}
  footer p.copy{font-size: .8rem;}	

  .slick-prev:before, .slick-next:before{ font-size:3rem;color:#fff;font-weight:normal;}	
  .slick-next{ right: 15px;}
  .slick-prev{ left: 15px;}

  body#no-main .mainvis .h1box{width:100%;padding:6em 0 0;}
  body#no-main .mainvis .h1box h1{font-size:3rem;margin-bottom:.4em;}
  body#no-main .mainvis .h1box h1 span{font-size:.85rem;padding-top:.5em;}
    
    
  /*====================================================
  pager
  ====================================================*/

  .pager{text-align:center; padding:1em .5em;position:relative;}
  .pager a{font-size:.9rem;}
  .pager .num{padding:.4em .5em .4em 1em; margin-bottom:.5em;line-height:1.3;}
  .pager .num a{padding:.4em .75em; margin-bottom:.5em;}
  .pager .num a:hover{padding:.4em .75em;margin-bottom:1em;}
  .pager .num .current_page{padding:.4em .75em; margin-bottom:1em;font-size:.9rem;}
  .pager span i{font-size:1.2rem;}
  .pager span.before{top:45%;left:1.5em;transform: translate(0%,-55%);}
  .pager span.next{top:45%;right:1.5em;transform: translate(0%,-55%);}

  /*====================================================
  form
  ====================================================*/
  .input-list li{display:inline-block;}	
  .form-operate{padding:.5em 3% .5em;text-align:center;}	
    .form-table th, .form-table td {
      font-size: 1.2rem;
    }
  .form-wrap p.contact-lead{font-size:.9rem;margin-bottom:2em;}		
}


@media print, screen and (min-width : 769px){
  .sp{ display: none !important;}
  .pc{ display: block !important;}
  .sp-dsp{ display: none;}
  .pc-dsp{ display: inherit;}
  #sp-menu { display: none;}
  #sp-menu-block { display: none;}

  h2 {
    font-size: 3rem;
  }

  .inner {
    width: 90%;
    margin: 0 auto;
    box-sizing: border-box;
    max-width: 1260px;
  }
  .mainvis .inner {
    max-width: initial;
  }
    body#no-main .g-nav-inner li,body.no-main .g-nav-inner li{color:#fff;}

  .header{height:70px;padding:0;}
  .header-inner{padding:0;}	
  .header .logo-container {display: flex; justify-content: space-between;height: auto;margin: 0;padding: 0;z-index: 10;align-items: center;}
  .header .logo-container p.logo {width:18%;padding-left:1.5em;}	

  /*nav*/
  #g-nav{ padding:0 0;width:80%;box-sizing: border-box;}
  .g-nav-inner ul {display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: flex-end; -ms-flex-wrap: nowrap; flex-wrap: nowrap;padding-right:1em;}
  .g-nav-inner li{width:auto;padding:0;}	
  .g-nav-inner li a,.g-nav-inner li p {
    display: block;
    -webkit-transition: color ease-in-out 0.3s;
    transition: color ease-in-out 0.3s;
    text-align: center;
    font-size: .9rem;
    letter-spacing: 2px;
    line-height: 1.0;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    padding: 1em 0 1em 0;
    margin: 0 1.25em;
  }
  .g-nav-inner li p {
    white-space: nowrap;
  }
  .g-nav-inner li a span {z-index: 2; font-size: .6em; display: block;font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;font-weight:normal;}
  .g-nav-inner li::before{content:""!important; display: none!important;}

  #g-nav ul::before,#g-nav ul::after{content:""; display: table;}
  #g-nav ul::after{clear: both;}
    #g-nav ul li > ul {
      display: block;
      list-style: none;
      position: absolute;
      z-index: 999;
      top: 105%;
      left: 50%;
      /* right: 0; */
      transform: translateX(-50%);
      padding: 0;
      width: 140%;
    }
  #g-nav ul li > ul li{ width:100%;overflow:auto; height: 0; padding: 0; transition: .2s;background: rgba(0,0,0,.7);display: flex; flex-direction: column; justify-content: center; align-items: center;}
  #g-nav ul li > ul li a {
    display: block;
    text-align: center;
    padding: .8em .5em;
    font-size: .9rem;
    line-height: 1.3;
    letter-spacing: .08em;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    width: 100%;
  }
    #g-nav ul li:hover > ul li {
      overflow: visible;
      height: fit-content;
    }
    #g-nav ul li:hover > ul li:hover {
    background: rgba(0, 0, 0, .5);
    border-bottom: 1px solid#eee;
  }


  .g-nav-inner li.lang_box a {
    margin: 0 1em;
  }
  .g-nav-inner li.lang_box a .txt{
    position: relative;
    display: block;
    width: fit-content;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1em;
    letter-spacing: 1px;
    padding: 0 0 .1em;
    margin: auto;
    margin-top: -.1em;
  }
  .g-nav-inner li.lang_box a .txt::before{
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: #fff;
  }
  

  .slick-next{ right: 40px;}
  .slick-prev{ left: 40px;}
}

@media screen and (min-width: 1024px){
  #sp-menu { display: none;}
  #sp-menu-block { display: none;}
  #tel-menu{display: none;}
  /* .inner{ width: 90%; margin: 0 auto;box-sizing: border-box;}	 */
  .header{height:80px;}
  .header-inner{padding:1.5em;}	
    
  .slick-prev:before, .slick-next:before{ font-size:2rem;color:#000;font-weight:normal;}		
  .slick-next{ right: 0px;}
  .slick-prev{ left: 0px;}	

    
  /*============================================
    pan-kuzu
  ============================================*/
  .breadcrumbs ol {padding: .4em 5%;width:100%;margin:0 auto;color:#555;}
  .breadcrumbs li {font-size: .8rem;}	


  footer{padding:2em 0 2em;}
  .sec-foot{width:90%;margin:0 auto;}	
  .foot-logo-wrap{display: flex; flex-wrap: wrap; justify-content: space-between;margin-bottom:1.5em;padding:0 1.5em;vertical-align:middle;}
  .foot-logo-wrap section{width:10%;position:relative;}	
  .foot-logo-wrap section:first-child{width:20%;}	
  .foot-logo-wrap section:last-child{width:80%;}
    
  .sec-foot p.logo{ width: 100%;margin:0 0;display:block;padding:0 0;}
  .sec-foot p.logo img{margin-bottom:0;}	
  .sec-foot ul{display: flex; flex-wrap: wrap; justify-content: flex-end;align-items: center;}
  .sec-foot li{font-size: .7rem;margin-bottom:0;padding:0 0 0 2em;text-align:left;line-height:1.6;}
  .sec-foot li:first-child{font-size: .8rem;}
  .sec-foot li.tel{font-size: 1.1rem;text-align:left;margin-bottom:0;padding:0 2em 0 0;}
  .sec-foot li i{font-size: 1rem;}	
    
  .foot-intxt{margin-bottom:0em;}
  .foot-intxt p{padding:0 0;font-size: .8rem;}
    
  .foot-nav ul{padding:1em 0;justify-content: center;}
  .foot-nav li{ padding:0em 2em;margin-bottom:0;}
  .foot-nav li:first-child{margin-bottom:0;}
  .foot-nav li p{font-size:1rem;line-height:1;}
  .foot-nav li a{font-weight: 500;margin:0;}
  footer p.copy{font-size: .6rem;}
    
    
  body#no-main .mainvis .h1box{width:100%;padding:7em 0 0;}
    body#no-main .mainvis .h1box h1 {
      font-size: 3.5rem;
      margin-bottom: .6em;
    }
  body#no-main .mainvis .h1box h1 span{font-size:.85rem;padding-top:.5em;}
    
    
  /*====================================================
  pager
  ====================================================*/
  .pager a{font-size:1rem;}
  .pager .num .current_page{font-size:1rem;}
  .pager span i{font-size:1.3rem;}
  .pager span.before{top:45%;left:2.5em;transform: translate(0%,-55%);}
  .pager span.next{top:45%;right:2.5em;transform: translate(0%,-55%);}
    
  .form-wrap p.contact-lead{font-size:1rem;margin-top:1em;margin-bottom:1em;}	
    
}

@media screen and (min-width: 1280px){
  /* .inner{ width: 1100px; margin: 0 auto;box-sizing: border-box;}	 */
  .g-nav-inner li a, .g-nav-inner li p {
    font-size: .9rem;
    padding: 1.5em 0 1.5em 0em;
    margin: 0 1.8em;
  }
    
  /*============================================
    pan-kuzu
  ============================================*/
  .breadcrumbs ol {padding: .4em 10%;width:100%;margin:0 auto;color:#555;}
  .breadcrumbs li {font-size: .8rem;}		

  .sec-foot{width:80%;}
  .sec-foot li{font-size: .8rem;padding:0 0 0 3em;}
  .sec-foot li.tel{font-size: 1.1rem;padding:0 2em 0 0;}
  .sec-foot li i{font-size: 1.1rem;}
  .foot-nav li{ padding:0em 2em;margin-bottom:0;}
    
}

@media screen and (min-width: 1440px){
  /* .inner{ width: 90%;} */
  .g-nav-inner li a,.g-nav-inner li p {font-size:.9rem;}	

    
  .sec-foot li{font-size: .8rem;}	
  .sec-foot li.tel{font-size: 1.2rem;}	
  .form-operate{padding:1em 3% .5em;text-align:center;}		
  /* .form-table th,.form-table td{font-size:1em;} */
  /* .form-operate li input{font-size:1.3em!important;}	 */
}

@media screen and (min-width: 1600px){
  .header .logo-container p.logo {width:15%;padding-left:1.5em;}		
  #g-nav ul li > ul li a{font-size:.7em;}	

  .sec-foot{width:70%;}
  .sec-foot li.tel{font-size: 1.3rem;}	
    
  .breadcrumbs ol {padding: .4em 15%;}
  .breadcrumbs li {font-size: .8rem;}	
      
    
  /*====================================================
  pager
  ====================================================*/
  .pager{padding:1em 0 3em;}	
  .pager a{font-size:.95em;}
  .pager .num .current_page{font-size:.95em;}
  .pager span i{font-size:1.1em;}
    
  /* .form-table th,.form-table td{font-size:1.1em!important;}
  .form-operate li input{font-size:1.4em!important;} */
    
  /* body#no-main .mainvis .h1box{width:100%;padding:8% 0 0;}
  body#no-main .mainvis .h1box h1{font-size:1.6em;margin-bottom:.6em;}
  body#no-main .mainvis .h1box h1 span{font-size:.5em;padding-top:.5em;}	 */
}

@media screen and (min-width: 1920px){
  .header{height:100px;}
  .g-nav-inner ul {padding-right:2.5em;}	
  .g-nav-inner li a, .g-nav-inner li p {
    font-size: .9em;
    padding: 1.5em 0 1.5em 0em;
    /* margin-left: 6em; */
  }
  #g-nav ul li > ul li a{font-size:.8em;}	

  .sec-foot{width:60%;}
  .breadcrumbs ol {padding: .4em 20%;}
  .breadcrumbs li {font-size: 1rem;}	
}

/*animetion*/
@keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

.res-img{width:100%;height:auto;}