/*
Theme Name: insulation
Template: twentytwenty
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;900&family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600&display=swap');

*, *::before, *::after {
  box-sizing: inherit;
  -webkit-font-smoothing: antialiased;
  word-break: inherit;
  word-wrap: break-word;
}

html{
  font-size:100%;
}


body:not(.singular) main > article:first-of-type{
  padding-top:0;
}

:root { 
--key-Color: #2c00ab;
--Red: #e40404;
--Gray: #f3f3f3;
--row-space : 6.25vw;
--col-space : 6.2vh;
--w50-space: 45%;
--s1-space: 7.5vh;
--s2-space: 5vh;
--s3-space: 2.5vh;
--containner: 1100px;
--containner_small: 1000px;
--h1 :2.341rem;
--h2 :2.0rem;
--h2_en :4.0rem;
--h3 : 1.8rem;
--h4 : 1.25rem;
--Text-normal: 16px;
--navi-ft-size: 1.0rem;
--flex_hurf : calc(98% / 2);
--flex_third : calc((100% - 5vw) / 3);
--flex_third_space : calc((100% - 6%) / 3);
--flex_five : calc((100% - 5vw) / 5);
--flex_six : calc(100% / 3);
--inter: 'Inter';
}

@media screen and (min-width: 768px) and (max-width: 1350px) {

  :root { 
    --logo_wide: 350px;
    --nav_ft_size: 16px;
    --row-space : 5vw;
    --negative_margin_bottom: -10vh;
  }

}

@media screen and (min-width: 768px) and (max-width: 1024px) {

  :root { 
    --logo_wide: 280px;
    --h3: 1.6rem;
    --nav_ft_size: 16px;
    --row-space : 1.5em;
    --col-space : 5vh;
    --s2-space: 3vh;
    --negative_margin_bottom: -10vh;
    --w50-space :100%;
    --h2_en: 3.4rem;
  }

}

@media screen and (max-width: 767px) {

  :root { 
    --row-space : 4vw;
    --col-space : 5vh;
    --s1-space: 5vh;
    --s2-space: 2.5vh;
    --s3-space: 1.5vh;
    --containner: 1200px;
    --negative_margin_bottom: -5vh;
    --h1 :1.8rem;
    --h2 :1.6rem;
    --h3 : 1.25rem;
    --h4 : 1.1rem;
    --h2_en : 2.066rem;
    --Text-normal: 15px;
    --flex_hurf : 100%;
    --flex_third : calc(96% / 2);
    --flex_third_space : calc(100% / 1);
    --flex_five : calc(100% / 1);
    --flex_six : calc(100% / 2);
    --flex_third :100%;
    --sp-none: none;
    --fix_head_margin: 50px;
    --flex_concept01 : calc(100% / 2);
    --flex_concept02 : calc(100% / 2);
    --w50-space: 100%;
    }

    .sp-none, .br-pc{
      display:none;
    }

}



@media screen and (min-width: 768px) {

  .br-sp, .pc-none{display:none;}

  }

form a{
  color: var(--key-Color);
}

body{
    background:#fff;
    font-size: var(--navi-ft-size);
    overflow-x:hidden;
    font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
    font-weight: 400;
}

a:not([class]) { color: #0000EE; }
a:not([class]):hover { color: #e40404; text-decoration:underline;}

a img:hover{
  opacity:0.85;
}

#site-footer a:focus{
	text-decoration:none;
}

.color-accent, .color-accent-hover:hover, .color-accent-hover:focus, :root .has-accent-color, .has-drop-cap:not(:focus):first-letter, .wp-block-button.is-style-outline, a{
	color: var(--blue);
}

header{
position:fixed;
top: 0;
left: 0;
width: 100%;
padding:0 0 0 var(--row-space);
z-index:25;
backdrop-filter: blur(12px);
background: #fff;
border-bottom: 1px solid #eee;
}

header .wrap{
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
position:relative;
}

.single__blog ul{
	margin-left:0;
}

.logo{
    width: var(--logo_wide);
    padding:12px 0;
}

header .right__cont{
  width:calc(100% - 450px);
}

header .wrap nav.gloval{
    font-size: var(--nav_ft_size);
}

header .wrap nav.gloval ul{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    flex-wrap: wrap;
    list-style: none;
    margin:0 0 0 auto;
}

header .wrap nav.gloval ul li{
    margin:0;
    font-weight: 400;
    letter-spacing: 0.1em;
    position: relative;
}

header .wrap nav.gloval ul li a{
  font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: center;
    padding:10px 1em;
    text-decoration:none;
    color: var(--blue);
    font-weight: 700;
    height:100%;
}

header .wrap nav.gloval ul li a:hover{
  color: var(--key-Color);
}

header .wrap nav.gloval ul li a:after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 3px;
	background: var(--key-Color);
	transform: scale(0, 1);
	transition: 0.4s;
}
header .wrap nav.gloval ul li a:hover:after {
	transform: scale(1);
}

header .wrap nav.gloval ul li.contact{
  margin-left:1em;
}

header .wrap nav.gloval ul li.contact a:hover::after, header .wrap nav.gloval ul li.download a:hover::after{
  display:none;
}

header .wrap nav.gloval ul li.contact a{
  background: rgb(255,102,0);
  background: -moz-linear-gradient(-45deg,  rgba(255,102,0,1) 2%, rgba(246,169,44,1) 100%);
  background: -webkit-linear-gradient(-45deg,  rgba(255,102,0,1) 2%,rgba(246,169,44,1) 100%);
  background: linear-gradient(135deg,  rgba(255,102,0,1) 2%,rgba(246,169,44,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff6600', endColorstr='#f6a92c',GradientType=1 );
    color: #fff;
    height:100%;
    padding:10px 1em 10px 1.1em;
}

header .wrap nav.gloval ul li.contact a::before{
  content: '';
  background:url(images/mail.svg) center center;
  background-size:contain;
  display:block;
  width:25px;
  height:25px;
  margin:0 auto 2px;
}

header .wrap nav.gloval ul li.download a{
  background: #189BE2;
    color: #fff;
    height:100%;
    padding:10px 1em 10px 1.1em;
}

header .wrap nav.gloval ul li.download a::before{
  content: '';
  background:url(images/file.svg) center center;
  background-size:contain;
  display:block;
  width:25px;
  height:25px;
  margin:0 auto 2px;
}

header .wrap nav.gloval ul li.contact a:hover{
    color:#fff;
}

header .wrap nav.gloval ul li.contact a:hover{
  opacity:0.55;
}

header .wrap nav.gloval ul li.download a:hover{
  background: var(--blue);
}

#web, #media, #consulting, #internet{
  margin-top:-75px;
  padding-top:75px;
}

#media-01, #media-02, #media-03, #media-04, #media-05, #media-06, #web-01, #web-02, #web-03{
  margin-top:-75px;
  padding-top:75px;
}

#toc_container p.toc_title+ul.toc_list{
	font-size:16px;
}

#toc_container p.toc_title+ul.toc_list li{
	margin-top:.5em;
}

nav.gloval{
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
}

  .Center{
    text-align: center;
  }

  .Center img{
    margin-left: auto;
    margin-right: auto;
  }

  p,ul li, ol li{
    letter-spacing: 0.1em;
    font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
  }

  p.big__text{
    font-size: calc((var(--h3) * 1.1));
    font-weight: 700;
    text-align: center;
    line-height:1.75;
  }

.alignnone, .aligncenter, .alignleft, .alignright, .alignwide {
    margin-top: 2rem;
    margin-right: auto;
    margin-bottom: 2rem;
    margin-left: auto;
}

div.Block{
  margin-bottom: var(--s1-space);
}

.slider__wrap{
  width:100%;
  height:100%;
}

.slider {
  height: 100%;
  margin-inline: auto;
  overflow: hidden;
  width: 100%;
}
.slick-img img {
  width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

  @media screen and (min-width: 768px) and (max-width: 1350px) {

    header .wrap nav.gloval ul li a, header .wrap nav.gloval ul li.contact a{
      padding:10px .5em;
    }
  
    header{
      padding: 0 2.5vw;
    }

 
  }

  @media screen and (min-width: 768px) {
    .reserved--btn{
      position: fixed;
      top:10vh;
      right: var(--s3-space);
    }

    header .contact-wrap{
      display:none;
    }

  }

  @media screen and (min-width: 768px) and (max-width: 1024px) {

    nav.gloval{
      justify-content: flex-end;
      margin-right: 50px;
    }
    header .wrap nav.gloval {
     margin-right:0;
  }
header .wrap nav.gloval ul li a{
    padding: 10px 0.3em;
    font-size: 0.8rem;
}

  }


  @media screen and (max-width: 767px) {

    header{
      position:relative;
      padding-left:.25em;
    }

    header .wrap{
      align-items: inherit;
      flex-wrap: nowrap;
    }

    header .wrap nav.gloval ul{
      display:none;
    }

    header .wrap nav.gloval {
      width: auto;
      margin-right:35px;
  }
	  	  header .right__cont .gloval, header .Tel__wrap .Contact{
    display: none;
  }

	  header .right__cont{
		  width:calc(100% - 180px);
		 margin-right:.5em;
     display: flex;
     flex-direction: column;
     justify-content: center;
	  }
	  
	  .slick-img img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
}
	  
	.alignnone, .aligncenter, .alignleft, .alignright, .alignwide {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

    .slider__wrap{
      width:100%;
      height:100%;
    }
	  
	   .reserved--btn{
    display:none;
  }

    .logo {
      width:180px;
      padding:.2em 0;
      text-align: center;
    }

    header .contact-wrap{
      display: flex;
      flex-direction: row;
      margin-right:48px;
      margin-bottom:5px;
    }

    header .contact__btn{
      border-bottom-left-radius: 0.46em;
      border-bottom-right-radius: 0.46em;
      background: var(--og-color);
      color:#fff;
      display: block;
      padding:5px;
      font-size: 10px;
      margin:0 1px;
      width:70px;
      text-align: center;
      text-decoration: none;
    }

    header .contact__btn i{
      display:block;
      font-size:17px;
    }
	  
	header .contact__btn.dowonload__btn{
		  background:#189BE2;
	  }

  
  }

  /*************************************

Drawer

****************************************/

.toggle-btn {
  position: relative;
  top: 0;
  right:1.55em;
  display: block;
  width: 72px;
  height: 72px;
  z-index: 999;
  -webkit-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  cursor: pointer;
}
.toggle-btn__inner {
  position: relative;
  top: 50%;
  left: 50%;
}

.bar {
  width: 40px;
  height: 2px;
  position: absolute;
  transform: translateX(-50%);
  background-color:#fff;
  transition: .3s cubic-bezier(0, .45, .47, 1);
}
.toggle-btn:hover .bar_top, .toggle-btn:hover .bar_bottom {
  transform: translateX(-50%);
}
.bar_top {
  top: -11px;
}
.bar_mid {
  top: 50%;
  transform: translate(-50%, -50%);
}
.bar_bottom {
  bottom: -11px;
}
.toggle-btn.close .bar_top {
  transform: translate(-50%, 10.5px) rotate(45deg);
  transition: -webkit-transform .3s cubic-bezier(0, .45, .47, 1);
  transition: transform .3s cubic-bezier(0, .45, .47, 1);
  transition: transform .3s cubic-bezier(0, .45, .47, 1), -webkit-transform .3s cubic-bezier(0, .45, .47, 1);
}
.toggle-btn.close .bar_mid {
  opacity: 0;
  transition: opacity .3s cubic-bezier(0, .45, .47, 1);
}
.toggle-btn.close .bar_bottom {
  transform: translate(-50%, -10.5px) rotate(-45deg);
  transition: -webkit-transform .3s cubic-bezier(0, .45, .47, 1);
  transition: transform .3s cubic-bezier(0, .45, .47, 1);
  transition: transform .3s cubic-bezier(0, .45, .47, 1), -webkit-transform .3s cubic-bezier(0, .45, .47, 1);
}

.menu-gl {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 900;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0, .45, .47, 1);
}
.menu__bg {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #fff;
}

.menu__body .logo{
  margin:0 auto 2.5vh;
  max-width:300px;
}

.menu__body {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  max-width: 950px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.menu__logo {
  display: block;
  width: 80px;
}
.menu__nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin:auto;
}
.menu__nav-main {
  display: flex;
  flex-flow: column;
  margin-right: 10px;
  list-style:none;
}

.menu__nav-main__item {
  margin-bottom: 30px;
  padding-right: 40px;
}
.menu__nav-main__item:last-child {
  margin-bottom: 0px;
}
.menu__nav-main__item a {
  display: flex;
  flex-direction: column;
  position: relative;
  color: var(--key-Color);
  text-decoration:none;
   font-style:var(--zen);
}
.menu__nav-main__item a:hover span {
  animation: horizontalFade 0.4s cubic-bezier(.8, 0, .2, 1) forwards;
}
.menu__nav-main__item a span {
  transition: all 0.3s cubic-bezier(0, .45, .47, 1);
}

span.en{
  font-family:  var(--karla);
  color: var(--Gold);
  font-size:0.8rem;
}

.menu__nav-main__item a:hover {
  opacity: 1;
}

.menu__nav-main .ja {
  font-size: 22px;
  line-height: 1.44;
  margin-top: 3px;
  font-weight: 600;
  color: var(--blue);
}
.menu__nav-sub {
  display: flex;
  flex-direction: column;
  margin-right:0;
}
.menu__nav-sub__item {
  font-size: 1.4rem;
  margin-bottom: 32px;
  margin-top: 29px;
  font-weight: 600;
}
.menu__nav-sub__item a {
  position: relative;
  font-family: var(--zen), serif;
  color: var(--White);
  text-decoration:none;
}
.menu__nav-sub__item a:hover {
  opacity: 1;
}
.menu__nav-main__item a:after, .menu__nav-sub__item a:after{
  content: '';
  position: absolute;
  left: 0;
  bottom:0;
  width: 0%;
  height: 1px;
  background: var(--key-Color);
  transition: all 0.2s cubic-bezier(0, .45, .47, 1);
}
.menu__nav-sub__item a:hover:after, .menu__nav-main__item a:hover::after{
  width: 100%;
}
.menu__nav-sub__item:last-child {
  margin-bottom: 0px;
}

.menu-gl.fade-in {
  opacity: 1;
}
.menu-gl .fadeInDelay {
  opacity: 0;
  -webkit-transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
.menu-gl .fadeInDelay.fade-in {
  opacity: 1;
}
.menu-gl .fadeInDelay02 li {
  overflow: hidden;
}
.menu-gl .fadeInDelay02 li a {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all 0.3s cubic-bezier(0, .45, .47, 1);
  -o-transition: all 0.3s cubic-bezier(0, .45, .47, 1);
  transition: all 0.3s cubic-bezier(0, .45, .47, 1);
}
.menu-gl .fadeInDelay02 li.fade-in a {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  font-feature-settings: "palt";
}
.menu-gl .fadeInDelay03 {
  opacity: 0;
  -webkit-transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
.menu .fadeInDelay03.fade-in {
  opacity: 1;
}

@media screen and (min-width: 1025px) {

  .toggle-btn{
    display: none;
  }
}


/************* 

SP  

************************************/
@media screen and (max-width: 767px) {

  .toggle-btn{
	 right:3px;
   bottom:0;
   width:calc(100% / 4);
   height:49px;
   background: var(--key-Color);
   color:#fff;
	}

  .bar{
    width:32px;
  }

  .menu__body {
    margin-top: 0;
    align-items: center;
  }
  .menu__logo {
    margin: 0 auto 2em auto;
    width: 240px;
  }
  .menu__nav {
    flex-direction: column;
    width: 100%;
    padding-left: 20px;
  }
  .menu__nav-main {
    margin-right: 0;
  }

  .menu__nav-main{
    margin-bottom:0;
    margin-left:0;
  }

  .menu__body .logo{
    width:300px;
    padding:0;
  }

  .menu__nav-main__item {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .menu__nav-main .en {
    font-size: 0.8rem;
  }
  .menu__nav-main .ja {
    font-size: 18px;
    margin-top: 2px;
  }
  .menu__nav-sub {
    flex-direction: row;
    margin-top: 45px;
    margin-right: 0;
  }
  .menu__nav-sub__item {
    margin-bottom: 20px;
    margin-top: 0;
    margin-right: 20px;
    font-size:1.1rem;
    width:100%;
  }
  .menu__nav-sub__item:last-child {
    margin-bottom: 20px;
  }
  .menu__nav-sns {
    margin-top: 25px;
  }
  .menu__nav-sns__item {
    margin-bottom: 20px;
    margin-top: 0px;
    padding-right: 20px;
  }

  .menu__nav-sub{
	 flex-wrap: wrap;
	}
}

  /************* K-Visual **************/

#kv--wrap{
    position:relative;
    margin-top:90px;
    display: flex;
    flex-wrap: wrap;
    max-height: calc(100vh - 90px);
    overflow: hidden;
}

#kv--wrap .Image__wrap{
  width:100%;
  object-fit: cover;
  object-position: top;
}

.main-lead-wrap{
  width:92.5%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  padding:var(--s3-space);
  color:#fff;
}

/**.main-lead-wrap::before{
  content: '';
  position: absolute;
  width:30px;
  height:100%;
  background:url(https://insulation-technology.co.jp/wp-content/uploads/2023/01/dotted.jpg);
  top:0;
  left:0;
}**/

#kv--wrap .container{
 position:relative;
 height: 100%;
}

header .Tel, .Tel a{
  color:var(--key-Color);
  font-size: var(--h2);
  font-weight: 600;
  text-decoration: none;
  font-family: "Helvetica Neue",
  Arial,
  "Hiragino Kaku Gothic ProN",
  "Hiragino Sans",
  Meiryo,
  sans-serif;
  padding-top:.25em
}

.Tel{
  line-height: 1.3;
}

header .Tel i, .Tel i{
  font-size: 24px;
  vertical-align: middle;
  color:var(--key-Color);
}

section .Tel i{
  font-size:30px;
  margin-top:-5px;
  display: inline-block;
}

header .Tel__wrap{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  margin-bottom: .5em;
}

header .Tel__wrap .Contact{
  background: var(--Red);
  padding:.5em 1em;
  text-align: center;
  color:#fff;
  font-size: 1.0rem;
  line-height: 2.0;
}

.link__btn{
  background: var(--blue);
  color:#fff;
  padding:.5em;
  text-align:center;
  display: inline-block;
  font-size:  var(--Text-normal);
  min-width:240px;
  margin:var(--s3-space) 0 0 auto;
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.link__btn:hover{
  background: #000;
}

.Banner:hover .link__btn{
background: #000;
}

.Flex__wrap.Banner h3{
  -webkit-transition: all .3s;
  transition: all .3s;
}

.Flex__wrap.Banner:hover h3{
 color :var(--og-color);
}

.Flex__wrap.mb{
	margin-bottom:var(--s3-space);
}

.Top-banner-wrap .link__btn{
  margin-top:.35em;
}

.Top-banner-wrap .fukidashi{
  background:#fff;
  border:2px solid var(--key-Color);
  padding:.5em;
  border-radius: 0.85em;
  font-size: 17px;
  font-weight: 600;
  position: absolute;
  top:-1em;
  left:1em;
}

.link__btn::after{
  content: '';
  background:url(images/arrow-right-s-line.svg) no-repeat right top -2px;
  background-size: contain;
  width:25px;
  height: 25px;
  display: inline-block;
  margin-left:0;
  margin-right:-10px;
  vertical-align: middle;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.Banner:hover .link__btn::after{
  right: -15px;
}

@media screen and (min-width: 1921px) {

  #kv--wrap img{
    max-height:900px;
    object-position: center;
  }

  .Top-banner-wrap{
    margin-top:22.5vh;
  }

}

@media screen and (min-width: 768px) and (max-width: 1024px)  {
	
	.slider__wrap{
		width:100%;
	}
	
	.main-lead-wrap img{
		min-height:auto !important;
	}
	.main-lead-wrap {
	position: absolute;
    height: auto;
    max-height: 50%;
	}
}
/************* 

SP  

************************************/
@media screen and (max-width: 767px) {

  #kv--wrap{
    margin-left:0;
    width:100%;
    margin-top:0;
  }

	.main-lead-wrap::before{
  width:15px;
  height:100%;
}
	
	  header .Tel, .Tel a{
		  font-size:1.35em;
	  }
	
	header .Tel__wrap{
		margin-bottom:0;
	}

}

  /************* 見出し **************/

  h1, .main-lead{
  font-size: var(--h1);
  font-weight:700;
  margin:0;
  padding:0;
  color:#fff;
  letter-spacing:0.05em;
  }

  .main-lead{
    text-align: center;
  }

  h1.logo{
    color:#fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  h1.logo a{
    color:#fff;
    text-decoration: none;
  }

  .post__title{
  font-size: var(--h1);
  font-weight:700;
  margin:0;
  padding:0;
  color:#000;
  line-height:2.0;
  letter-spacing: 0.085em;
    font-family: var(--inter);
    font-size: var(--h2_en);
    color: #000;
    text-transform: uppercase;
    line-height: 1.25;
  }

.single__blog h1{
	font-size:1.6rem;
    margin-bottom:var(--s3-space);
    padding-bottom:.5em;
    border-bottom: 3px solid var(--key-Color);
    color:#1a1a1a;
	line-height:1.55;
}

  h1 div{
    line-height:1.55;
  }

 h1.main-lead span.wrap{
    display:inline-block;
    color: #fff;
  }
  
h1.main-lead span.color{
  font-size: calc( var(--h1) * 1.5 );
  font-weight:900;
}

.head-caption{
  background:rgba(255,255,255,0.90);
  padding: 1em;
  font-size: 0.9rem;
  border-radius:.4em;
  max-width:700px;
  margin-top:.5em;
}

  h2{
    position:relative;
    letter-spacing:0.05em;
    padding:.5em;
    border-bottom:4px solid var(--key-Color);
    font-weight:600;
    font-size: 1.45rem;
    text-align: left;
    margin:2em 0 1em;
    line-height:1.55;
  }

  h2.bg{
    position:relative;
    letter-spacing:0.05em;
    padding:.5em;
    background: var(--key-Color);
    font-weight: 700;
	color:#fff;
    font-size: var(--h2);
    text-align: center;
    margin:0 0 1em;
    line-height:1.55;
    font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  }

  h2.bg::after{
    content: '';
    height:4px;
    background:var(--Red);
    width:100%;
    position: absolute;
    bottom:4px;
    left:0;
  }
  h2::after{
    content: '';
    height:4px;
    background:var(--Red);
    width:70px;
    position: absolute;
    bottom:-4px;
    left:0;
  }

  h2 .Top span.arrow{
    display:block;
    margin:auto;
    width:20px;
    height:7.5vh;
    position: relative;
    margin-top: var(--s3-space);
  }

  h2 .Top span.arrow::before{
    content:'';
    background: var(--key-Color);
    width:.5px;
    height:5vh;
    position:absolute;
    bottom:0;
    right: -6px;
    transform: skewX(-31deg);
  }

  h2 .Top span.arrow::after{
    content:'';
    background: var(--key-Color);
    width:.5px;
    height:7.5vh;
    position:absolute;
    top:0;
    left: 50%;
    transform: translateX(-50%);
  }

  .wh__bg__recruit h2 .Top span.arrow::after, .wh__bg__recruit h2 .Top span.arrow::before{
    background:#fff;
  }

  .en__title{
    font-family: var(--inter), serif;
    font-weight: 900;
    font-size: var(--h2_en);
    text-align: center;
    margin-bottom:.3em;
    line-height:1.22;
    letter-spacing: 0.1em;
    color:var(--key-Color);
  }

  .en__title span{
    color:#000;
  }

  .jan__title{
    background: rgb(255,102,0);
    background: -moz-linear-gradient(-45deg, rgba(255,102,0,1) 2%, rgba(246,169,44,1) 100%);
    background: -webkit-linear-gradient(-45deg, rgba(255,102,0,1) 2%,rgba(246,169,44,1) 100%);
    background: linear-gradient(135deg, rgba(255,102,0,1) 2%,rgba(246,169,44,1) 100%);
    display: inline-block;
    padding:.5em 2em;
    font-size: 1.3rem;
    color: #fff;
    margin-bottom: var(--s2-space);
    letter-spacing: 0.125em;
  }

  section.wh__bg__ac .jan__title{
    margin-bottom:0;
  }

  section.pt_none{
   padding-top:0;
  }

  h2.Center, h3.Center{
    display:block;
    text-align: center;
  }

  h2 .Top{
    position:relative;
  }

  h2.white{
    color:#fff;
  }


  h3{
    font-size:  1.3rem;
    margin-bottom: var(--s3-space);
    margin-top:0;
    letter-spacing: 0.095em;
    line-height: 1.55;
	border-left:8px solid var(--key-Color);
	padding-left:15px;
  }

.single__blog h2, .single__blog h3{
	margin-top:3em;
}

h3.Center{
	border-left:none;
	padding-left:0;
}

  h3.og{
    color: var(--og-color);
    margin-top:0;
  }

  h3.grad{
    background: var(--key-Color);
    text-align: center;
    font-size: var(--h4);
    font-weight: 400;
    position:relative;
    margin-bottom: var(--s3-space);
  }

  h3.grad:before {
    content: "";
    position: absolute;
    bottom: -50px;
    right: 50%;
    width: 1px;
    height: 20px;
    background: var(--key-Color);
    transform: skewX(-31deg);
}

h3.grad:after{
  content:"";
  position: absolute;
  bottom:-50px;
  right:calc(50% - -6px);
  width:1px;
  height: 50px;
  background:var(--key-Color);
}

  h3.grad a{
    color:#fff;
    text-decoration: none;
    display:block;
    padding:.5em;
  }
  
  h3.grad a:hover{
    background: var(--og-color);
  }

  h3 span.en{
    display:block;
    margin-top: var(--s3-space);
    font-size: var(--Text-normal);
    font-family: var(--inter);
    letter-spacing: 0.055em;
    font-weight: 300;
	color:#999;
  }

  h3.mb_none{
	margin-bottom:.5em;
  }

  h4{
    font-weight:500;
    letter-spacing: 0.095em;
	font-size:var(--h4);
    margin-top:2em;
  }

.single__blog h4{
	margin-top:0;
	font-size:var(--h4);
	color: var(--key-Color);
}

  @media screen and (min-width: 768px) and (max-width: 1024px) {

  h3.grad a{font-size:16px}
  
}

  @media screen and (max-width: 767px) {
	  
	  h1.main-lead span.wrap{
		  background:#fff;
	  }
	
	  .head-caption{
		  padding-bottom:0;
	  }

    h1.main-lead span.color{
      font-size: calc( var(--h1) * 1.2 );
    }

    h2.bg{
      display:block;
      text-align: center;
    }

    h3.grad a{
      font-size:1.0rem;
    }
	  
	  h3 span.en{
		  margin-top:.5em;
		  font-size:0.8rem;
	  }
	  
	section.wh__bg__recruit h2.white{
	color: var(--key-Color);
  }

     
    h1 div:nth-child(n+2){
      margin-top:0;
    }

    h2 .Top{
      padding-bottom: var(--s3-space);
    }

    h2 .Top::before{
      content:'';
      height:3vh;
      bottom:-.6em;
      left: 52%;
      transform: translateX(-52%);
      transform:rotate(45deg);
    }
  
    h2 .Top::after{
      content:'';
      height:6vh;
      bottom:-.5em;
      left: 50%;
      transform: translateX(-50%);
    }

    .jan__title{
      font-size:1.1rem;
      margin-bottom:1em;
    }
	  
	  .en__title{
		  margin-bottom:.5em;
	  }

    section.og__bg h2{
      padding-bottom:0;
    }

    h2 .Top span.arrow::before{
      right:-1px;
    }
  }

  @media screen and (min-width: 768px) and (max-width: 1024px) {

    #kv--wrap img, #kv--wrap{
      min-height: 50vh;
      position: relative;
    }

    #kv--wrap{
      width: calc(100% - 1em);
      margin-left:auto;
    }

    .Top-banner-wrap{
      margin-top:1em;
    }
	  
	  h1, .main-lead{
		  font-size:1.56rem;
	  }

	  header .right__cont{
		      width: calc(100% - 300px);
	  }

  }

  /************* Section **************/

  section{
    padding: var(--col-space) var(--row-space);
    position:relative;
  }

  section.wh__bg{
    background: #fff;
    max-width: calc(100% - var(--row-space));
    padding-right:0;
    margin-right:0;
    border-bottom-right-radius: var(--corner);
    z-index: 2;
    margin-bottom: var(--negative_margin_bottom);
  }

  section.wh__bg__news{
    background:#f5fafe;
  }

  section.bg__blue{
    background:#d4e7ff;
  }

  section.wh__bg__ac{
    z-index: 3;
    overflow:hidden;
    background: #fff;
  }

  section.wh__bg__ac::after{
     content: '';
     z-index:-1;
     position:absolute;
     right:0;
     height:110vh;
     top:-10vh;
     border-bottom-left-radius: var(--corner);
     border-top-left-radius: var(--corner);
     width:50vw;
     background: var(--Gray);
  }

  section.og__bg{
    position: relative;
    z-index: 1;
  }

section.og__bg .container.js-active, section.og__bg .container.js-active::after {
    opacity:1.0;
  }

  section.og__bg .container.js-active::after{
  background-attachment: fixed;
  width:100%;
  height:100%;
  }

  section.og__bg .jan__title{
    margin-bottom: calc(var(--s2-space) / 2);
  }

  section.wh__bg__recruit{
    background:#fff;
    z-index: 3;
  }

  section + section:not([class]) {
    padding-top:0;
  }

  section.pihlosophy::after{
    content: '';
    background: #f3f9fc;
    width:100%;
    height:40vh;
    position: absolute;
    left: 0;
    top:0;
    z-index: -1;
    max-width: calc(100% - (var(--row-space)));
  left: 50%;
  transform:translateX(-50%);
  }

  .containner__wrap{
    max-width: var(--containner_small);
    margin:auto;
    position:relative;
  }

  .containner__wrap + .containner__wrap{
    margin-top: var(--s1-space);
  }

  .containner__wrap__small{
    max-width: var(--containner_small);
    margin:auto;
    position:relative;
  }

  section.contact{
    padding-top:0;
    padding-bottom:calc(var(--col-space) / 2);
  }

  p{
    font-size: var(--Text-normal);
    line-height:2.0;
    font-weight:400;
	margin-bottom:2.0em;
  }

  p:last-child{
    margin-bottom:0;
  }

  section.bg__bk p{
    color: #fff;
  }

  @media screen and (min-width: 768px) and (max-width: 1024px){

  section.wh__bg__recruit::before{
    max-height:400px;

  }

  }

  @media screen and (max-width: 767px) {
	  
 section.pihlosophy p.Center{
		  text-align:left;
	  }

  section.wh__bg__ac::after{
    height:100%;
  }
	  
  section.wh__bg__news::before{
		  width:90vw;
	  }

  section.wh__bg__recruit::before{
    height:100%;
    max-height:300px;
	width:100vw;
	border-bottom-right-radius:0;
  }

	  .main-lead-wrap img{
		  max-width:40px !important;
	  }
}

/************* Layout **************/

.Flex__wrap{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
    position: relative;
}

.Flex__wrap__sns{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:center;
    position: relative;
	margin-bottom: 0.5em;
}

.Flex__wrap.Banner{
  background: #fff;
  padding-top:0 !important;
}

.Flex__wrap.Banner:not(:last-child){
  margin-bottom: var(--s2-space);
}

.Flex__wrap.Banner .Hurf:nth-of-type(even){
  padding: var(--s3-space);
}

.Flex__wrap.Start{
  justify-content: flex-start;
}

.Flex__wrap.Reverse{
  flex-direction: row-reverse;
}

.Flex__wrap.Banner .link__btn{
  margin-left:auto;
  margin-right: auto;
}

.Flex__wrap.align__items__center{
    align-items: center;
}

.Flex__wrap.flex__start{
  align-items: flex-start;
}

.Flex__wrap.nowrap{
    flex-wrap: nowrap;
}

.Flex__wrap h1{
    min-width:55%;
    line-height:1.55;
    border-right:1px solid #fff
}

section.bg__bk .Flex__wrap p.Text{
    width:40%;
}

.Flex__wrap .Hurf{
    width: var(--flex_hurf);
    position: relative;
}


.Flex__wrap .Hurf.flex{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content:center;
}

.Flex__wrap .Hurf h3:first-child{
  margin-top:0;
}

.Flex__wrap .three{
  width: var(--flex_third);
  margin-top: var(--s2-space);
}

.Flex__wrap.flex__start .three{
  width: var(--flex_third_space);
  margin-right:3%;
}

.Flex__wrap.flex__start .three:nth-of-type(3n){
  margin-right:0;
}

.Flex__wrap .banner{
  border:3px solid var(--key-Color);
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.Flex__wrap .banner img{
  width: 100%;
  height:100%;
  object-fit: cover;
}

.Flex__wrap .banner .Text{
  background:rgba(44,0,171,0.9);
  padding:1em;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
  position: absolute;
  bottom:0;
  left:0;
  width:100%;
}

.Flex__wrap .banner a{
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
	z-index:5;
}

.Flex__wrap .banner:hover{
	opacity:0.8;
}

.blog .three img {
  margin-top: 0;
  max-height: 200px;
  min-height: 200px;
  object-fit: cover;
  width: 100%;
  border:1px solid #ccc;
}

.Flex__wrap .five{
  width: var(--flex_five);
}

.Flex__wrap .five h3{
  font-size:15px;
  margin:0 0 .5em;
  font-weight:400;
}

.Flex__wrap .three:nth-of-type(-n+3){
 margin-top:0;
}

.Flex__wrap .three.auto{
  margin-left:auto;
  margin-right:auto;
}

.Flex__wrap .three h3{
  margin-top:0;
  font-size:1.05rem;
  margin-bottom: var(--s3-space);
}

.Flex__wrap .three h3.grad{
  margin-top:0;
  font-size:1.25rem;
  margin-bottom: 0;
  border-radius: 1.46em;
}

.Flex__wrap .three h3.grad a{
  border-radius: 1.46em;
}

.Flex__wrap .three img{
  margin-top: 0;
  max-height: 260px;
  min-height: 260px;
  object-fit: cover;
  width: 100%;
}

.Flex__wrap .three img.thumbnail{
  margin-top: 0;
  min-height: 190px;
  max-height: 200px;
  width: 100%;
  border: 1px solid #ddd;
}

.Flex__wrap .three h3.grad::before, .Flex__wrap .three h3.grad::after{
  display:none;
}

.Banner_wrap .Flex__wrap .three{
  margin-top: var(--s3-space);
}

.Banner_wrap:not(:last-child){
  margin-bottom: var(--s2-space);
}

.blog .three h3{
  margin-top:0;
  font-size:1.25rem;
  margin-top: var(--s3-space);
}


section .Flex__wrap + .Flex__wrap{
    padding: var(--col-space) 0 0;
}

.Flex__wrap.Reverse{
    flex-direction: row-reverse;
}

.Right{
    text-align:right;
}

.Flex__wrap .Image{
  width:40%;
}

.Flex__wrap .Text{
  width:57%;
}

.Flex__wrap .Youtube{
  width:49%;
}

@media screen and (max-width: 767px) {

  .Flex__wrap h1{
    border-right:0;
    margin-bottom: var(--col-space);
  }

  .Flex__wrap.nowrap{
    flex-wrap: wrap;
  }
.Flex__wrap .Hurf:first-child{
  margin-bottom: var(--s2-space);
}

.Flex__wrap.Banner:not(:last-child){
  margin-bottom: var(--s2-space);
}

.Flex__wrap .three h3{
  margin-bottom:2.55em;
}
	
.post-11 .Flex__wrap .three h3{
 margin-bottom:1em;
}

.Flex__wrap .three:nth-of-type(-n+3){
  margin-top: var(--s2-space);
}
	
section.og__bg .Flex__wrap .three:nth-of-type(-n+3){
  margin-top: var(--s3-space);
}

.Flex__wrap .three:first-child{
  margin-top:0;
}

.Flex__wrap .three a.Contact{
	margin-bottom: var(--s2-space) !important;
}

.Flex__wrap .Image{
  width:100%;
  margin-bottom: 1em;
}

.Flex__wrap .Text{
  width:100%;
  margin-bottom: 2em;
}

.Flex__wrap .Youtube{
  width:100%;
  margin-bottom: 1em;
}
	
	.Flex__wrap .banner .Text{
		margin-bottom:0
	}
	
.blog.Flex__wrap.flex__start .three{
		margin-right:auto;
		margin-left:auto;
	}
	
	.blog.Flex__wrap .three h3{
		margin-bottom:1em;
	}
	
	.achievement.Flex__wrap .three h3{
		margin-bottom:0;
	}
	
	.achievement.Flex__wrap .three h3 a{
		text-decoration:none;
	}

	.blog.Flex__wrap .three:nth-of-type(-n+3), .blog.Flex__wrap .three{
		margin-bottom:1em;
	}
	
	.blog.Flex__wrap.flex__start .three:last-of-type{
		margin-bottom:0;
	}

}

/************* リンク **************/

a.detail__link{
    display:block;
    padding:.5em 1em;
	width:250px;
    border:1px solid var(--key-Color);
    position: relative;
    margin:2em 0 0 auto;
	background:var(--key-Color);
    color:#fff;
    text-decoration:none;
    font-size: var(--Text-normal);
	text-align:center;
}

a.detail__link:hover{
  color:#1a1a1a;
  background:#fff;
}

a.null{
  pointer-events: none;
}

.Banner a{
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
}

a.text__link{
  color: var(--key-Color);
  font-size: var(--h3);
  text-decoration: underline;
  position: relative;
  padding-right:65px;
  margin: var(--s3-space) 0;
  -webkit-transition: all .3s;
  transition: all .3s;
  letter-spacing: 0.15em;
  display: inline-block;
}

a.text__link::after{
  content: '';
  background:url(images/curcle.svg)no-repeat;
  background-size: contain;
  width:60px;
  height:60px;
  position: absolute;
  right:0;
  -webkit-transition: all .3s;
  transition: all .3s;
}

a.text__link:hover{
  text-decoration: none;
  opacity:0.85;
}

a.text__link:hover::after{
  right:-10px;
}

a.Contact{
  background: rgb(255,102,0);
  background: -moz-linear-gradient(-45deg, rgba(255,102,0,1) 2%, rgba(246,169,44,1) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(255,102,0,1) 2%,rgba(246,169,44,1) 100%);
  background: linear-gradient(135deg, rgba(255,102,0,1) 2%,rgba(246,169,44,1) 100%);
  border-radius: var(--corner);
  display: block;
  padding: var(--s3-space);
  text-align: center;
  font-weight: 500;
  color:#fff;
  font-size: var(--h3);
  margin:0 .5em;
  text-decoration: none;
  letter-spacing: 0.085em;
  box-shadow: 0px 0 0 0 transparent;
  -webkit-transition: all 55s;
transition: all .55s;
}

.Flex__wrap .three a.Contact{
	margin:0 auto;
}

a.Contact i{
  font-size:1.355rem;
  margin-right:.5em;
  vertical-align: middle;
  margin-top:-3px;
  display: inline-block;
}

.Banner_wrap a{
  font-size:1.0rem;
  background:#022e78;
  color:#fff;
  margin:auto;
  padding:.5em !important;
}

.Banner_wrap a.Contact.small{
  margin:auto;
}


a.Contact:hover{
  background:#000;
  box-shadow: 0px 8px 15px -5px #777777;
}

a.entry{
  max-width:400px;
  margin: var(--s3-space) auto 0;
  font-size:1.4rem;
}

a.Contact.small{
  font-size:17px;
  padding:1em;
  margin-top:.5em;
}

@media screen and (min-width: 768px) and (max-width: 1024px){
  a.Contact{
  margin-left:2px;
  margin-right: 2px;
  }
}

ul.footer{
  list-style: none;
  margin:auto;
  font-size: 12px;
}

ul.footer li{
  font-weight:300;
  margin:.5em 0;
  letter-spacing: 0.055em;
}

.footer a:hover{
  text-decoration: none !important;
}

.footer__link__wrap{
  margin-bottom: var(--s3-space);
}

.five h4{
  font-size:13px;
  font-weight: 400;
  margin:0 0 .5em;
  padding-bottom:.5em;
  border-bottom:1px solid #fff;
}

#site-footer a:hover{
  text-decoration: none;
  opacity:0.55;
}

@media screen and (max-width: 767px) {
	
	a.detail__link{
		margin-left:auto;
		margin-right:auto;
	}

  a.text__link::after {
    width: 32px;
    height: 32px;
}

  a.text__link{
    padding-right:38px;
  }

  a.entry{
    font-size: 1.2rem;
  }

 .footer__link__wrap{
    display:none;
  }

}

/************* 画像 **************/

figure img{
  margin-left:auto;
  margin-right:auto;
}

figure.Center{
  margin-bottom: var(--s1-space);
}

.Banner img{
  width:100%;
  height:100%;
  object-fit: cover;
}


@media screen and (max-width: 767px) {

  img.access--logo{
    max-width:200px;
    margin:auto;
    }

    figure.wide img{
      object-fit:cover;
      min-height:33.33vh;
    }

}


/************* Footer **************/

#site-footer{
  background:  var(--key-Color);
  color :#fff;
  padding:0 0 var(--s3-space);
  border:none;
  width:100vw;
}

.footer_links{
  background:#f1f1f1;
  margin:auto;
  padding:.5em;
}

footer ul.menu{
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  list-style:none;
  font-size: var(--Text-normal);
  margin:0 auto;
  width: 100%;
}

footer ul.menu li{
  margin:0;
  padding:.5em 0 .75em;
}

footer ul.menu a{
  text-decoration: none;
  color:#1a1a1a;
}

footer ul.menu li::after{
  content:'|';
  margin-left: .5em;
  margin-right: .5em;
  display: inline-block;
  color:#1a1a1a;
}

footer ul.menu a:hover{
  text-decoration: underline;
}

.sns__wrap{
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: nowrap;
  margin:-.5em auto 0;
    background: #fafaf9;
    padding-top: 0.2em;
}

.sns__wrap a{
	display:block;
	margin:0 .2em;
	color:#101010;
	font-size:30px;
  text-decoration: none;	
}

.footer__info{
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  margin: var(--s3-space) auto;
}

.footer__privacy{
  padding-bottom: var(--s3-space);
  border-bottom: 1px solid rgba(255,255,255,0.15);
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  font-size:0.955rem;
}

.footer__privacy a{
  margin:0 .5em;
}

.footer__privacy a:hover{
  text-decoration: none !important;
  opacity:0.55;
}

.footer__privacy a:after{
  content:'/';
  margin-left:1em;
}

.footer__privacy a:first-child::before{
  content:'/';
  margin-right:1em;
}

.footer__info .logo{
  width:150px;
  margin-right:1em;
}

.footer__info .text{
  width:clac(98% - 120px);
  font-size:0.9rem;
  letter-spacing: 0.055em;
}

.copy{
  font-size:0.8rem;
  text-align:center;
  margin-top:2em;
  font-family: var(--inter);
  line-height:1.5;
}

.copy a{
	color:#fff;
}

@media screen and (max-width: 767px) {

  ul#menu-footer-nav{
    margin-left:auto;
    margin-right:auto;
    display:none;
  }

  .sns__wrap{
    margin-top:.5em;
	margin-bottom:0;
  }

}

/************* 新着情報 **************/

ul.news{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  margin: auto;
  list-style: none;
  flex-wrap:wrap;
}

ul.news li{
  width:calc(96% / 3);
  margin:0 2% 2em 0;
}

ul.news li:nth-child(3n){
  margin-right:0;
}

ul.news li .text__wrap{
  background: rgba(255,255,255,0.9);
  padding: 1em;
  max-width:calc(100% - 20px);
  margin-right: 20px;
  margin-top:-20px;
  position: relative;
  z-index: 3;
}

ul.news li .Image{
  width:calc(100% - 20px);
  margin-left: 20px;
  max-height:200px;
  overflow: hidden;
}

ul.news li .text__wrap span.days{
  display:block;
  font-style: italic;
}

ul.news li .text__wrap a{
  color:#1a1a1a;
}

.wp-pagenavi{
  text-align: center;
  margin-top:2em;
}

.wp-pagenavi a, .wp-pagenavi span{
  padding:10px 15px;
  color:#000;
}

@media screen and (max-width: 767px) {

  ul.news li{
    width:calc(100% / 1);
    margin:0 auto 1.5em;
  }

  ul.news li:last-child{
    margin-bottom: 0;
  }
	
	ul.news{
		flex-wrap:wrap;
	}

}

/************* Page-FV **************/

.page-fv-wrap{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  min-height:30vh;
  width:100%;
  position: relative;
  margin-top: 92px;
  border-bottom: 1px solid #eee;
}

.page-fv-wrap .Image{
  width:50%;
  background: var(--key-Color);
  background-size: 30%;
  border-bottom-left-radius: var(--corner);
}

.page-fv-wrap .Contents{
  background: #f3f3f3;
  position: relative;
  width:50%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  padding:  var(--s3-space);
  text-align: center;
  border-bottom-right-radius: var(--corner);
}

.page-fv-wrap .Contents .Title{
  color: var(--key-Color);
  letter-spacing: 0.085em;
  font-weight:bold;
  font-family: var(--inter);
  font-size: var(--h2_en);
  color:#000;
  text-transform: uppercase;
  line-height: 1.25;
}

span.jan{
  font-size: var(--Text-normal);
  color: var(--key-Color);
  display:block;
  margin-top:.5em;
  letter-spacing: 0.085em;
}

@media screen and (min-width: 768px) and (max-width: 1024px){

  .page-fv-wrap{
    min-height:30vh;
  }

}

@media screen and (max-width: 767px) {

  .page-fv-wrap{
    margin-top:0;
  }

  .page-fv-wrap .Image{
    display:none;
  }

  .page-fv-wrap .Contents{
    width:100%;
  }

}

.breadcrumb{
  background:  #fff;
  padding: var(--s3-space);
  border-top-left-radius: var(--corner);
  text-align: center;
  color:#fff;
  position: absolute;
  right: 0;
  bottom:0;
  color: #262626;
  min-width:20vw;  
}

.breadcrumb.single{
	position:relative;
	border:none;
	min-width:100%;
	padding-top:var(--s2-space);
	padding-left:0;
}

.breadcrumb ul{
  margin:0;
  list-style: none;
  font-size: 0.8rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.breadcrumb ul a{
  color: var(--key-Color);
}

.breadcrumb ul li{
 margin:0;
}

.breadcrumb ul li:nth-child(n+2)::before{
  content:'>';
  margin:0 5px;
}

.breadcrumb ul li:nth-of-type(4){
	display:none;
}

/************* Table **************/

p.Center + dl.list{
  margin-top: 2em;
}

dl.list{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin:auto;
 }

 dl.list dt{
  width:30%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  border-top: var(--key-Color) 1px solid;
  padding:1em .5em;
 }

 dl.list dt,  dl.list dd{
  padding:1.5em .5em;
  margin:0;
  line-height: 1.8;
   }

 dl.list dd{
  width:70%;
  border-top: #ddd 1px solid;
  padding-left:1em;
  display:flex;
  flex-direction:column;
  justify-content:center;
 }

 dl.list:last-of-type dt{
  border-bottom: var(--key-Color) 1px solid;
 }

 dl.list:last-of-type dd{
  border-bottom: #ddd 1px solid;
 }

 dl.list.min{
  font-size:15px;
  padding:.2em;
 }

 dl ul, ol{
  margin-bottom:0;
  margin-left:0;
 }

 div.Block:last-of-type{
  margin-bottom:0;
 }

 .single_bottom_arrow{
  margin-top: var(--s2-space);
  padding-top: var(--s2-space);
  color:var(--key-Color);
  border-top:1px solid var(--key-Color);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
 }
.single_bottom_arrow .ppt_10{
  margin-left:.5em;
  margin-right:.5em;
}
 .single_bottom_arrow a{
  display:block;
  color: var(--key-Color);
  font-family: var(--zen), serif;
  text-decoration: none;
  padding:1em;
  border:1px solid var(--key-Color);
 }

 .single_bottom_arrow a:hover{
  background: var(--key-Color);
  color: #fff;
 }

 textarea{
  font-size:100%;
 }

 input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"], textarea{
  padding:.75em;
  border:1px solid #ccc;
  font-size: 100%;
 }
 
 button, .button, .faux-button, .wp-block-button__link, .wp-block-file .wp-block-file__button, input[type="button"], input[type="reset"], input[type="submit"], .bg-accent, .bg-accent-hover:hover, .bg-accent-hover:focus, :root .has-accent-background-color, .comment-reply-link{
  width:100%;
  border-radius:.46em;
  max-width:600px;
  margin:auto;
  font-size:20px !important;
  background: var(--og-color) !important;
  font-weight: 500;
  font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 }
 
 button:focus, button:hover, .button:focus, .button:hover, .faux-button:focus, .faux-button:hover, .wp-block-button .wp-block-button__link:focus, .wp-block-button .wp-block-button__link:hover, .wp-block-file .wp-block-file__button:focus, .wp-block-file .wp-block-file__button:hover, input[type="button"]:focus, input[type="button"]:hover, input[type="reset"]:focus, input[type="reset"]:hover, input[type="submit"]:focus, input[type="submit"]:hover {
     text-decoration: none;
     background:#e31313 !important;
 }

 .wpcf7-spinner {
  visibility: hidden;
  display: block;
  background-color: #23282d;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 0.5em auto;
  position: relative;
}

 p.text_min{
  font-size:0.9rem;
  margin-top: var(--s3-space);
 }
 
 .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
     border-color: #ffb900;
     font-size:16px;
     font-family: var(--zen), serif !important;
 }
 
 textarea {
     height: 30rem;
     line-height: 1.5;
     width: 100%;
 }

 select{
  width:100%;
  padding:1em;
  border:1px solid #ccc;
 }

 input[type=radio], input[type=checkbox] {
  -moz-appearance: auto;
  -ms-appearance: auto;
  appearance: auto;
  display: inline-block;
  margin-right: 0;
  opacity: 1;
  width: 22px;
  z-index: 0;
  height: 22px;
  position: relative;
  top: 4px;
  float: none;
}

 span.text_red {
  background: #fe0000;
  padding: 0.2em 0.75em 0.2em 0.75em;
  color: #fff;
  font-size: 13px;
  margin-left: 0.3em;
  text-align: center;
  border-radius: 1.35em;
  line-height: 1.5;
  display:inline-block;
}

label {
  display: block;
  font-size: 15px;
  font-weight: 400;
  margin: 0 0 0.5rem 0;
}

input[type="checkbox"] {
  position: relative;
  top: 5px;
  display: inline-block;
  margin: 0;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  background: #fff;
  border-radius: 0;
  border-style: solid;
  border-width: 0.1rem;
  border-color: #6e6c65;
  box-shadow: none;
  cursor: pointer;
}

button, .button, .faux-button, .wp-block-button__link, .wp-block-file .wp-block-file__button, input[type="button"], input[type="reset"], input[type="submit"], .bg-accent, .bg-accent-hover:hover, .bg-accent-hover:focus, :root .has-accent-background-color, .comment-reply-link {
  background: var(--key-Color) !important;
}

a.btn{
	display:block;
	background: var(--key-Color);
	border:1px solid var(--key-Color);
	border-radius: 0.46em;
    max-width: 600px;
    margin:2em auto;
    font-size: 20px;
	text-align:center;
    color:#fff;
    padding: 1.1em 1.44em;
    transition: all .3s;
    text-decoration:none;
}

a.btn:hover{
	background:#fff;
	color:#000;
}

 @media screen and (max-width: 767px) {
 
  dl.list dt{
    width:100%;
	display:flex;
    flex-direction:column;
	justify-content:center;
   }
 
  dl.list dd{
	width:100%;
    padding-left:.5em;
    padding-right:.5em;
   }
 
  dl.list dt{
    border-right:none;
   }
	 
	 dl.list dt, dl.list dd{
		 padding:1em .5em;
		 line-height:1.455;
	 }

   .single_bottom_arrow{
    margin-top: var(--s1-space);
    padding-top: var(--s1-space);
   }

   br.pc{
    display:none;
   }

 
 }

 @media screen and (min-width: 768px) {

  br.sp{
    display:none;
   }

 }
 
 .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
     border-color: #fe0000;
     color: #fe0000;
 }

 .Bnr .Bnr__img {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 99999;
  background: var(--key-Color);
  padding: 0 !important;
  min-height: auto;
box-shadow: 0px -3px 3px -4px #777777;
}


.Bnr .Bnr__img a{
  background: var(--key-Color);
  width:calc(100% / 4);
  color:#fff;
  font-size:11px;
  display: block;
  padding:5px;
  text-align: center;
  text-decoration: none;
  line-height: 1.0;
}

.Bnr .Bnr__img a i{
  font-size:28px;
  display: block;
}

.writing .Bnr__img a:hover{
background:transparent !important;
color:#fff !important;
}

.bottom_menu_contents_wrap{
padding:2px 0 2px;
}

.bottom_menu_contents a.Tel:hover{
background:none !important;
color:#000 !important;
}

.bottom_menu_contents{
  display: flex;
}

.wpcf7-spinner{
  display:none;
}

/***********

SP

***********************/

@media screen and (max-width: 767px) {
	
	#site-footer{
		padding-bottom:80px;
	}

.contact__wrap{
  border:4px solid #000;
}

.bottom_menu_contents a.Contact span{
display:none;
}

.bottom_menu_contents .ri-arrow-right-s-fill{
display:none;
}

.bottom_menu_contents a.Contact i{
  font-size:1.15rem;
  margin-right:3px;
}
  
.bottom_menu_contents a.Contact{
  font-size:13px !important;
  border-radius:0.2em;
  line-height:1.15;
  padding: 0.75em 0.5em !important;
}

}

.timeline {
  list-style: none;
  border:none;
  margin-top:2em;
}

.timeline > li {
  margin-bottom: 60px;
  padding-top:0;
  border:none;
}

  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 110px;
    float: left;
    margin-top: 15px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
  }
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #0080c6;
    position: absolute;
    left: 106px;
    top: 24px;
    border-radius: 100%;
  }

.timeline-date{
      margin-bottom: 0 !important;
      font-weight:bold;
 }

.timeline-content p{
          padding-top: 15px;
 }

.Time_line_bottom_image_wrap{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
 }

.Time_line_bottom_image_wrap .Item{
 width:calc(94%/4);
 }

/***********

SP

***********************/

@media screen and (max-width: 767px) {
	
	.timeline{
		margin:auto;
	}
	
	.timeline > li{
		margin-bottom:5px;
	}
	
	.timeline-content p{
		padding-top:0;
		line-height:1.5;
	}
	
	.timeline-content:before {
    left: 5px;
    top: 8px;
}
	
	.timeline-date{
		width:100%;
		padding-left: 30px;
        margin-top: 0;
	}
	
	.timeline-content{
		width:100%;
		margin-left: 9px;
		padding-left:18px;
	}
	
}

/***********

ショートコード用

***********************/

b{
	font-weight:bold;
}

.red{
	color:#fe0000;
}

.red__bold{
	color:#fe0000;
	font-weight:bold;	
}

.red__bold{
	color:#fe0000;
	font-weight:bold;	
}

.marker{
	background:linear-gradient(transparent 60%, #ff6 60%);
}

.marker__bold{
	background:linear-gradient(transparent 60%, #ff6 60%);
	font-weight:bold;
}

.big{
	font-size:1.4rem;
}

table.border{
	border:1px solid #ddd;
	border-bottom:0;
	border-right:none;
	font-size:1.0rem;
	margin-top:0;
}

table.border td{
border-bottom:1px solid #ddd;
border-right:1px solid #ddd;
width:50%;
	padding:.5em;
}

table.blog{
	font-size:1.0rem;
    letter-spacing: 0.1em;	
}

table.blog th{
	text-align:center;
}

/***********

SP

***********************/

@media screen and (max-width: 767px) {
	table.border{
		font-size:0.9rem;
	}
}

/***********ご挨拶************/

.Flex__wrap .image{
	width:20%;
	margin-right:3%;
}

.Flex__wrap .text__name{
	font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-weight:600;
	margin-top:1em;
	font-size:1.45rem;
}

.Flex__wrap .text__name span{
	font-size:1.0rem;
	font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	display:inline-block;
	margin-right:1em;
	font-weight:400;
}

.Flex__wrap .text{
	width:77%;
}

div#toc_container{
	width:100%;
}

div#toc_container + h2{
	margin-top:0em;
}

/***********

SP

***********************/

@media screen and (max-width: 767px) {
	.Flex__wrap .image, .Flex__wrap .text{
		width:100%;
		margin-right:0;
	}
	
	.Flex__wrap .image img{
		margin-left:auto;
		margin-right:auto;
	}
	
	.Flex__wrap .image{
		text-align:center;
		margin-bottom:1em;
	}
}

/***********吹き出し************/
.balloon .faceicon.maru img{
  width: 100%;
  height: auto;
  border-radius:50%;
}

@media screen and (min-width: 768px) {
.balloon {
  width: 100%;
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon .faceicon {
  float: left;
  margin-right: -90px;
  width: 80px;
}

.balloon.left .faceicon{
	float:right;
	margin-left: -90px;
	margin-right:inherit;
}

.balloon .faceicon img{
  width: 100%;
  height: auto;
}
	
.balloon .chatting {
  width: 100%;
}

.says {
  display: inline-block;
  position: relative; 
  margin: 5px 0 0 105px;
  padding: 17px 13px;
  border-radius: 12px;
  background: #fff;
	border:4px solid #d7ebfe;
}

.balloon.left{
	text-align:right;
}

.balloon.left .says{
  display: inline-block;
  position: relative; 
  margin: 5px 105px 0 auto;
  padding: 17px 13px;
  border-radius: 12px;
  background: #fff;
	border:4px solid #d7ebfe;
	text-align:left;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  left: -22px;
width: 0;
height: 0;
border-style: solid;
border-width: 10px 20px 10px 0;
border-color: transparent #d7ebfe transparent transparent;
}

.balloon.left .says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  right: -22px;
  left:inherit;
width: 0;
height: 0;
border-style: solid;
border-width:10px 0 10px 20px;
border-color: transparent transparent transparent #d7ebfe;
}

.says p {
  margin: 0;
  padding: 0;
}
}

@media screen and (max-width: 767px) {
.balloon {
  width: 100%;
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon .faceicon {
  float: none;
  width: 80px;
}

.balloon.left .faceicon{
	float:none;
	margin-left:auto;
	margin-right:inherit;
}

.balloon .faceicon img{
  width: 100%;
  height: auto;
}

.balloon .chatting {
  width: 100%;
}

.says {
  display:block;
  position: relative; 
  margin: 5px auto;
  padding: 17px 13px;
  border-radius: 12px;
  background: #fff;
	border:4px solid #d7ebfe;
}

.balloon.left{
	text-align:left;
}

.balloon.left .says{
  display: block;
  position: relative; 
  margin: 5px auto;
  padding: 17px 13px;
  border-radius: 12px;
  background: #fff;
	border:4px solid #d7ebfe;
	text-align:left;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: -20px; 
  left: 20px;
width: 0;
height: 0;
border-style: solid;
border-width: 0 10px 20px 10px;
border-color: transparent transparent #d7ebfe transparent;
}

.balloon.left .says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: -20px; 
  right: 20px;
  left:inherit;
width: 0;
height: 0;
border-style: solid;
border-width: 0 10px 20px 10px;
border-color: transparent transparent #d7ebfe transparent;

}

.says p {
  margin: 0;
  padding: 0;
}
}

/***********吹き出し************/

#splash {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  background:#fff;
  text-align:center;
  color:#000;
  top:0;
  left:0;
}

#splash_logo .caption{
	font-weight:700;
	font-size:var(--h1);
	text-align:center;
	font-weight:900;
	font-family:'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
	letter-spacing:0.08rem;	
}

#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	  width:100%;
}

#splash_logo img {
  width:70px;
	margin:auto;
}

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}

.logo-border{
	position: relative;
	font-size: 18px;
	padding-top:3.5vh;
}

.logo-border:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	border-bottom: solid 2px var(--key-Color);
	animation: border_anim 1.5s linear forwards;
}

.logo-border-right{
	position: relative;
	font-size: 18px;
    margin-top:3.5vh;
}

.logo-border-right:before{
	content: '';
	position: absolute;
	left: 100%;
	bottom: 0;
	width: 0;
	transform: translateX(-100%);
	border-bottom: solid 2px var(--Red);
	animation: border_right_anim 1.5s linear forwards;
}

@keyframes border_anim {
	0%{
		width: 0%;
	}
	100%{
		width: 100%;
	}
}

@keyframes border_right_anim {
	0%{
		width: 0%;
	}
	100%{
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	
	#splash_logo .caption{
		width:100%;
		font-size:20px;
	}
	
	#splash_logo img {
		width:50px;
	}
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}