@charset "utf-8";


/***********************************************************************************************************************
* 基本構造
***********************************************************************************************************************/
html{}
a,button{   color: #15B5E5; cursor: pointer; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease;}
a:hover,button:hover{ opacity: 0.5;}


/*画像幅100%*/
img{ max-width: 100%; height: auto;}
img.wide{ width: 100%; height: auto;}

.mgn{
	margin: 0 auto;
}

.abs{
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
}

/*フレックスボックス**/
.flex-wrap{ -webkit-flex-wrap: wrap; flex-wrap: wrap;}
.flex.revs{ -webkit-flex-direction: row-reverse; flex-direction:row-reverse;}
.flex.va-cent{ -webkit-align-items: center; align-items:center;}
.flex.jc-cent{ -webkit-justify-content: center; justify-content: center;}
.flex.jc-right{ -webkit-justify-content: flex-end; justify-content: flex-end;}
.grid{ display: -webkit-flex; display: flex;justify-content: space-between;}

/*画像切り替えなど*/
.sp{ display: none !important; }
.sp2{ display: none !important; }
.sp3{ display: none !important; }
.pc{ display:block !important; }
.pc2{ display:block !important; }
.pc3{ display:block !important; }

/*ローディング*/
#loader-bg { position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; background: #fff; z-index: 10;}
#loader {display: block;position: absolute;top: 50%;width: 100%;height: 60px;left: 0;-webkit-transform: translate(0, -50%);transform: translate(0, -50%);text-align: center;z-index: 100;}
/*ローダー・サークル*/
.loader1{ width:45px; height:45px; border-radius:50%; border:2px solid rgba(0,0,0,0.2); border-top-color:rgba(0,0,0,0.4); box-sizing:border-box; display: inline-block; animation:loading 0.6s linear infinite; -webkit-animation:loading 0.6s linear infinite;}
	@keyframes loading{ 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)}}
	@-webkit-keyframes loading{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}

#all-wrap{ position: relative; opacity: 0;}
#all-wrap.active{ opacity: 1;}

/*リサイズ時アニメーション回避*/


body{
	font-size: 1.6rem;
	background: #fff;
	line-height:2;
	color:#000000;
	text-align: justify;
}


body .fin{ transform: none !important; transition-delay: 0s !important; transition-duration: 0s !important;}

/*背景画像デフォルト設定*/
.bgcover{background-size:cover;background-repeat: no-repeat;background-position: center;}

/*リストマーク*/
.mk>li{ position: relative; padding-left: 1em;}
.mk>li>span{ position: absolute; left:0; top:0;}

.mk2>li{ position: relative; display: table;}
.mk2>li>i{ white-space: nowrap;width: 0px; display: table-cell;}
.mk2>li>span{display: table-cell;}


h1,h2,h3,h4,h5,h6{ line-height: 1.2em; color:#000;}

/*google font*/
.ff1{
	font-family: 'Arial', sans-serif;
}

.gf1{
	font-family: 'Roboto', sans-serif;
}

.gf2{
	font-family:  "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3",'Noto Serif JP', serif;
}


.uline{
	color:#0d286a;
	text-decoration: underline;
}

.uline_r{
	color:#881414;
	text-decoration: underline;
}

.ex{
	padding-right: 1em;
	background-image: url(../img/open.svg);
	background-position: 100% 60%;
	background-repeat: 	no-repeat;
}

.ex_r{
	padding-right: 1em;
	background-image: url(../img/open_red.svg);
	background-position: 100% 60%;
	background-repeat: 	no-repeat;
}

.wrap{
	max-width: 1000px;
	padding: 0 20px;
	margin:0 auto;
}

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

	body{
		font-size: 1.4rem;
	}

	.wrap {
	    padding: 0 20px;
	}

	a:hover,button:hover{ opacity: 1;}

}

/*表示切り替え*/
.pc{ display: block !important; }
.sp{ display:none !important; }
.pc2{ display: block !important; }
.sp2{ display:none !important; }

@media screen and (max-width:1100px){
  .pc{ display: none !important; }
  .sp{ display:block !important; }
}

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

	.pc2{ display: none !important; }
	.sp2{ display:block !important; }

}


#container{
	padding-top: 100px;
}

.home #container{
	padding-top: 100px;
}




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

  #container {
    padding-top: 60px;
  }
  .home #container{
    padding-top: 60px;
  }

}

/*******************************************
共通パーツ
********************************************/
.cmn-wrap{
  margin: 0 auto;
  max-width: 1240px;
  width: 100%;
  padding: 0 40px;
}

@media screen and (max-width:768px){
  .cmn-wrap{
    width: 100%;
    padding: 0 20px;
  }
}

.cmn-button1{
  width: 241px;
  border:1px solid #101010;
  border-radius: 10px;
  background: #fff;
  display: block;
  padding: 9px;
  color: #0068B7;
}


/*------------------
見出し
------------------*/
.cmn-headline-l{
  margin-bottom: 50px;
}
.cmn-headline-l>strong{
  font-size: 5.2rem;
  color: #0068B7;
  display: block;
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.cmn-headline-l>span{
  font-weight: bold;
/*  color: #0068B7;*/
  line-height: 1.5;
  text-align: center;
  display: block;
}

.cmn-headline-l2{
  margin-bottom: 50px;
}
.cmn-headline-l2>strong{
  font-size: 4.8rem;
  color: #0068B7;
  display: block;
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.cmn-headline-l2>span{
  font-weight: bold;
/*  color: #0068B7;*/
  line-height: 1.5;
  text-align: center;
  display: block;
}

.cmn-headline-m{
  font-size: 2.6rem;
  margin-bottom: 30px;
  text-align: center;
}

@media screen and (max-width:768px){
  .cmn-headline-l {
    margin-bottom: 30px;
  }

  .cmn-headline-l>strong{
    font-size: 3.6rem;
  }
  .cmn-headline-m{
    font-size: 2.2rem;
    margin-bottom: 20px;
  }


}

/*------------------
ボタン
------------------*/
.cmn-button1{
  position: relative;
  background: #0159C4;
  text-align: center;
  width: 269px;
  padding: 15px;
  color: #fff;
  border:none;
  font-weight: bold;
  font-size: 1.8rem;
  line-height:  1.5;
  border-radius: 15px;
}
.cmn-button1.arrow::after{
  content:"";
  position: absolute;
  top:50%;
  right:20px;
  width: 10px;
  height: 10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: translate(0,-50%) rotate(-45deg);
}

.cmn-button2{
  position: relative;
  background: #0159C4;
  text-align: center;
  width: 269px;
  padding: 20px 15px;
  color: #fff;
  border:none;
  font-weight: bold;
  font-size: 2.4rem;
  border-radius: 20px;
  display: block;
}
.cmn-button2.arrow::after{
  content:"";
  position: absolute;
  top:50%;
  right:20px;
  width: 10px;
  height: 10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: translate(0,-50%) rotate(-45deg);
}

.cmn-button2.under::after{
  content:"";
  position: absolute;
  top:50%;
  right:30px;
  width: 10px;
  height: 10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: translate(0,-50%) rotate(45deg);
}

.cmn-button2.back{
  background: #7E7E7E;
}

.cmn-button2.back.arrow::after{
  content:"";
  position: absolute;
  top:50%;
  right:auto;
  left:20px;
  transform: translate(0,-50%) rotate(135deg);
}

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

  .cmn-button2{
    padding: 15px 15px;
  }

}

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

  .cmn-button2 {
      padding: 10px 15px;
      font-size: 1.6rem;
      border-radius: 15px;
  }
  .cmn-button2.under::after {
    right: 15px;
  }
}


.cmn-button3{
  color: #445D9D;
  border-radius: 5px;
  border:1px solid #445D9D;
  width: 252px;
  padding: .5em;
  text-align: center;
}
.cmn-button3>span{
  display: inline-block;
  padding-left: 25px;
  background-image: url(../img/icon_list.svg);
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: left center;
}


.cmn-button4{
  display: block;
  width: 348px;
  border-radius: 5px;
  padding: 1em;
  text-align: center;
  font-size: 1.8rem;
  background: #fff;
  color: inherit;
  font-weight: bold;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}


/*------------------
.cmn-main
------------------*/
.cmn-main{
  padding-top: 50px;
}

.cmn-contents-row,
.cmn-contents-row2{
  position: relative;
  display: flex;
  margin: 0 auto;
  margin-top: 90px;
  margin-bottom: 90px;
  padding-bottom: 100px;
  max-width: 1240px;
  padding: 0 40px;
}
.cmn-contents-main,
.cmn-contents-main2{
  width: calc(100% - 290px);
  padding-right: 5%
}

.cmn-contents-aside,
.cmn-contents-aside2{
  position: relative;
  width: 290px
}
.cmn-contents-aside .sticky-block{
  position: sticky;
  right:0;
  top:150px;
}

.cmn-contents-aside{
  background: #fff;
}

.cmn-contents-aside .drawer1{
  margin-top: 40px;
}

.cmn-contents-aside .drawer1 .inner{
  height: calc(100vh - 550px);
  overflow-y: scroll;
  overflow-x:hidden;
}

.cmn-contents-aside .drawer1 .inner::-webkit-scrollbar {
    width: 5px;
    border-radius: 5px;
}
 
.cmn-contents-aside .drawer1 .inner::-webkit-scrollbar-track {
    background-color:rgba(0,0,0,0);
}
 
.cmn-contents-aside .drawer1 .inner::-webkit-scrollbar-thumb {
    background-color:rgba(0,0,0,0.1);
}


.cmn-contents-aside .drawer1-head{
  background: #E95A00;
  padding-left: 20px;
  line-height:  1.4;
  margin-bottom: 0px;
}

.cmn-contents-aside .drawer1-head::after {
  right: 30px;
}

.cmn-contents-aside .drawer1-body{
  background: #F7F7F7;
  padding: 10px 10px;
  display: block;
}

.cmn-contents-aside .latest-schedule-block1 {
  padding-top: 20px;
}

.cmn-contents-aside .latest-schedule-block1 .col:not(:last-child){
  margin-bottom: 10px;
}

/* .cmn-contents-aside .latest-schedule-block1 .col:nth-child(1){
  margin-bottom: 10px;
}
 */
.cmn-contents-aside .latest-schedule-block1 .col{
  border:2px solid #E95A00;
  background: #fff;
  box-shadow: none;
  padding: 15px 15px;
}

.cmn-contents-aside .latest-schedule .button-area {
  padding: 30px 0 25px;
}

.cmn-contents-aside .latest-schedule .button-area .cmn-button1{
  background: #E95A00;
}

.cmn-contents-aside .latest-schedule-block1>.col .button{
  background: #E95A00;
  margin-top: -15px;
}

.cmn-contents-aside .latest-schedule-block1 .col dt{
  color: #E95A00;
}

.cmn-contents-aside .latest-schedule-block1 .col dt .address{
  display: flex;
}

.cmn-contents-aside .latest-schedule-block1>.col .map {
  border: 1px solid #E95A00;
  color: #E95A00;
}

.cmn-contents-aside .sticky-block .cmn-button2{
  width: 100%;
}

.cmn-contents-aside .latest-schedule-block1{
  display: block;
}
.cmn-contents-aside .latest-schedule-block1 .col{
  width: 100%;
}


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

  .cmn-contents-row,
  .cmn-contents-row2{
    position: relative;
    display: flex;
    margin-top: 30px;
    padding-bottom: 50px;
  }

  .cmn-contents-main2,
  .cmn-contents-main{
    width: 70%;
    padding-right: 5%
  }
  .cmn-contents-aside,
  .cmn-contents-aside2{
    width: 30%;
  }

}

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

  .cmn-contents-row,
  .cmn-contents-row2{
    display: block;
    width: 100%;
    padding: 0px;
    margin-bottom: 0px;
  }

  .cmn-contents-main,
  .cmn-contents-main2{
    width: 100%;
    padding-right:0%;
    display: block;
    padding: 0 30px 50px;
  }

  .cmn-contents-main2{
    padding: 0 30px 0px;
  }

  .cmn-contents-aside{
    position:sticky;
    bottom:0;
    left:0;
    width: 100%;
  }
  .cmn-contents-aside .sticky-block {
    position: static;
    right: 0;
    top: 150px;
  }
  .cmn-contents-aside .latest-schedule-block1 {
    padding-top: 0px;
  }

  .cmn-contents-aside .drawer1 {
      margin-top: 0;
      text-align: left;
  }

  .cmn-contents-aside .drawer1-head{
    text-align: center;
  }

  .cmn-contents-aside .drawer1-body{
    display: none;
    text-align: center;
  }

  .cmn-contents-aside .drawer1 .inner {
      width: calc(77.5% - 10px);
      overflow-x: scroll;
      overflow-y: hidden;
      height: auto;
  }
  .cmn-contents-aside .latest-schedule-block1{
    display: flex;
    /*padding-right: calc(22.5% + 10px);*/
    flex-wrap:nowrap;
    justify-content: flex-start;
    flex-direction: row;
    gap:10px;
    min-width: 100%;
  }

  .cmn-contents-aside .latest-schedule-block1>.col dl {
    margin-bottom: 18px;
  }

  .cmn-contents-aside .latest-schedule-block1>.col .button {
    margin-top: 0;
  }

  .cmn-contents-aside .latest-schedule-block1 .col{
    width: calc( (100% - 10px) / 2);
    min-width: calc( (100% - 10px) / 2);
    margin-bottom: 0;
    text-align: left;
  }

  .cmn-contents-aside .latest-schedule-block1 .col:nth-child(1) {
    margin-bottom: 0px;
  }

  .cmn-contents-aside .drawer1-body{
    position: relative;
  }

  .cmn-contents-aside .latest-schedule .button-area {
    padding: 10px 0 10px;
    position: absolute;
    right:10px;
    top:0;
    height: 100%;
    width: 22%;
  }
  .cmn-contents-aside .latest-schedule .button-area > .cmn-button1{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    line-height: 1.4;
    padding-left: 5%;
    font-size: 1.8rem;

  }

  .cmn-contents-aside .latest-schedule .button-area > .cmn-button1::after{
    display: block;
    top:auto;
    bottom:30px;
    transform: rotate(-45deg);

  }

  .cmn-contents-aside .sticky-block .cmn-button2 {
    width: 100%;
    padding: 10px;
    color: #fff;
    border: none;
    font-weight: bold;
    font-size: 2.1rem;
    border-radius: 0px;
    display: block;
  }

  .cmn-contents-aside2{
    width: 100%;
    padding: 0 30px;
      margin-top: 60px;
  }

}

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

  .cmn-contents-row {
    margin: 0 auto;
    margin-top: 50px;
    padding-bottom: 50px;
    padding: 0px;
  }

  .cmn-contents-main {
    padding: 0 20px 50px;
  }

  .cmn-contents-main2 {
    padding: 0 20px 0px;
  }

  .cmn-contents-aside .sticky-block .cmn-button2 {
    font-size: 1.8rem;
  }

  .cmn-contents-aside .drawer1-head {
    font-size: 1.8rem;
    padding-top: 15px
  }

}


/*header*/
header {
  position: fixed;
  width: 100%;
  height: 100px;
  background: #fff;
  z-index: 1000;
  display: flex;
  background: #0159C4;
  padding-right: 108px;
  justify-content: space-between;
  z-index: 1000;
}

header a{
  color:#fff;
}


.header-logo img{
	max-width: 261px;
}

.header-contact {
  position: absolute;
  right: 104px;
  top: 22px;
  display: block;
  width: 180px;
  height: 50px;
  line-height: 50px;
  font-size: 1.8rem;
  background: #881414;
  color: #fff;
  text-align: center;
  font-weight: bold;
}

body header #menu-button-wrap{
  position: absolute;
  display: block;
  right: 0px;
  top: 0px;
  width: 108px;
  height: 100px;
  background: #0035BD;
}

body header #menu-button {
  position: absolute;
  display: block;
  top: 31px;
  right:38px;
  width:30px;
  height: 21px;
  cursor: pointer;
  z-index: 5;
  margin-top: 0px;
  transition: all 0.3s ease;
  z-index: 100;
}

body header #menu-button::after{
	content:"Menu";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	bottom:-23px;
	left:-2px;
	color:#fff;
	font-size: 1.3rem;
	font-family: 'Roboto', sans-serif;
	font-weight: normal;
}


body header #menu-button>div{
	width: 30px;
	height: 2px;
	background: #fff;
	position: absolute;
	transition: all .5s;
}

body header.on #menu-button>div{
	background: #fff;
}

body header #menu-button>div:nth-child(1){
top: 0%;
transform: translate(0%,0%);
}

body header #menu-button.active>div{
}

body header #menu-button.active>div:nth-child(1) {
	top: 50%;
	transform: translate(-5%,-50%) rotate(45deg);
}
body header #menu-button>div:nth-child(2){
top: 50%;
}
body header #menu-button.active>div:nth-child(2) {
	opacity: 0;
}
body header #menu-button>div:nth-child(3){
	top: 100%;
  transform: translate(0%,0%);
}
body header #menu-button.active>div:nth-child(3) {
	top: 50%;
	transform: translate(-5%,-50%) rotate(-45deg);
}

/**/
.header-logo {
  left: 0px;
  padding-top: 25px;
  padding-left:30px;
  width:322px;
 	height: 100px;
 	z-index: 100;
 	background: #fff;	
}
.header-logo img{
	width:261px;
}


/**/
.header-menu {
  max-width: 1012px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
	width:calc(100% - 322px);
}

header nav .header-menu {
  display: none;
}

.header-menu>li{
	position: relative;
	width:33.33%;
}

.header-menu>li:not(:last-child)::after{
	content:"";
	position: absolute;
	display: block;
	width: 1px;
	height: 40px;
	right: 0;
	top:30px;
	background: #fff;
}

.header-menu>li>a{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	width: 100%;
	height: 100px;
	line-height: 1.6;
	font-size: 	1.8rem;
}

.header-menu>li>a>div{
	display: flex;
	justify-content: center;
	align-items: center;
}

.header-menu>li>a i{
	display: block;
	width:40px;
	height: 40px;
}
.header-menu>li>a>div>span{
	padding-left: 15px;
}


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

  header nav .header-menu {
    display: flex;
  }

  header> .header-menu>li {
    position: relative;
    width: 40%;
  }

  header>.header-menu>li:nth-child(2){
    display: none;
  }

  header>.header-menu>li:nth-child(2){
    display: none;
  }

  header >.header-menu>li>a>div{
    display: block;
  }

  header > .header-menu>li>a i{
    display: block;
    width:40px;
    height: 40px;
    margin:0 auto 5px;
  }
  header > .header-menu>li>a>div>span{
    padding-left: 0px;
  }

  header nav .header-menu {
    position: fixed;
    top:99px;
    left:0;
    width: 100%;
    max-width: none;
    width: 100%;
    display: flex;
    width:100%;
    background: #0159C4;
    z-index: 2;
  }
  header nav .header-menu>li>a{
    height: 110px;
    font-size:  1.6rem;
  }

  header nav .header-menu>li:not(:last-child)::after {
    height: 78px;
    right: 0;
    top: 15px;
  }

}

@media screen and (max-width:768px){
  header>.header-menu{
    display: none;
  }
  header nav .header-menu {
    top: 59px;
  }
}


/**/
header nav{
	position: absolute;
	opacity: 1;
	top:100px;
	left:0%;
	width: 100%;
	padding:0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	transition: all 0.4s ease;
	text-align: left;
	border-top: none;
	z-index: 20;
	opacity: 1;
	background: #0035BD;
	color: #fff;
	display: none;
}

body header nav.block {
	display: block;
}

body header nav.block.active {
	opacity: 1;
	left:0;
  transition: all 0.3s ease;
}

header nav .header-nav{
	max-width: 1260px;
	width:100%;
	display: flex;
	flex-wrap:wrap;
	margin: 0 auto;
	padding: 157px 50px 50px;
	gap:50px;
	padding-top: 82px;
}
header nav .header-nav .col{
	width: calc( (100% - 150px) / 4);
	color: #fff;
}
@media screen and (max-width:1200px){
	header nav .header-nav{
		gap:30px;
	}

	header nav .header-nav .col{
		width: calc( (100% - 90px) / 4);
	}
}

header nav .header-nav .menu>li>span,
header nav .header-nav .menu>li>a{
	background-position: right center;
	background-repeat: no-repeat;
	display: block;
	border-bottom: 2px solid #fff;
	font-size: 2.4rem;
	font-weight: bold;
}

header nav .header-nav .menu>li>a{
	background-image: url(../img/arrow.svg);
}

header nav .header-nav .menu>li{
	margin-bottom: 40px;
}

header nav .header-nav .sub-menu{
	margin-top: 20px;
}
header nav .header-nav .sub-menu>li>a{
	position: relative;
	padding-left: 25px;
	font-size: 	1.8rem;
}
header nav .header-nav .sub-menu>li>a::after{
	content:"－";
	position: absolute;
	display: block;
	width: 1em;
	height: 1em;
	top:-5px;
	left:0;
}


header  .member-menu{
	margin-top: 20px;
}
header  .member-menu>li{
	margin-bottom: 20px;
}
header  .member-menu>li a{
	display: flex;
	font-weight: normal;
}

header  .member-menu>li figure{
	width:75px;
}
header  .member-menu>li .box{
	width:calc(100% - 75px);
	padding-left: 14px;
}

header  .member-menu>li .id{
	margin-bottom: 5px;
	font-size: 1.8rem;
	line-height: 1.3;
}

header  .member-menu>li .catch{
	font-size: 2rem;
	line-height: 1.3;
	padding-right: 1em;
}

header  .ex-menu>li>a{
	position: relative;
	display: flex;
	padding-left: 1em;
	font-weight: normal;
}

header  .ex-menu>li>a::after{
	content:"";
	position: absolute;
	top:10px;
	left:0px;
	width: 7px;
	height: 7px;
	border-right:1px solid #fff;
	border-bottom:1px solid #fff;
	transform: rotate(-45deg);
}

@media screen and (max-width:1200px){
	header  .member-menu>li .catch{
		padding-right: 0;
	}

	header nav .header-nav {
   padding: 80px 40px;
	}

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

  header nav .header-nav {
   padding: 150px 20px 50px;
  }

  header nav .header-nav .col{
    width:100%;
  }

  header  .member-menu{
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
  }

  header  .member-menu>li{
    width:49%;
  }
  header  .member-menu>li>a{
    display: block;
    padding-right: 0;
  }
  header  .member-menu>li>a figure{
    margin-bottom: 10px;
  }

  header .member-menu>li .box {
    width: 100%;
    padding-left: 0;
  }

}

@media screen and (max-width:768px){
	header{
		display: block;
		height: 60px;
		padding-right:0px;
	}

	header nav{
		top:60px;
	}

	header nav .header-nav {
	 padding: 140px 40px 40px;
	}

	header nav .header-nav .col{
		width:100%;
	}

	body header #menu-button-wrap {
    height: 60px;
    top:0;
    width:70px;
  }

  body header #menu-button {
    top: 12px;
  	right:20px;
  }

  .header-logo {
    width: 100%;
    height: 60px;
    padding-top: 8px;
    padding-left: 11px;
  }
	.header-logo img{
		width: 210px;
	}

	header nav .header-nav .menu>li{
		margin-bottom: 35px;
	}

}


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

	.header-menu>li>a.line>div {
	  display: block;
	}

	.header-menu>li>a i {
	  display: block;
	  margin: 0 auto 5px;
	}
	.header-menu>li>a i {
	  display: block;
	  margin: 0 auto 5px;
	}

	.header-menu>li>a>div>span {
	  padding-left: 0;
	}

}



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

	body header #menu-button {
	  right: 0px;
	  top: 0px;
	  width: 108px;
	  height: 100%;
	  z-index: 101;
	}

	.header-logo img{
		max-width: 280px;
	}

	.header-nav-box1{
		display: none;
	}
	.header-nav-box2{
		width: 100%;
	}

	header nav {
		background:#fff;
	}

	.header-nav-block {
		display: block;
		padding-top: 100px;
		padding-bottom: 50px;
	}

	.header-row {
		display: block;
	}

	.header-nav-box2-wrap {
	    position: static;
	    transform: none;
	    text-align: center;
	}


	.header-row-box1 {
	    width: 100%;
	    margin-bottom: 30px;
	}

	.header-row-box2 {
	    width: 100%;
	}

	.header-contact-btn {
    height: auto;
    line-height: 1em;
    text-align: center;
    font-size: 1.8rem;
    padding: 4.5vw 0 3.5vw;
	}
	.header-contact-bnr>li img{
		width: 100%;
	}

	.header-bottom{
		flex-wrap:wrap;
		margin-top: 0;
		justify-content: center;
	}

	.header-policy{
		width: 100%;

	}


}
@media screen and (max-width:425px){
	.header-contact-btn {
	    height: auto;
	    line-height: 1em;
	    text-align: center;
	    font-size: 4.8vw;
	    margin-bottom: 40px;
	    padding: 6.5vw 0 5.5vw;
	}

}

 */
footer{
  position: relative;
	background: url(../img/bg_blue.jpg);
	color: #fff;
	padding: 74px 65px;
  z-index: 1000;
}

footer .footer-nav{
	display: flex;
	max-width: 1440px;
	margin: 0 auto 50px;
}

footer .title{
	font-size: 	2.4rem;
	margin-bottom: 20px;
	color: #fff;
}

footer .footer-nav .col.col0{
	width:290px;
}

footer .footer-nav .col{
	/*width:calc( (100% - 290px) / 4 );*/
	padding-right: 90px;
}

footer .footer-nav .menu>li>a{
  color: #fff;
}

footer .footer-nav .sub-menu {
  margin-top: 0px;
  margin-bottom: 20px;
}

footer .footer-nav .sub-menu>li>a{
	position: relative;
	padding-left: 25px;
	font-size: 	1.8rem;
	display: block;
  color: #fff;
}
footer .footer-nav .sub-menu>li>a::after{
	content:"－";
	position: absolute;
	display: block;
	width: 1em;
	height: 1em;
	top:0px;
	left:0;
}

.footer-copyright{
	max-width: 1440px;
	margin: 0 auto;
}


footer .ex-menu>li>a{
  color:#fff;
}

footer .footer-nav .fax{
 margin-bottom: 20px;
 color: #fff;
}

footer .footer-nav .tel a{
  color: #fff;
}

footer .footer-nav .address a{
  color: #fff;
}

footer  .ex-menu>li>a{
  position: relative;
  display: flex;
  padding-left: 1em;
  font-weight: normal;
}

footer  .ex-menu>li>a::after{
  content:"";
  position: absolute;
  top:10px;
  left:0px;
  width: 7px;
  height: 7px;
  border-right:1px solid #fff;
  border-bottom:1px solid #fff;
  transform: rotate(-45deg);
}

footer .chara{
  position: absolute;
  right:40px;
  bottom:30px;
  width: 155px;
}

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

	footer .footer-nav .col.col0{
		width:260px;
	}

	footer .footer-nav .col{
	  padding-right: 5%;
  }

  footer .footer-nav .col4{
	  padding-right: 0;
  }
}

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

  footer .footer-nav .col{
    display: none;
  }
  footer .footer-nav .col0{
    display: block;
    width:100%;
  }
}

@media screen and (max-width: 768px){
  footer {
    padding: 45px 28px;
  }

  
  footer .footer-nav{
    margin: 0 auto 20px;
  }
  
  footer .chara{
    position: static;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
  }

      
  footer .chara img{
    width: 120px;
  }
}

/**/
.footer-emlist{
	display: flex;
  flex-wrap:wrap;
  background: #fff;
  position: relative;
  z-index: 100;
}

.footer-emlist .col{
  position: relative;
	width:25%;
	height:285px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
  text-align: center;
}

.footer-emlist .col::after{
  content:"";
  position: absolute;
  display: block;
  width: 1px;
  height: 220px;
  top:36px;
  right:0;
  background: #fff;
}
.footer-emlist .col4::after{
  display: none;
}

.footer-emlist .col .title{
	font-size: 	2.8rem;
	color: #fff;
}

.footer-emlist .col.col1 .title{
	font-size: 	2.4rem;
}

.footer-emlist .col.col1 .tel{
  font-size:  3.6rem;
  margin-bottom: 5px;
  font-weight: bold;
}

.footer-emlist .col.col1 .tel a{
  color: #fff;
}


.footer-emlist .col1{
	background: #0035BD;
}
.footer-emlist .col2{
	background: #06346A;
}
.footer-emlist .col3{
	background: #06346A;
}
.footer-emlist .col4{
	background: #4CC764;
}

.footer-emlist .col4 i{
  width: 69px;
  height: 69px;
  background-image: url(../img/icon_line.svg);
  background-repeat: no-repeat;
  background-size: 69px;
  display: block;
  margin: 0 auto 15px;
}

@media screen and (max-width: 1110px){
  .footer-emlist .col{
    width:33.33%;
    height:138px;
  }

  .footer-emlist .col::after {
    height: 76px;
    top: 33px;
  }

  .footer-emlist .col.col1{
    width:100%;
    height: 196px;
  }

  .footer-emlist .col1::after{
    display: none;
  }

  .footer-emlist .col1 .title{
    font-size: 2.1rem;
  }

  .footer-emlist .col1 .title br{
    display: none;
  }

  .footer-emlist .col .title{
    font-size:  2.4rem;
  }

  .footer-emlist .col4 i{
    width: 49px;
    height:49px;
    background-size: 49px;
    margin: 0 auto 10px;
  }

  .footer-emlist .col.col1 .title{
    font-size:  2.4rem;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .footer-emlist .col.col1 .tel{
    line-height: 1.3;
  }
}

@media screen and (max-width: 768px){
  .footer-emlist .col .title{
    font-size:  1.6rem;
  }

  .footer-emlist .col{
    height:110px;
  }

  .footer-emlist .col::after {
    top: 20px;
  }

}


/***********
voice
***********/

/*
voice：メイン
*/

.voice-head{
  position: relative;
}

.voice-head .cmn-wrap {
    max-width: 1240px;
    padding: 0 40px;
}

.voice-head-box{
  position: relative;
  padding-top: 40px;
  z-index: 2;
  text-align: center;
}

.voice-head-bg{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 643px;
  background: repeat;
}



.voice-head-title{
  display: block;
  margin-bottom: 13px;
  color: #fff;
}

.voice-head-item{
  display: block;
  font-size: 4.8rem;
  line-height: 1.3;
  color: #fff;
  margin-bottom: 4px;
}
.voice-head-catch{
  line-height: 1.3;
  font-size: 2.4rem;
  margin-bottom: 40px;
  color: #fff;
}
.voice-head-heading{
  color: #01a9e0;
  font-size: 3rem;
  line-height: 1.8;
  margin-bottom: 15px;
}
.voice-head-text{
  padding-bottom: 30px;
  max-width: 960px;
  margin: 0 auto;
  text-align: left;
}

.voice-head-image{
  position: relative;
  max-width: 1280px;
  margin:0 auto;
  width:100%;
  padding-bottom: 0px;
  margin-bottom: 170px;
}

.voice-head-image>img{
  height: 720px;
  object-fit: cover;
}


.voice-head-image .movie {
  position: absolute;
  left: 20px;
  bottom: -148px;
  z-index: 2;
}

@media screen and (max-width:1100px){
  .voice-head-box {
    padding: 30px 0px 0;
  }

  .voice-head-image .movie {
    position: absolute;
    left: -32px;
    bottom: -132px;
  }

}

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

  .voice-head{
    position: relative;
  }
  .voice-head .cmn-wrap {
    padding: 0 20px;
  }
  .voice-head-image>img {
    height: 351px;
  }
  .voice-head-image .movie {
      left: -14px;
      bottom: -73px;
      width: 135px;
  }
  .voice-head-box{
    padding: 30px 0 0;
  }

  .voice-head-bg{
    height: 420px;
  }

  .voice-head-title{
    max-width: 175px;
    margin: 0 auto;
    margin-bottom: 10px;
  }

  .voice-head-item{
    font-size: 4rem;
  }

  .voice-head-catch img {
    height: 39px;
    width: 100%;
  }

  .voice-head-heading{
    font-size: 2.1rem;
    margin-bottom: 12px;
  }
  .voice-head-text{
    padding-bottom: 20px;
  }

  .voice-head-image {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
    padding-bottom: 0px;
    margin-bottom: 80px;
  }

}

/*
voice：section01 ビデオ
*/

.voice-section01{
  padding: 0;
  background: url(../img/new/bg.png);
}

.voice-section01-iframe{
  max-width: 700px;
  margin: 0 auto;
}

.voice-section01-iframe .inner{
  position: relative;
  padding-top: 56.25%;
}

.voice-section01-iframe .inner iframe{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height:100%;
}

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

  .voice-section01{
    padding: 40px 0;
  }

}


/*
voice：section01 プロフィール
*/
.voice-section01-block{}
.voice-section01-block .title{
  font-size: 2.4rem;
  margin: 30px 0;
  text-align: center;
}

.voice-section01-profile .block{
  display: flex;
}
.voice-section01-profile .block .box1{
  width: calc(100% - 350px);
}
.voice-section01-profile .block .box1 .message{
  font-size: 3.2rem;
  font-weight: bold;
}

.voice-section01-profile .block .box2{
  position: relative;
  width: 350px;
  padding-left: 100px;
}

.voice-section01-profile .block .box2::after{
  content:"";
  position: absolute;
  display: block;
  width: 2px;
  height: 78px;
  top:0;
  left:0;
  background: #0068B7;
}

.voice-section01-profile .block .name{
  position: relative;
  font-size: 4.2rem;
  font-weight: bold;
  margin-bottom: 15px;
}

.voice-section01-profile .image{
  width: 195px;
  padding-left: 20px;
}

.voice-section01-profile .box{
  width: calc(100% - 195px);
  padding-left: 45px;
}

.voice-section01-profile .name{
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3;
}
.voice-section01-profile .roma{
  font-size: 1.8rem;
  line-height: 1.3;
  margin-bottom: 10px;
}

.voice-section01-profile .job{
  width: 170px;
  font-size: 1.6rem;
  padding:10px 13px 10px;
  line-height: 1em;
  display: inline-block;
  margin-bottom: 10px;
  font-weight: bold;
  color: #fff;
}


.voice-section01-profile .job.color-a{
  background:#4a8a9f/*施工管理*/
}

.voice-section01-profile .job.color-b{
  background:#c1ab15;/*メンテナンス*/
}

.voice-section01-profile .job.color-c{
  background:#bf6e77;/*営業*/
}

.voice-section01-profile .job.color-d{
  background:#4e8557;/*設計*/
}



.voice-section01-profile .info{
  padding: 0 2px;
  line-height: 1.5;
  font-weight:bold;
}

.voice-section01-row{
  display: flex;
}

.voice-section01-box{
  width: 50%;
}

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

  .voice-section01-profile .block {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .voice-section01-profile .block:last-child{
    margin-bottom: 0;
  }

  .voice-section01-profile{
    display: block;
  }

  .voice-section01-profile .block .box1 .message {
    font-size: 2.6rem;
  }

  .voice-section01-box{
    width: 100%;
    margin-bottom: 40px;
    padding-left: 0;
  }

  .voice-section01-profile .image {
    width: 195px;
    padding-left:0;
  }

  .voice-section01-profile .box {
    width: calc(100% - 195px);
    padding-left: 20px;
  }

   .voice-section01-profile .block{
    display: block;
   }
   .voice-section01-profile .block .box1{
    width: 100%;
    margin-bottom: 10px;
   }
   .voice-section01-profile .block .box2{
    width: 100%;
    padding-left: 0;
    display: flex;
    align-items: baseline;
    padding-top: 15px;
   }

   .voice-section01-profile .block .box2 .join{
    padding-left: 1em;
   }

  .voice-section01-profile .block .box2::after{
    content:"";
    position: absolute;
    display: block;
    width: 215px;
    height: 2px;
  }


}


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

  .voice-section01-profile .image{
    width: 100px;
    padding-left: 0px;
  }
  .voice-section01-profile .box{
    width: calc(100% - 100px);
    padding-left: 20px;
  }

  .voice-section01-profile .name{
    font-size: 2rem;
  }
  .voice-section01-profile .roma{
    font-size: 1.6rem;
  }

  .voice-section01-profile .job{
    width: 100%;
    font-size: 1.4rem;
    padding:10px 13px 10px;
  }


}
/*
voice：section02
*/
.voice-section02{}
.cmn-voice-block {
    display: flex;
    justify-content: space-between;
    margin: 60px auto 60px;
}

.cmn-voice-block.reverse{
  flex-direction: row-reverse;
}

.cmn-voice-text .title{
  font-size: 2.4rem;
  font-weight: bold;
  color: #0159C4;
  margin-bottom: 20px;
  line-height: 1.5;
}

.cmn-voice-text{
  width: 47%;
}
.cmn-voice-text p{
  line-height: 2;
  font-size: 1.8rem;
}
.cmn-voice-image{
  width: 47%;
  padding-top: 0px;
}

.cmn-voice-image ul>li{
  margin-bottom: 40px;
}
.cmn-voice-image ul>li:last-child{
  margin-bottom: 0;
}

@media screen and (max-width:1200px){
  .cmn-voice-text{
    width: 48%;
  }
  .cmn-voice-image{
    width: 48%;
  }

}


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

  .cmn-voice-block {
      padding: 0;
      display: block;
  }

  .cmn-voice-text{
    width: 100%;
    margin:0 auto;
    margin-bottom: 0;
  }

  .cmn-voice-image {
    width: 100%;
    margin: 40px auto 0;
    padding: 0 70px;
  }

  .cmn-voice-image img{
    width: 100%;
  }

}

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

  .cmn-voice-text .title {
      font-size: 2rem;
  }

  .cmn-voice-text .theme {
    display: flex;
    margin-bottom: 5px;
  }

  .cmn-voice-block{
    padding: 0;
    display: block;
    margin: 40px auto 77px;
  }

  .cmn-voice-block:last-child {
    margin-bottom: 40px;
  }

  .cmn-voice-image {
    width: 100%;
    margin: 30px auto 0;
    padding: 0px;
  }

}

/*------------------
voice-inter-image
------------------*/
.voice-inter-image{
  margin-top: 110px;
  margin-bottom: 80px;
}

.voice-inter-image img{
  width: 100%;
}

.op-left{
  object-position: 30% center;
}

@media screen and (max-width:1100px){
  .voice-inter-image img{
    height: 400px;
    object-fit: cover;
  }
}

@media screen and (max-width:768px){
  .voice-inter-image img{
    height: 196px;
  }

  .voice-inter-image {
      margin-top: 80px;
      margin-bottom: 70px;
  }

}

/*
voice：section03 video
*/
.voice-section03{
  padding: 62px 50px 62px;
  background: url(../img/new/bg.png);
}

.voice-section03-block{
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
}

.voice-section03-iframe{
  width: 44.4%;
}

.voice-section03-iframe .inner {
  position: relative;
  padding-top: 56.25%;
}

.voice-section03-iframe .inner iframe {
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
}

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

  .voice-section03-iframe{
    width: 48%;
  }

}

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

  .voice-section03-block {
    max-width: 1080px;
    margin: 0 auto;
    display: block;
    padding: 0 30px;
  }

  .voice-section03-iframe{
    width: 100%;
    max-width: 700px;
    margin: 0 auto 40px;
    margin-bottom: 40px;
  }
  .voice-section03-iframe:last-child{
    margin-bottom: 0;
  }
}

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

  .voice-section03 {
      padding: 40px 0 40px;
  }

  .voice-section03-block {
    padding: 0px;
  }

}

/*
voice：section04 detail
*/
.voice-section04 {
}

.voice-section04-inner{
  border-top:1px solid #bfbfbf;
  padding-top: 60px;
}

.voice-section04-block {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
}

.voice-section04-box {
  padding: 30px 20px 30px 40px;
  width: 44.4%;
  background: url(../img/new/bg2.png);
}

.voice-section04-title{
  margin-bottom: 25px;
  display: flex;
}

.voice-section04-title i {
  font-size: 2.4rem;
  color:#00a9e0;
  line-height: 1.2em;
  padding-right: 1.1em;
}

.voice-section04-title span {
  display: inline-block;
  margin-top: -1px;
}

.voice-section04-detail{
  display: flex;
}

.voice-section04-detail .image{
  width: 43.8%;
}

.voice-section04-detail .text {
  padding-left: 1em;
  width: 56.2%;
}

.voice-section04-detail .text dl{
  display: flex;
  margin-bottom: 20px;
  flex-wrap:wrap;
  line-height: 1.6;
}

.voice-section04-detail .text dl dt{
  position:relative;
  width:5em;
  padding-right: 1em;
}

.voice-section04-detail .text dl dt::after{
  content:"：";
  position: absolute;
  display: block;
  width: 1em;
  height: 1em;
  top:0;
  right:0;
}

.voice-section04-detail .text dl dd{
  width: calc(100% - 5em);
}

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

  .voice-section04-box {
    padding: 30px 20px 30px 40px;
    width: 48%;
  }


}

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


  .voice-section04-detail .image{
   width: 30%;
  }

  .voice-section04-detail .text {
    padding-left: 1em;
    width: 70%;
  }
}


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

  .voice-section04-block {
    display: block;
  }

  .voice-section04-inner {
    padding-top: 40px;
  }


  .voice-section04-detail .image{
   width: 35%;
  }

  .voice-section04-detail .text {
    padding-left: 1em;
    width: 65%;
  }

  .voice-section04-box {
    padding:30px 30px;
    width: 100%;
    margin-bottom: 40px;
  }
  .voice-section04-box:last-child{
    margin-bottom: 0;
  }

}


@media screen and (max-width:425px){
  .voice-section04-detail {
    display: block;
  }
  .voice-section04-detail .image {
    width: 100%;
    text-align:   center;
    margin-bottom: 20px;
  }

  .voice-section04-detail .text {
    padding-left: 0;
    width: 100%;
  }
}




/*
voice：section04 link
*/

.voice-section04 .voice-section04-link{
  display: flex;
  flex-wrap:wrap;
}

.voice-section04 .voice-section04-link>li a{
  display: block;
}

.voice-section04 .voice-section04-link>li{
  width: 120px;
  margin-right: 20px;
}
.voice-section04 .voice-section04-link>li p{
  position: relative;
  padding-left: 1.1em
}
.voice-section04 .voice-section04-link>li p::after{
  content:"";
  position: absolute;
  top:50%;
  left:0px;
  width: 8px;
  height: 8px;
  margin-bottom: -3px;
  border-right:2px solid #00a9e0;
  border-bottom:2px solid #00a9e0;
  transform: translate(0,-50%) rotate(-45deg);
  z-index: 2;
}

/*
voice：section05 
*/

.voice-section05{
  padding: 40px 0;
}
.voice-section05-title{
  text-align: center;
  margin-bottom: 40px;
}
.voice-section05 .item-list{
  display: flex;
  max-width: 1080px;
  margin: 0 auto;
}
.voice-section05 .item-list>li{
  width: 31.48%;
  margin-right: 2.77%;
}

.voice-section05 .item-list>li img{
  width: 100%;
}

.voice-section05 .item-list>li:last-child{
  margin-right: 0;
}
.voice-section05 .item-list>li p{
  display: flex;
  color: #fff;
  margin-top: 10px;
}
.voice-section05 .item-list>li p>i{
  font-size: 2.4rem;
  line-height: 2.4rem;
  margin-right: 0.5em;
}
.voice-section05 .item-list>li p>span{
  font-size: 1.8rem;
  line-height: 2.4rem;
}
@media screen and (max-width:540px){

  .voice-section05 .item-list{
    display: block;
  }
  .voice-section05 .item-list>li{
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
}

.member-slider{
  margin-top: 40px;
}

.member-slider .swiper-slide{
  position: relative;
  width: 256px !important;
  overflow: hidden;
  border-radius: 20px;
  /*margin-left: 40px;*/
}

.member-slider .swiper-slide .text{
  width: 100%;
  position: absolute;
  left:0;
  bottom:0;
  background: rgba(0,104,183,0.8);
  color: #fff;
  padding: 15px 0 10px;
}

.member-slider .swiper-slide .text>.catch{
  font-size: 2.4rem;
  line-height: 1em;
}
.member-slider .swiper-slide .text>.catch img{
  height: 24px;
  width: auto;
}
.member-slider .swiper-slide .text>.join{
  font-size: 1.4rem;
}


.member-slider .swiper-wrapper {
  margin-left: 0px;
}

.member-slider .swiper-slide::after{
  content:"";
  position: absolute;
  display: block;
  width: 2px;
  height: 100%;
  top:0;
  left:50%;
  margin-left: -1px;  
}

.member-section{
  background: #F0F9FF;
  text-align: center;
  padding: 60px 0;
}

.member-title{
  font-size: 5.2rem;
  color: #0068B7;
}

.member-section>.catch{
  font-weight: bold;
  color: #0068B7;
}

.member-slider .swiper-arrow{
  display: flex;
  justify-content: center;
  gap:30px;
  margin: 38px 0;
}

.member-slider .swiper-button-prev,
.member-slider .swiper-button-next{
  position: relative;
  width: 40px;
  height: 40px;
  background: none;
  margin-top: 0;
  left:0;
  top:0;
}

.member-slider .swiper-button-prev::after,
.member-slider .swiper-button-next::after{
  content:"";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  pointer-events: none;
  background-image: url(../img/arrow_r.svg);
  background-repeat: no-repeat;
  background-position: center;
}

.member-slider .swiper-button-prev::after{
  background-image: url(../img/arrow_l.svg);
  background-repeat: no-repeat;
  background-position: center;
}

.member-section .button-area{
  display: flex;
  justify-content: center;
}


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

  .footer-emlist .col1{
    background: #0035BD;
  }

  .footer-emlist .col1 .tel{
    font-size:  3.6rem;
    font-weight:  bold;
  }

  .footer-emlist .col1 .message{}

  .footer-emlist .col2 .title,
  .footer-emlist .col3 .title,
  .footer-emlist .col4 .title{
    font-size:  2.8rem;
    font-weight:  bold;
  }
}
*/

/*ページャー*/
.pager {
    letter-spacing: -0.5em;
    padding: 0;
    margin: 50px 0 50px;
    display: flex;
    justify-content: center;
}

.pager li{
    display: inline-block;
    margin: 0px;
    font-weight: normal;
    text-align: center;
    letter-spacing: normal;
    vertical-align: middle;
    font-weight: bold;
    margin: 0 5px;
    letter-spacing: 0.05em;
}
.pager li:first-child{border-right:none;}
.pager li:last-child{border-right:none;}
.pager li:nth-last-child(2){border-right: #152A87;}
/* .pager .first{}
.pager .last{} */

.pager span {
    display: block;
    width: 100%;
    height: 50px;
    width: 42px;
    line-height: 48px;
    border:2px solid #fff;
    color: #445D9D;
    font-weight: bold;
    border-radius: 10px;
    font-size:  2.1rem;
}

.pager a{
    position: relative;
    display: block;
    width: 100%;
    height: 50px;
    width: 42px;
    line-height: 48px;
    transition: opacity 0.3s ease;
    border:2px solid #445D9D;
    color: #445D9D;
    font-weight: bold;
    border-radius: 10px;
    font-size:  2.1rem;
}

.pager a:hover{
    opacity: 0.6;
}


.pager .first a,.pager .first span,
.pager .prev a,.pager .prev span,
.pager .next a,.pager .next span,
.pager .last a,.pager .last span{
    position: relative;
    background: transparent !important;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
}

.pager .next a::after{
  content: "";
  position: absolute;
  top: 0%;
  left:0;
  transform: rotate(0deg);
  background-image: url(../img/w_arrow.svg);
  background-repeat: no-repeat;
  background-position: 45% center;
  background-size: 20px;
  z-index:  2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.pager .prev a::after{
  content: "";
  position: absolute;
  top: 0%;
  left:0;
  transform: rotate(-180deg);
  background-image: url(../img/w_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  background-position: 45% center;
  z-index:  2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

@media screen and (max-width:768px){
  .pager span,
  .pager a {
    height: 40px;
    width: 35px;
    line-height: 40px;
  }

}

/*******************************************
drawer1
********************************************/
.drawer1-head{
  position: relative;
  background: #0159C4;
  padding:15px 45px;
  color: #fff;
  font-size: 2.1rem;
  cursor: pointer;
}
.drawer1-head::after{
  content:"";
  position: absolute;
  top:50%;
  right:40px;
  width: 10px;
  height: 10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: translate(0,-50%) rotate(45deg);
  margin-top: -5px;
}

.drawer1-head.open::after{
  transform: translate(0,-50%) rotate(-135deg);
  margin-bottom: -15px;
}

.drawer1-body{
  display: none;
}

.drawer1-head.open::after {
  transform: translate(0,-50%) rotate(-135deg);
  margin-top: 5px;
}

@media screen and (max-width: 768px){
  .drawer1-head{
    position: relative;
    background: #0159C4;
    padding:15px 15px;
    color: #fff;
    font-size: 1.6rem;
    cursor: pointer;
  }

  .cmn-contents-aside .drawer1-head::after {
    right: 15px;
  }

  .drawer1-head::after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(0,-50%) rotate(45deg);
    margin-top: -2px;
  }

}



/*******************************************
.latest-schedule
********************************************/
.latest-schedule{
  margin-bottom: 60px;
}

.latest-schedule-block1{
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
  padding-top: 30px;
  gap:30px 20px;
}

.latest-schedule-block1>.col{
  width: 48%;
  padding: 15px 30px 20px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  display: flex;
  flex-direction: column;
  line-height: 1.33;
  border-radius: 5px;
}

.latest-schedule-block1>.col dl{
  margin-bottom: 30px;
}

.latest-schedule-block1>.col dd small{
  font-size: 1.6rem;
}

.latest-schedule-block1>.col dd strong {
  font-size: 1.8rem;
  display: block;
  margin-top: 5px;
  margin-bottom: 5px;
}

.latest-schedule-block1>.col dt{
  color: #0159C4;
  font-size: 1.8rem;
  margin-bottom: 10px;
  font-weight: bold;
}

.latest-schedule-block1>.col .address{
  display: flex;
  flex-wrap:wrap;
  gap:10px 20px;
  align-items: center;
}


.latest-schedule-block1>.col .box2{
  width: 80px;
}

.latest-schedule-block1>.col .map{
  width: 80px;
  line-height: 38px;
  text-align: center;
  display: block;
  border-radius: 5px;
  border: 1px solid #0159C4;
  font-size: 1.8rem;
  color: #0159C4;
  border-radius: 5px;
  margin-top: 0px;
}

.latest-schedule-block1>.col .button{
  padding: 1em;
  text-align: center;
  background: #0159C4;
  border-radius: 10px;
  color: #fff;
}

.latest-schedule .button-area{
  text-align: center;
  display: flex;
  justify-content: center;
  padding: 30px 0 0px;
}

.latest-schedule .empty .message1{
  padding: 100px 0;
  font-weight: bold;
  font-size:  1.8rem;
}

.latest-schedule .empty{
  padding: 0 0 80px;
  text-align:   center;
}

.latest-schedule .empty .cmn-button1{
  display: block;
  margin: 0 auto;
}

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

  .latest-schedule .empty .message1{
    padding: 50px 0;
    font-weight: bold;
    font-size:  1.4rem;
  }

  .latest-schedule-block1{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding-top: 30px;
    gap:20px;
  }

 .latest-schedule-block1 .col{
    width: 100%;
  }
  .latest-schedule .empty{
    padding: 0px;
    text-align:   center;
  }


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

   .cmn-contents-aside .latest-schedule-block1>.col dt {
    font-size: 1.1rem;
    margin-bottom: 5px;
  }
  .cmn-contents-aside .latest-schedule-block1>.col dd strong {
      font-size: 1.1rem;
  }
  .cmn-contents-aside .latest-schedule-block1>.col dd small {
      font-size: 1rem;
  }
  .cmn-contents-aside .latest-schedule-block1>.col .map {
    width: 100%;
    line-height: 32px;
    border-radius: 5px;
    font-size: 1.4rem;
  }

  .cmn-contents-aside .latest-schedule-block1>.col{
    gap:10px;
    padding: 5px;
  }

  .cmn-contents-aside .latest-schedule-block1>.col dd {
      font-size: 1.1rem;
  }
  .cmn-contents-aside .latest-schedule .button-area > .cmn-button1 {
    font-size: 1.1rem;
  }
  .cmn-contents-aside .latest-schedule .button-area > .cmn-button1::after {
    display: block;
    top: auto;
    bottom: 15px;
    transform: rotate(-45deg);
  }

}


.cmn-sort{
  display: flex;
  flex-wrap:wrap;
  gap:20px 30px;
  justify-content: center;
  margin-bottom: 35px;
}
.cmn-sort>li>span,
.cmn-sort>li>a{
  padding:15px 30px ;
  border:1px solid #0159C4;
  border-radius: 15px;
  background: #fff;
  font-weight: bold;
  color: #0159C4;
  display: block;
  font-size: 1.8rem;
}

.cmn-sort>li>span{
  color: #fff;
  background: #0159C4;
}

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

  .cmn-sort{
      gap:10px 20px;
    justify-content: flex-start;
  }
  .cmn-sort>li>span,
  .cmn-sort>li>a {
    padding: 5px 25px;
    font-size: 1.8rem;
  }

}

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

  .cmn-sort>li>span,
  .cmn-sort>li>a {
    padding: 5px 15px;
    font-size: 1.4rem;
  }

}

.requirement-list{
  margin-bottom: 40px;
}
.requirement-box{
  position: relative;
  border:1px  solid #C4C4C4;
  border-radius: 15px;
  padding:40px 50px;
  margin-bottom: 30px;
}
.requirement-box .head{
  position: relative;
  padding-right: 300px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dashed #8E8E8E;
}
.requirement-box .head>.title{
  font-size: 2.8rem;
  margin-bottom: 15px;
  color: #0159C4;
}
.requirement-box .head>.category>span{
  background: #F0F0F0;
  text-align: center;
  padding: 10px 40px;
  font-size: 1.8rem;
}

.requirement-box .cmn-button2{
  position: absolute;
  margin:0 auto;
  right:50px;
  top:40px;
}
.requirement-box> .body{
  display: flex;
}
.requirement-box> .body .box1{
  width: 50%;
  padding-right: 50px;
}
.requirement-box> .body .box2{
  position: relative;
  width: 50%;
  padding-left: 50px;
}

.requirement-box> .body .box2::after{
  content:"";
  position: absolute;
  display: block;
  width: 1px;
  height: 100%;
  top:0;
  left:0;
  background: #C4C4C4;
}

.requirement-box> .body .table{
  width: 100%;
}
.requirement-box> .body .table tr:not(:last-child){
  border-bottom: 1px dashed #8E8E8E;
}
.requirement-box> .body .table th{
  width: 112px;
  padding: 0.5em 0;
}
.requirement-box> .body .table td{
  padding: 0.5em 0;
}

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

  .requirement-box{
      padding:40px 40px;
}
  .requirement-box .cmn-button2 {
    position: relative;
    margin: 30px auto 10px;
    display: block;
    left: 0;
    top: 0;
  }
  .requirement-box .head {
    position: relative;
    padding-right: 0;
    margin-bottom: 0;
  }
  .requirement-box> .body{
    display: block;
  }
  .requirement-box> .body>.box1,
  .requirement-box> .body>.box2{
    padding-right: 0;
    padding-left:0;
    width: 100%;
  }


  .requirement-box> .body .box2::after{
  display: none;
  }

  .requirement-box> .body .box2 .table tr:last-child{
    border-bottom: 1px dashed #8E8E8E !important;
  }


  .requirement-box> .body>.box2  .table{
    border-top: 1px dashed #8E8E8E;
  }

  .requirement-box> .body .table th{
    width: 90px;
  }

  .requirement-box{
      padding:30px 20px;
  }
  .requirement-box .head>.title{
    font-size: 2.8rem;
    margin-bottom: 15px;
    color: #0159C4;
  }
}

@media screen and (max-width: 768px){
  .requirement-box .head>.title {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }

  .requirement-box .head>.category>span {
      background: #F0F0F0;
      text-align: center;
      padding: 5px 20px;
      font-size: 1.6rem;
  }
 
  .requirement-box> .body .table,
  .requirement-box> .body .table tbody,
  .requirement-box> .body .table tr,
  .requirement-box> .body .table th,
  .requirement-box> .body .table td{
    display: block;
    width: 100%;
  }

  .requirement-box> .body .table tr{
    padding: 0.5em 0;
  }
  .requirement-box> .body .table th{
    margin-bottom: 0em;
  }

}

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

********************************************/
.contents-low{
	display: flex;
	margin: 0 auto;
	max-width: 1200px;
	margin:0 auto;
	padding: 0 20px;
}

.contents-main{
	width: calc(100% - 260px);
	padding-right: 80px;
}

.contents-aside{
	width: 260px;
}


.contents-aside-box1{
	margin-bottom: 50px;
}


@media screen and (max-width:1100px){
	.contents-low{
		display: block;
	}

	.contents-main {
	    width: 100%;
	    padding-right: 0;
	}

	.contents-aside{
		width: 100%;
	}

	.contents-aside-box1{
		width: 100%;
	}

	.contents-aside-box2{
		margin-top: 40px;
	}


	.contents-aside-group {
    	width: 100%;
	}

	.news .contents-low{
		display: flex;
		flex-direction: column;
	}

	.news .contents-main {
	    width: 100%;
	    padding-right: 0;
	    order:2;
	}

	.news  .contents-aside{
		width: 100%;
	    order:1;
	}

	.news-aside-ttl{
		margin-bottom: 15px;
	}

	.news-aside-menu{
		display: flex;
		flex-wrap:wrap;
		margin-bottom: 20px;
	}
	.news-aside-menu>li{
		margin-right: 1.5em;
		margin-bottom: 0px;
	}
	.news-aside-menu>li>a{
		font-size: 1.2rem;
	}

}

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

	.contents-aside-group {
    	width: 100%;
	}

}


/*******************************************
news
********************************************/
.news-list{
  display: flex;
  flex-direction: column;
  gap:10px;
  padding: 0 5px 5px;
}

.news-list>article{
  border-radius: 5px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  padding: 30px ;
}

.news-list>article p{
  font-weight: bold;
}

.news-list>article .box{
  display: flex;
  margin-bottom: 15px;
}

.news-list>article .box time{
  margin-right: 1em;
  font-size: 1.6rem;
}

.news-list>article .box .tag{
  border:1px solid #0159C4;
  text-align: center;
  font-size: 1.4rem;
  padding:0.1em 0.8em 0.05em;
  color:  #0159C4;
  border-radius: 5px;
  border:1px solid #0159C4;
  align-items: flex-start;
}
.news-list>article  a{
  color: inherit;
}

.news-aside-ttl{
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 30px;
  color: #0159C4;
}

.news-aside-box{
  border-left:1px solid #707070;
  padding-left: 14px;
  margin-bottom: 40px;
}

.news-aside-menu>li>span{
  text-decoration: underline;
}

.news-aside-menu>li>a{
  color:inherit;
}

.news-aside-archive .archive-head{
  position: relative;
  border:1px solid #C4C4C4;
  padding: 15px 20px;
  line-height: 1em;
  max-width: 258px;
  border-radius: 5px;
}
.news-aside-archive .archive-head::after{
  content:"";
  position: absolute;
  top:50%;
  right:20px;
  width: 8px;
  height: 8px;
  border-right:1px solid #C4C4C4;
  border-bottom:1px solid #C4C4C4;
  transform: translate(0,-50%) rotate(45deg);
}
.news-aside-archive .archive-menu{
  padding-top: 10px;
}
.news-aside-archive .archive-menu a{
  color:inherit;
  padding: 1em;
}

.news-aside-archive .archive-body{
  display: none;
}

@media screen and (max-width:768px){
  .news-list>article .box .tag {
    font-size: 1.2rem;
    padding: 3px 0.8em 0px;
  }
  .news-list>article {
    padding: 20px;
  }
}




/***********************************************************************************************************************
* animation
***********************************************************************************************************************/


/*delay*/
.dt_3{ transition-delay: 0.3s !important; -webkit-transition-delay: 0.3s !important;}
.dt_5{ transition-delay: 0.5s !important; -webkit-transition-delay: 0.5s !important;}
.dt_6{ transition-delay: 0.6s !important; -webkit-transition-delay: 0.6s !important;}
.dt_7{ transition-delay: 0.7s !important; -webkit-transition-delay: 0.7s !important;}
.dt_8{ transition-delay: 0.8s !important; -webkit-transition-delay: 0.8s !important;}
.dt_9{ transition-delay: 0.9s !important; -webkit-transition-delay: 0.9s !important;}
.dt_10{ transition-delay: 1.0s !important; -webkit-transition-delay: 1.0s !important;}
.dt_12{ transition-delay: 1.2s !important; -webkit-transition-delay: 1.2s !important;}
.dt_15{ transition-delay: 1.5s !important; -webkit-transition-delay: 1.5s !important;}
.dt_18{ transition-delay: 1.8s !important; -webkit-transition-delay: 1.8s !important;}

/*from*/
.init{
    opacity: 0;
    transition-duration: 1.5s;
    -webkit-transition-duration: 1.5s;
    transition-property: opacity transform;
    -webkit-transition-property: opacity transform;
    transition-timing-function: ease, linear;
}

/*to*/
.page-head.animated .init,
.main-visual.animated .init,
.scl.animated .init{
    opacity: 1;
    -webkit-transform: translate(0,0) scale(1,1) rotate(0);
    transform: translate(0,0) scale(1,1) rotate(0);
    transition-property: opacity transform;
    -webkit-transition-property: opacity transform;
    transition-timing-function: ease, linear;
        /*transition-timing-function: ease-in-out;*/
}

/*from*/
.init.move_up{
	opacity:0;
	-webkit-transform: translate(0,7%) scale(0.8,0.8);
    transform: translate(0%,7%) scale(0.8,0.8);
    transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-property: opacity transform;
    -webkit-transition-property: opacity transform;
    transition-timing-function: cubic-bezier(0.09, 0.6, 0.36, 1.34) 0.5s;
    -webkit-transition-timing-function:cubic-bezier(0.09, 0.6, 0.36, 1.34) 0.5s;
}
.init.move_up{
	opacity:0;
	-webkit-transform: translate(0,7%) scale(0.8,0.8);
    transform: translate(0%,7%) scale(0.8,0.8);
    transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-property: opacity, transform;
    -webkit-transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(0.09, 0.6, 0.36, 1.34);
    -webkit-transition-timing-function:cubic-bezier(0.09, 0.6, 0.36, 1.34);
}

.init2.zoom1{
	opacity:0;
	-webkit-transform:  scale(0.6,0.6);
    transform:  scale(0.6,0.6);
    transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-property: opacity, transform;
    -webkit-transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(0.1, 0.6, 0.4, 1.3);
    -webkit-transition-timing-function:cubic-bezier(0.1, 0.6, 0.4, 1.3);
}

/*to*/
.scl.animated .init.move_up,
.scl.animated .init2.zoom1{
	opacity: 1;
	-webkit-transform:  scale(1,1);
	transform:  scale(1,1);
}

/*******************************************
  .report01
********************************************/

.report01-main,
.report02-main{
  padding-top: 90px;
  background: url(../img/bg_blue.jpg);
}

.report-section-top .head{
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px;
  color: #fff;
}
.report-section-top .head .box1{
  color: rgba(255,255,255,0.15);
  font-size:  12.8rem;
  line-height:  1;
}
.report-section-top .head .box2{
  text-align: right;
  margin-top: 15px;
  color: #fff;
}
.report-section-top .head .box2 span{
  font-size:  4rem;
  display: block;
  line-height:  1.2;
  margin-bottom: 30px;
}
.report-section-top .head .box2 small{
  font-size:  1.8rem;
  display: block;
}

.report-section-top .block1{
  position: relative;
  padding-bottom: 60px;
  color: #fff;
}

.report-section-top .block1::after{
  content:"";
  position: absolute;
  display: block;
  width: 600px;
  height: 1px;
  bottom:0;
  left:50%;
  margin-left: -300px;
  background: #fff;
}

.report02-main .report-section-top .block1 p{
  margin-bottom: 2em;
}

.report02-main a{
  color:#FFF100;
}

.report-section-top .block2{
  display: flex;
  justify-content: center;
  max-width: 950px;
  margin: 80px auto 80px;
  padding-bottom: 80px;
  color: #fff;
  padding: 0 40px;
}

.report-section-top .block2 .box1{
  width: 160px;
}

.report-section-top .block2 .box2{
  width: calc(100% - 160px);
  padding-left: 60px;
}

.report-section-top .block2 .box2 .message{
  font-size: 3.2rem;
  line-height:  1.43;
}

.report-section-top .block2 .box2 .name{
  font-size: 3rem;
}

.report-section-top .movie{
  position: relative;
  aspect-ratio:16/9;
  font-size: 3rem;
  margin-bottom: 80px;
}

.report-section-top .movie iframe{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
}

.report01-section-flow{
  position: relative;
}
.report01-section-flow::after{
    content:"";
    position: absolute;
    display: block;
    width: 4px;
    height: 100%;
    top:0;
    left:50%;
    margin-left: -2px;
    background: #FFF100;
}

.report01-section-flow .flow{
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap:120px 0;
}

.report01-section-flow .flow>.item .head{
  display: flex;
  align-items: center;
}

.report01-section-flow .flow>.item .time{
  font-size: 3.6rem;
  font-weight: bold;
  color: #0159C4;
  margin-right: 30px;
  padding-left: 37px;
  background-image: url(../img/icon_clock.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
}

.report01-section-flow .flow>.item .title{
  position: relative;
  font-size: 2.1rem;
  padding-left: 30px;
  color: #1B1B1B;
}
.report01-section-flow .flow>.item .title::after{
  content:"";
  position: absolute;
  display: block;
  width: 2px;
  height: 100%;
  top:0;
  left:0;
  background: #D2D2D2;
}

.report01-section-flow .flow{
  padding-bottom: calc(25% + 120px)
}

.report01-section-flow .flow>.item {
  position: relative;
  width: calc((100% - 100px) / 2 );
  background: #fff;
  padding:15px 20px 30px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}

.report01-section-flow .flow>.item img{
  width: 100%;
}

.report01-section-flow .flow>.item .message{
  font-size: 1.7rem;
  margin-top: 20px;
  line-height: 2;
}

.report01-section-flow .flow>.item:nth-child(1) .message {
    min-height: 80px;
}

.report01-section-flow .flow>.item:nth-child(2) {
  margin-top: 0;
}

.report01-section-flow .flow>.item::after{
  content:"";
  position: absolute;
  display: block;
  width: 50px;
  height: 1px;
  top:50%;
  right:0;
  margin-right: -50px;
  background: #FFF100;
  /*z-index:  -1;*/
}

.report01-section-flow .flow>.item:nth-child(even)::after{
   margin-left: -50px;
   right:auto;
   left:0;
}

.report01-section-flow .flow>.item::before {
  content: "";
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  top: 50%;
  right: 0px;
  background: #FFF100;
  /* z-index: -1; */
  margin-top: -6px;
  margin-right: -57px;
}

.report01-section-flow .flow>.item:nth-child(even)::before{
   margin-right: 0;
   margin-left: -57px;
   right:auto;
   left:0;
}

.report01-section-flow .flow>.item:nth-child(odd){
  transform:transformY( 0% );
}

.report01-section-flow .flow>.item:nth-child(even) {
  transform: translateY(62%);
}

@media screen and (max-width:1200px){
  .report-section-top .head {
    display: block;
  }

  .report-section-top .head .box1 {
    margin-bottom: 25px;
  }

}


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

  .report01-main, .report02-main {
      padding-top: 60px;
  }

  .report-section-top .block2 .box2 {
      padding-left: 40px;
  }

  .report01-section-flow{
    position: relative;
  }

  .report01-section-flow::after{
    content:"";
    position: absolute;
    display: block;
    width: 4px;
    height: 100%;
    top:0;
    left:50%;
    margin-left: -2px;
    background: #FFF100;
    z-index: 1;
  }

  .report01-section-flow .flow{
    flex-direction: column;
    gap:50px;
  }

  .report01-section-flow .flow>.item .head{
    display: flex;
    align-items: center;
  }

  .report01-section-flow .flow>.item .time{
    font-size: 3.6rem;
    font-weight: bold;
    color: #0159C4;
    margin-right: 30px;
    padding-left: 37px;
    background-image: url(../img/icon_clock.svg);
    background-repeat: no-repeat;
    background-position: 0 center;
  }

  .report01-section-flow .flow>.item .title{
    position: relative;
    font-size: 2.1rem;
    padding-left: 30px;
    color: #1B1B1B;
  }
  .report01-section-flow .flow>.item .title::after{
    content:"";
    position: absolute;
    display: block;
    width: 2px;
    height: 100%;
    top:0;
    left:0;
    background: #D2D2D2;
  }

  .report01-section-flow .flow {
    padding-bottom: 90px;
  }

  .report01-section-flow .flow>.item {
    position: relative;
    width: 100%;
    background: #fff;
    padding:15px 20px 30px;
    z-index: 2;
  }

  .report01-section-flow .flow>.item img{
    width: 100%;
  }

  .report01-section-flow .flow>.item .message{
    font-size: 1.7rem;
    margin-top: 20px;
    line-height: 2;
  }

  .report01-section-flow .flow>.item:nth-child(1) .message {
      min-height: 80px;
  }

  .report01-section-flow .flow>.item:nth-child(2) {
    margin-top: 0;
  }


  .report01-section-flow .flow>.item::after{
    content:"";
    position: absolute;
    display: block;
    width: 50px;
    height: 1px;
    top:50%;
    right:0;
    margin-right: -50px;
    background: #FFF100;
    /*z-index:  -1;*/
    display: none;
  }

  .report01-section-flow .flow>.item:nth-child(even)::after{
     margin-left: -50px;
     right:auto;
     left:0;
  }

  .report01-section-flow .flow>.item::before {
    content: "";
    position: absolute;
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    top: 50%;
    right: 0px;
    background: #FFF100;
    /* z-index: -1; */
    margin-top: -6px;
    margin-right: -57px;
    display: none;
  }

  .report01-section-flow .flow>.item:nth-child(even) {
    transform: translateY(0%);
  }


  .report01-section-flow .flow>.item:last-child{
  /*margin-bottom: calc(25% + 75px);*/
  margin-bottom: 3
  }

  .report02-main .bottom-image img,
  .report01-main .bottom-image img{
    width: 100%;
    height: 460px;
    object-fit: cover;
  }
}


@media screen and (max-width:768px){
  .report01-main {
    padding-top: 40px;
  }

  .report01-section-flow .flow>.item .title {
    font-size: 1.5rem;
  }

  .report01-section-flow .flow>.item .time {
    font-size: 2.6rem;
    color: #0159C4;
    margin-right: 20px;
    padding-left: 37px;
  }

  .report-section-top .movie{
    margin-bottom: 50px;
  }

  .report-section-top .head {
    margin-bottom: 40px;
  }

  .report-section-top .head .box1 {
    font-size: 6rem;
  }

  .report-section-top .head .box2 small{
    font-size:  1.8rem;
    display: block;
  }

  .report-section-top .head .box2 span {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }

  .report-section-top .block1 {
      position: relative;
      padding-bottom: 30px;
  }
  .report-section-top .block1::after {
      content: "";
      position: absolute;
      display: block;
      width: 100%;
      height: 1px;
      bottom: 0;
      left:0%;
      margin-left: 0;
      background: #fff;
  }


  .report-section-top .block2 {
      display: block;
      margin: 30px 0;
      padding: 0;
  }


  .report-section-top .block2 .box1{
    width: 150px;
    margin: 0 auto 20px;
  }

  .report-section-top .block2 .box2{
    width: 100%;
    padding-left: 0px;
    padding: 0;
  }

  .report-section-top .block2 .box2 .message {
    font-size: 2rem;
    line-height: 1.43;
  }
  .report-section-top .block2 .box2 .name {
    font-size: 1.8rem;
  }
}

/*------------------
.bottom-banner
------------------*/
.report-banner{
  padding: 60px 0;
}

.report-banner .block{
  display: flex;
  justify-content: center;
  gap:100px;
}
.report-banner .block .box{
  width: 45.6%;
  position: relative;
}
.report-banner .block .box .title{
  position: absolute;
  color: #fff;
  width:100%;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding-left: 30px;
}

.report-banner .block .box .title strong{
  display: block;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.5;
  margin-bottom: 10px;
}
.report-banner .block .box .title span{
  font-size: 2.4rem;
  margin-bottom: 15px;
  display: block;

}
.report-banner .block .box .title small{
  font-size: 1.6rem;
}

@media screen and (max-width:1100px){
  .report-banner{
    padding: 5  0px 0;
  }

  .report-banner .block{
    display: flex;
    flex-direction: column;
    gap:30px;
  }

  .report-banner .block .box{
    position: relative;
    width: 100%;
    display: block;
  }

  .report-banner .block .box img{
    width: 100%;
  }

}

/*******************************************
report02
********************************************/
.profile2{
  display: flex;
  justify-content: center;
  gap:157px;
  text-align: center;
  margin-top: 60px;
  margin-bottom: 60px;
}

.profile2 .box p{
  position: relative;
  display: block;
  margin-top: 10px;
}

.profile2 .box p>span{
  position: relative;
  display: inline-block;
  width: 180px;
  margin-left: -1em;
  font-size: 1.8rem;
}

.profile2 .box p>span::after{
  content:"";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  top:8px;
  right:0;
  border:9px solid transparent;
  border-top:15px solid #FFF100;
  z-index: 2;
}

@media screen and (max-width:1100px){
  .profile2 {
    gap: 80px;
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .profile2 .box img{
    width: 120px;
  }

  .profile2 .box p>span {
    position: relative;
    display: inline-block;
    width: 150px;
    margin-left: -1em;
    font-size: 1.5rem;
  }

}

@media screen and (max-width:768px){
  .profile2 {
    gap: 30px;
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.report02-section .block3 {
  display: flex;
  justify-content: space-between;
  padding: 0 0 80px;
}

.report02-section .block3 .box1{
  width: 46.5%
}

.report02-section .block3 .box2 .title{
  font-size:  2.4rem;
  color:#FFFFBF;
  margin-bottom: 20px;
}

.report02-section .block3 .box2 p{
  color:#fff;
}
.report02-section .block3 .box2{
  width: 46.5%;
}

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

  .report02-section .block3 {
    padding: 0 0 40px;
    display: block;
  }

  .report02-section .block3 .box1{
    width: 100%;
    margin-bottom: 30px;
  }

  .report02-section .block3 .box1 img{
    width: 100%;
  }

  .report02-section .block3 .box2 .title{
    font-size:  2.4rem;
    color:#FFFFBF;
    margin-bottom: 20px;
  }

  .report02-section .block3 .box2{
    width: 100%;
  }

}

.seniors-title{
  font-size:10rem;
  color: #EEEEEE;
}

.report02-seniors-section{
  background: url(../img/bg_gray.jpg);
  padding: 80px 0;
}


.report02-seniors-section .block1{
  display: flex;
  margin-bottom: 60px;
}
.report02-seniors-section .block1 .box1{
  width: 290px;
  padding-top: 20px;
  border-top:10px solid #1B1B1B;
}

.report02-seniors-section .block1 .box1 .title{
  font-size: 2.4rem;
}

.report02-seniors-section .block1 .box2{
  width: calc(100% - 290px);
  padding-left: 57px;
}

.report02-seniors-section .block1 .box2 p{
  line-height:  2;
  margin-bottom: 2em;
}

.report02-seniors-section .block2{
  display: flex;
  justify-content: center;
  max-width: 980px;
  margin: 80px auto 80px;
  padding-bottom: 80px;
  padding: 0 40px;
}

.report02-seniors-section .block2 .box1{
  width: 160px;
}

.report02-seniors-section .block2 .box2{
  width: calc(100% - 160px);
  padding-left: 60px;
}

.report02-seniors-section .block2 .box2 .group{
  display: flex;
  align-items: center;
}

.report02-seniors-section .block2 .box2 .group .col1{
  padding-right: 2em;
}

.report02-seniors-section .block2 .box2 .message{
  font-size: 3.2rem;
  line-height:  1.43;
}

.report02-seniors-section .block2 .box2 .name{
  font-size: 3rem;
}

.report02-seniors-section .block3{
  display: flex;
  gap:30px;

}
.report02-seniors-section .block3 .box{
  width: calc((100% - 60px) / 3);
}

.report02-seniors-section .block3 h3.title{
  color: #1B1B1B;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 5px;
}

.report02-seniors-section .block3 h3.title em{
  color: #0159C4;
}

.report02-seniors-section .block3 p{
  margin-top: 40px;
  font-size: 1.8rem;
}


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

  .report02-seniors-section .block1 {
    width: 100%;
    flex-direction: column;
    gap:30px;
    margin-bottom: 20px;
  }
  .report02-seniors-section .block1 .box1,
  .report02-seniors-section .block1 .box2 {
    display: block;
    padding-left: 0;
    width: 100%;
  }

  .report02-seniors-section .block1 .box1{
    width: 290px;
    font-size: 2.4rem;
  }

  .report02-seniors-section .block3{
    display: flex;
    flex-direction: column;
    gap:30px;
    max-width: 600px;
    margin: 0 auto;
  }
  .report02-seniors-section .block3 .box{
    width: 100%;
  }

  .report02-seniors-section .block3 .box img{
    width: 100%;
  }

  .report02-seniors-section .block3 h3.title{
    font-size: 3.6rem;
    margin-bottom:15px;
    text-align: center;
  }

  .report02-seniors-section .block3 p{
    margin-top: 40px;
    font-size: 1.8rem;
  }

}

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

  .report02-seniors-section {
    padding: 50px 0;
  }

  .seniors-title {
    font-size: 5rem;
  }

  .report02-seniors-section .block2 {
      display: block;
      margin: 30px 0 0;
      padding: 0;
  }

  .report02-seniors-section .block2 .box1{
    width: 150px;
    margin: 0 auto 20px;
  }

  .report02-seniors-section .block2 .box2{
    width: 100%;
    padding-left: 0px;
    padding: 0;
  }

  .report02-seniors-section .block2 .box2 .message {
    font-size: 2rem;
    line-height: 1.43;
    /* bottom-image */
  }
  .report02-seniors-section .block2 .box2 .name {
    font-size: 1.8rem;
  }

}



/*******************************************
oriatation
********************************************/
.orientation-top .button-area{
  display: flex;
  justify-content: center;
  margin: 30px 0 60px;
}

.orientation-main{
  padding-bottom: 100px;
}

.orientation-banner{
  margin-top: 100px;
  margin-bottom: 50px;
}

.orientation-banner2{
  margin-bottom: 0px;
}
#orientation-contact{
  padding-top: 100px;
}
@media screen and (max-width:1100px){
  .orientation-banner{
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .orientation-banner2{
    margin-bottom: 0px;
  }
  #orientation-contact{
    padding-top: 60px;
  }
}

.local-nav{
  display: flex;
  gap:20px;
}
.local-nav>li{
  width: calc((100% - 60px) / 4);
  margin-bottom: 15px;
}
.local-nav>li>a{
  position: relative;
  display: block;
  height: 100px;
  background: #0159C4;
  color: #fff;
  text-align: center;
  line-height: 1.33;
  padding-top: 15px;
  border-radius: 5px;
}
.local-nav>li>a::after{
  position: absolute;
  content:"";
  right:50%;
  margin-right: -10px;
  bottom:-14px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 10px 0 10px;
  border-color: #0159C4 transparent transparent transparent;
}

.local-nav>li>a strong{
  font-weight: bold;
  color: #FFF100;
  display: block;
  text-align: center;
  font-size: 1.8rem;
}
.local-nav>li>a span{
  font-size: 1.8rem;
  display: block;
}

@media screen and (max-width:1100px){
  .local-nav{
    display: flex;
    flex-wrap:wrap;
    gap:20px;
  }
  .local-nav>li{
    width: calc((100% - 20px) / 2);
    margin-bottom: 0px;
  }

  .local-nav>li>a{
    padding-top: 15px;
  }
  .local-nav>li>a strong{
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
  .local-nav>li>a span {
      font-size: 1.4rem;
      display: block;
  }

}

/*------------------
point
------------------*/
.orientation-point-list{
  margin-top: 80px;
}

.cmn-row-block1{
  display: flex;
}

.cmn-row-block1 .image{
  width: 25%;
  height: 100%;
}

.cmn-row-block1 .text{
  width: 75%;
  padding-left: 57px;
}

.cmn-row-block1 .text>.title{
  background: #0159C4;
  color: #fff;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 5px;
  margin-bottom: 25px;
  font-size: 2.2rem;
}

.cmn-row-block1 .text>.catch{
  font-size: 2.1rem;
  line-height: 1.5;
  margin-bottom: 20px;
  font-weight: bold;
}

.cmn-row-block1 .text>.message{
  font-size: 1.6rem;
}
.orientation-point-list>li{
  border-bottom:1px dashed #8E8E8E;
  padding-bottom: 30px;
  padding-top:30px;
}


@media screen and (max-width:1100px){
  .orientation-point-list {
    margin-top: 40px;
  }
  .cmn-row-block1 {
    flex-direction: column-reverse;
  }
  .cmn-row-block1 .image {
    width: 100%;
    text-align: center;
  }
  .cmn-row-block1 .image img{
    width: 100%;
    max-width: 450px;
  }
  .cmn-row-block1 .text {
    width: 100%;
    padding-left: 0px;
    margin-bottom: 30px;
  }
}

.cmn-row-block2{
  display: flex;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  border-radius: 5px;
  overflow: hidden;
}

.cmn-row-block2 .image{
  width: 25%;
}

.cmn-row-block2 .image img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.cmn-row-block2 .text{
  width: 75%;
  padding: 20px 0;
  padding-left: 57px;
}

.cmn-row-block2 .text>.title{
  color: #0159C4;
  font-weight: bold;
  padding:0;
  border-radius: 5px;
  margin-bottom: 15px;
  font-size: 2.8rem;
}

.cmn-row-block2 .text>.catch {
  font-size: 2.1rem;
  line-height: 1.5;
  margin-bottom: 10px;
  font-weight: bold;
}

.cmn-row-block2 .text>.message{
  font-size: 1.6rem;
}


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

  .cmn-row-block2 {
    flex-direction: column-reverse;
  }

  .cmn-row-block2 .image {
    width: 100%;
    text-align: center;
    padding-bottom: 40px;
  }
  
  .cmn-row-block2 .image img{
    width: 100%;
    max-width: 450px;
  }
  .cmn-row-block2 .text {
    width: 100%;
    padding-left: 0px;
    padding: 20px;
    margin-bottom: 10px;
  }
}


.cmn-border-title{
  margin-top: 20px;
  margin-bottom: 20px;
}

.cmn-border-title>span{
  display: inline-block;
  font-size: 1.8rem;
  padding-bottom: 5px;
  padding-right: 30px;
  border-bottom: 5px solid #F89002;
}

.orientation-comment-list{
  display: flex;
  gap:10px 20px;
  flex-wrap:wrap;
}
.orientation-comment-list>li{
  display: flex;
  width: calc( (100% - 20px) / 2);
  background: #FEFFE6;
  padding: 20px;
  border-radius: 10px;
}
.orientation-comment-list>li i{
  display: block;
  width: 60px;
  height: 60px;
}

.orientation-comment-list>li p{
  width: calc(100% - 60px);
  padding-left: 10px;
  line-height: 1.75;
}

@media screen and (max-width:1100px){
  .orientation-comment-list{
    display: block;
  }
  .orientation-comment-list>li{
    display: flex;
    width: 100%;
    background: #FEFFE6;
    padding: 20px;
    margin-bottom: 10px;
  }

}

.orientation-merit{
  padding-top: 80px;
  padding-bottom: 80px;
}

.orientation-merit-list>li{
  border-bottom:1px dashed #8E8E8E;
  padding-bottom: 30px;
  padding-top:30px;
  position: relative;
}

@media screen and (max-width:1100px){
  .orientation-merit{
    padding-top: 50px;
    padding-bottom: 40px;
  }
}


/*------------------
step
------------------*/
.orientation-step{
  padding-top: 80px;
  padding-bottom: 0px;
}

.orientation-step .button-area{
  display: flex;
  justify-content: center;
  margin: 30px 0 60px;
}

.orientation-step-list>li{
  position: relative;
  margin-bottom: 60px;
  padding-top:30px;
}

.orientation-step-list>li:not(:last-child)::after{
  content:"";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left:50%;
  bottom:-55px;
  margin-left: -30px;
  border-style: solid;
  border-width: 20px 30px 0 30px;
  border-color: #0159C4 transparent transparent transparent;
  z-index: 2;
}

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

  .orientation-step .button-area{
    margin: 30px 0 30px;
  }

}

.report-slider-wrap{
  padding: 0 30px 100px;
}

.report-slider {
  width: 100%;
  position: relative;
  max-width: 1160px;
  margin: auto;
  padding: 25px 55px;
  transition: all 0.3s;
  z-index: 2;
}

.report-slider {
    width: 100%;
    position: relative;
    max-width: 1160px;
    margin: auto;
    padding: 25px 20px;
    transition: all 0.3s;
    z-index: 2;
}

.report-slider::after{
  content:"";
  position: absolute;
  display: block;
  width: 100%;
  height: calc(100% - 180px);
  bottom:0;
  left:0;
  z-index: -1;
  background: #fff;
  border-radius: 60px;
}


.report-slider__item.swiper-slide-active .report-slider__img img {
  opacity: 1;
  transition-delay: 0.3s;
}
.report-slider__item.swiper-slide-active .report-slider__content > * {
  opacity: 1;
  transform: none;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(1) {
  transition-delay: 0.3s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(2) {
  transition-delay: 0.4s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(3) {
  transition-delay: 0.5s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(4) {
  transition-delay: 0.6s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(5) {
  transition-delay: 0.7s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(6) {
  transition-delay: 0.8s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(7) {
  transition-delay: 0.9s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(8) {
  transition-delay: 1s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(9) {
  transition-delay: 1.1s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(10) {
  transition-delay: 1.2s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(11) {
  transition-delay: 1.3s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(12) {
  transition-delay: 1.4s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(13) {
  transition-delay: 1.5s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(14) {
  transition-delay: 1.6s;
}
.report-slider__item.swiper-slide-active .report-slider__content > *:nth-child(15) {
  transition-delay: 1.7s;
}

.report-slider__img {
  position: relative;
  max-width: 960px;
  height: 560px;
  overflow: hidden;
  margin: 0 auto;
  border-radius: 30px;
  z-index: 10;
}

.report-slider__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: all 0.3s;
}
.report-slider__content .scene{
  color: #0159C4;
  text-align: center;
  margin-top: 80px;
  margin-bottom: 40px;
}

.report-slider__content p{
  margin-bottom: 20px;
  padding: 0 80px;
}
.report-slider__content .scene span{
  display: block;
  font-size: 2.1rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.report-slider__content .scene strong{
  display: block;
  font-size: 3rem;
  font-weight: bold;
}

.report-slider__content > * {
  opacity: 0;
  transform: translateY(25px);
  transition: all 0.4s;
}
.report-slider__code {
  color: #7b7992;
  margin-bottom: 15px;
  display: block;
  font-weight: 500;
}
.report-slider__title {
  font-size: 24px;
  font-weight: 700;
  color: #0d0925;
  margin-bottom: 20px;
}
.report-slider__text {
  color: #4e4a67;
  margin-bottom: 30px;
  line-height: 1.5em;
}
.report-slider__button {
  display: inline-flex;
  background-image: linear-gradient(147deg, #fe8a39 0%, #fd3838 74%);
  padding: 15px 35px;
  border-radius: 50px;
  color: #fff;
  box-shadow: 0px 14px 80px rgba(252, 56, 56, 0.4);
  text-decoration: none;
  font-weight: 500;
  justify-content: center;
  text-align: center;
  letter-spacing: 1px;
}

.report-slider .swiper-container-horizontal > .swiper-pagination-bullets, .report-slider .swiper-pagination-custom, .report-slider .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}
.report-slider__pagination {
  position: absolute;
  z-index: 21;
  right: 20px;
  width: 11px !important;
  text-align: center;
  left: auto !important;
  top: 50%;
  bottom: auto !important;
  transform: translateY(-50%);
}

.report-slider__pagination {
  transform: translateX(-50%);
  left: 50% !important;
  top: 613px;
  width: 100% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  /* bottom: 0; */
}

.report-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 8px 0;
}

.report-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px;
}

.report-slider__pagination .swiper-pagination-bullet {
  width: 11px;
  height: 11px;
  display: block;
  border-radius: 10px;
  background: #D2D2D2;
  opacity: 1;
  transition: all 0.3s;
}
.report-slider__pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background: #0159C4;
  height: 30px;
  box-shadow: 0px 0px 20px rgba(252, 56, 56, 0.3);
}

.report-slider__pagination .swiper-pagination-bullet-active {
  height: 11px;
  width: 30px;
}

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

  .report-slider-wrap {
    padding: 0 20px 50px;
  }

  .report-slider::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: calc(100% - 138px);
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #fff;
    border-radius: 30px;
  }

  .report-slider__img {
    position: relative;
    max-width: 960px;
    height: 260px;
    overflow: hidden;
    margin: 0 auto;
    border-radius: 20px;
    z-index: 10;
  }

  .report-slider {
    width: 100%;
    position: relative;
    max-width: 1160px;
    margin: auto;
    padding: 25px 20px;
    transition: all 0.3s;
    z-index: 2;
  }

  .report-slider__content .scene {
    margin-top: 60px;
    margin-bottom: 40px;
  }

  .report-slider__content p{
    margin-bottom: 20px;
    padding: 0px;
  }

  .report-slider__pagination {
    transform: translateX(-50%);
    left: 50% !important;
    top: 304px;
    width: 100% !important;
    /* bottom: 0; */
  }

}


/*******************************************
トップページ
********************************************/

.main-body{
  background: #fff;
  position: relative;
  z-index: 2;
}

.main-bg{
  position: fixed;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  opacity: 1;
}

.main-bg.off{
  opacity: 0;
}

.main-bg .main-slider{
  width: 100%;
  margin-right: 0;
}

.main-bg .main-slider .swiper-slide .bg-img {
  height: 100vh;
}

.main-bg .main-slider .swiper-slide.fzoom .bg-img {
  opacity: 1;
  animation-name: zoom;
  animation-timing-function: ease-out ;
  animation-fill-mode: forwards;
  animation-duration: 30s;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
}

.main-bg .main-slider .swiper-slide img{
  position: relative;
  width: 100%;
  object-fit: cover;
  object-position: center;
  height: 100vh;
}

@keyframes zoom {
  0% {transform:scale(1,1);}
  100% {transform:scale(1.3,1.3);}
}

/*------------------
メインビジュアル
------------------*/
.top-key-contents{
  position:relative;
  z-index: 1;
  color: #fff;
}

.top-key-contents::before{
  content:"";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  background: rgba(0,0,0,1);
  z-index: -1;
  transition:opacity 1s ease;
  opacity: 0;
}

.top-key-contents.active::before{
  opacity: 0.6;
}


.top-key-contents .main-catch{
  height: calc(100vh - 100px);
  display: flex;
  align-items: flex-end;
  width: 100%;
}

.top-key-contents .main-catch .box{
  text-align: center;
  width: 100%;
  opacity: 0;
  transition:opacity 0.8s ease, transform 0.8s ease;
  transform: translateY(20%);
}

.top-key-contents.open .main-catch .box{
  opacity: 1;
  transform: translateY(0%);
}

.top-key-contents .main-catch .box .catch1{
  text-align: center;
}

.top-key-contents .main-catch .box .catch2{
  text-align: center;
  font-size: 10rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.3;
}

.top-key-contents .main-message{
  padding-top: 200px;
  padding-bottom: 200px;
  text-align: center;
}

.top-key-contents .main-message .box1 p{
  margin-bottom: 2em;
  font-size: 1.8rem;
}

.top-key-contents .main-message .box2 p{
  font-size: 3.4rem;
  font-weight: bold;
}

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


  .top-key-contents .main-catch .box .catch1 img{
    height: 2.5vw;
    width: auto;
  }

  .top-key-contents .main-catch .box .catch2{
    font-size: 7vw;
  }

  .top-key-contents.open .main-catch .box {
    padding-bottom: 50px;
  }

}


@media screen and (max-width:768px){
  .top-key-contents .main-catch{
    height: calc(100vh - 60px);
  }

  .top-key-contents .main-catch .box .catch1 img {
    height: 4vw;
    width: auto;
    margin-bottom: 0.2em;
  }

  .top-key-contents .main-catch .box .catch1{
    margin-bottom: 1em;
  }

  .top-key-contents .main-catch .box .catch1 img{
    height: 4vw;
    width: auto;
  }

  .top-key-contents .main-catch .box .catch2{
    font-size: 10vw;
  }

  .top-key-contents .main-message .box1 p {
      font-size: 1.6rem;
  }

  .top-key-contents .main-message{
    padding-top: 0px;
    padding-bottom: 100px;
    text-align: center;
  }

  .top-key-contents .main-message .box2 p {
    font-size: 2rem;
  }

  .top-key-contents.open .main-catch .box {
      padding-bottom: 100px;
  }
}


.top-voice-section{
  background: #F0F9FF;
  padding: 80px 0;
}

.top-voice-section .block{
  margin: 0 auto;
}

.top-voice-section .block .row{
  display: flex;
}

.top-voice-section .block .row .box1{
  padding-left: 135px;
  width: 548px;
}

.top-voice-section .cmn-headline-l strong{
  text-align: left;
}
.top-voice-section .cmn-headline-l span{
  text-align: left;
}

.top-voice-section .block .row .box1 .message {
  font-size: 1.6rem;
  margin-bottom: 20px;
}

.top-voice-section .block .row .box2{
  min-width: calc( 100% - 548px );
  overflow: hidden;
  padding-left: 65px;
}

.top-voice-section .chara{
  margin-top: 0px;
  width: 184px;
}

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

  .top-voice-section .block .row .box1 {
    padding-left: 40px;
    padding-right: 40px;
    width: 100%;
  }

  .top-voice-section .block .row .box2 {
    padding-left: 40px;
  }

  .top-voice-section .block .row {
    display: block;
  }

}

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

  .top-voice-section{
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .top-voice-section .block .row .box1 {
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }

  .top-voice-section .block .row .box2 {
    padding-left: 20px;
  }

  .top-voice-section .block .row {
    display: block;
  }

}

@media screen and (max-width:768px){
  .top-voice-section .chara {
    margin-top: 0px;
    width: 120px;
    margin: 0 auto;
    text-align: center;
    position: absolute;
    left: 137px;
    top: 3px;
  }
  .top-voice-section .block .row .box1 .message {
    margin-bottom: 0px;
  }
  
}


.top-member-slider{
  margin-top: 40px;
}

.top-member-slider .swiper-slide{
  position: relative;
  width: 256px !important;
  overflow: hidden;
  border-radius: 20px;
  /*margin-left: 40px;*/
}

.top-member-slider .swiper-slide .text{
  width: 100%;
  position: absolute;
  left:0;
  bottom:0;
  background: rgba(0,104,183,0.8);
  color: #fff;
  padding: 15px 0 10px;
  text-align: center;
}

.top-member-slider .swiper-slide .text>.catch{
  font-size: 2.4rem;
  line-height: 1em;
}
.top-member-slider .swiper-slide .text>.catch img{
  height: 24px;
  width: auto;
}
.top-member-slider .swiper-slide .text>.join{
  font-size: 1.4rem;
}


.top-member-slider .swiper-wrapper {
  margin-left: 0px;
}

.top-member-slider .swiper-slide::after{
  content:"";
  position: absolute;
  display: block;
  width: 2px;
  height: 100%;
  top:0;
  left:50%;
  margin-left: -1px;  
}

.member-section{
  background: #F0F9FF;
  text-align: center;
  padding: 60px 0;
}

.member-title{
  font-size: 5.2rem;
  color: #0068B7;
}

.member-section>.catch{
  font-weight: bold;
  color: #0068B7;
}

.top-member-slider .swiper-arrow {
    display: flex;
    justify-content: flex-start;
    gap: 30px;
    margin: 0px 0;
}

.top-member-slider .swiper-button-prev,
.top-member-slider .swiper-button-next{
  position: relative;
  width: 40px;
  height: 40px;
  background: none;
  margin-top: 0;
  left:0;
  top:0;
}

.top-member-slider .swiper-button-prev::after,
.top-member-slider .swiper-button-next::after{
  content:"";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  pointer-events: none;
  background-image: url(../img/arrow_r.svg);
  background-repeat: no-repeat;
  background-position: center;
}

.top-member-slider .swiper-button-prev::after{
  background-image: url(../img/arrow_l.svg);
  background-repeat: no-repeat;
  background-position: center;
}

.member-section .button-area{
  display: flex;
  justify-content: center;
}

/*------------------
.top-recruit
------------------*/

.top-recruit-section{
  padding: 80px 0 65px;
}

.top-recruit-section .list{
  max-width: 1160px;
  display: flex;
  margin: 0 auto;
  flex-wrap:wrap;
}
.top-recruit-section .list>li{
  width: 25%;
}

.top-recruit-section .list>li:first-child a{
  border-top-left-radius: 15px;
  overflow: hidden;
}

.top-recruit-section .list>li>a{
  display: block;
  height: 100%;
  color: inherit;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.top-recruit-section .list>li .box{
  padding: 20px;
}

.top-recruit-section .list>li .title{
  text-align: center;
  font-size: 2.1rem;
  margin: 20px 0 15px;
  color: #0159C4;
}

.top-recruit-section .list>li p{
  font-size: 1.6rem;
}

@media screen and (max-width:1100px){
  .top-recruit-section .list>li{
    width: 50%;
    margin-bottom: 2px;
  }
  .top-recruit-section .block{
    padding: 0 40px;
  }

  .top-recruit-section .list>li img{
    width: 100%;
  }
}

@media screen and (max-width:768px){
  .top-recruit-section .block{
    padding: 0 20px;
  }
}


@media screen and (max-width:425px){
  .top-recruit-section .list>li{
    width: 100%;
    margin-bottom: 20px;
  }

}



/*------------------
.top-news-section
------------------*/

.top-news-section .chara{
  margin-top: 10px;
  width: 155px;
}

.top-news-section .cmn-headline-l>strong,
.top-news-section .cmn-headline-l>span{
  text-align: left;
}

.top-news-section{
  padding: 80px 0;
}

.top-news-section .block{
  padding: 0 40px;
}

.top-news-section .block .row{
  max-width: 1160px;
  display: flex;
  margin: 0 auto;
}

.top-news-section .block .row .box1{
  width: 30%;
}

.top-news-section .block .row .box2 {
  width: 70%;
  overflow-y: scroll;
  height: 300px;
  overflow-x:visible;
}

.top-news-section .block .row .box2::-webkit-scrollbar {
    width: 8px;
    border-radius: 5px;
}
 
.top-news-section .block .row .box2::-webkit-scrollbar-track {
    background-color:rgba(0,0,0,0);
}
 
.top-news-section .block .row .box2::-webkit-scrollbar-thumb {
    background-color:#E2E2E2;
    border-radius: 5px;
}

.top-news-section .block .row .box1 .button{
  position: relative;
  width: 156px;
  border-radius: 5px;
  border:1px solid #0159C4;
  padding:8px 35px 8px 10px;
  color: #0159C4;
}

.top-news-section .block .row .box1 .button::after{
  content:"";
  position: absolute;
  top:50%;
  right:10px;
  width: 6px;
  height: 6px;
  border-right:1px solid #0159C4;
  border-bottom:1px solid #0159C4;
  transform: translate(0,-50%) rotate(-45deg);
}

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

  
  .top-news-section .chara {
    margin-top: 0px;
    position: absolute;
    left: 107px;
    top: -4px;
    width: 130px;
  }

  .top-news-section .block{
    padding: 0 20px;
  }

  .top-news-section {
    padding: 40px 0;
  }

  .top-news-section .block .row{
    display: block;
  }

  .top-news-section .block .row .box1{
    position: relative;
    width: 100%;
    margin-bottom: 30px;
  }

  .top-news-section .block .row .box2 {
    width: 100%;
    overflow-y: scroll;
    height: 250px;
    overflow-x:visible;
  }

}

.top-greeting-section .block{
  padding:0 40px;
}

.top-greeting-section .row{
  display: flex;
  max-width: 1160px;
  margin: 0 auto;
}

.top-greeting-section .row .box1{
  width: 50%;
}

.top-greeting-section .row .box2 {
  padding-left: 8%;
  width: 50%;
}

.top-greeting-section .cmn-headline-l>strong{
  text-align: left;
}

.top-greeting-section .cmn-headline-l>span{
  text-align: left;
}

.top-greeting-section .message{
  margin-bottom: 30px;
}

.top-greeting-section .cmn-button4{
  width: 100%;
}

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


  .top-greeting-section .block{
    padding:0 20px;
  }

  .top-greeting-section .row{
    flex-direction: column-reverse;
  }

  .top-greeting-section .row .box1{
    width: 100%;
  }

  .top-greeting-section .row .box2 {
    padding-left: 0;
    width: 100%;
    margin-bottom: 30px;
  }

  .top-voice-section .cmn-button4 {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
}

/*------------------

------------------*/

.top-about-section{
  padding-top: 100px;
  padding-bottom: 100px;
}

.top-about-section .block{
  padding: 0 40px;
}

.top-about-section .row{
  display: flex;
  margin: 0 auto;
  max-width: 1140px;
  gap:20px;
}

.top-about-section .row .box{
  position: relative;
}

.top-about-section .row .box .text{
  position: absolute;
  left:0;
  bottom:0;
  width: 100%;
  padding: 30px 20px;
}

.top-about-section .row .box .text .message{
  color: #fff;
  margin-bottom: 10px;
  font-size: 2.1rem;
}

.top-about-section .row .box .text .button{
  position: relative;
  display: block;
  width: 269px;
  background: #0159C4;
  border-radius: 15px;
  padding: 0.5em;
  font-size: 1.8rem;
  text-align: center;
  color: #fff;
}

.top-about-section .row .box .text .button::after{
  content:"";
  position: absolute;
  top:50%;
  right:20px;
  width: 9px;
  height: 9px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: translate(0,-50%) rotate(-45deg);
}


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

  .top-about-section .row{
    flex-direction: column;
    gap:30px;
    max-width: 600px;
    margin: 0 auto;
  }

  .top-about-section .row .box{
    position: relative;
    width: 100%;
  }
}


@media screen and (max-width:768px){
  .top-about-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .top-about-section .row .box .text .message{
    font-size: 3.5vw;
  }

  .top-about-section .block{
    padding: 0 20px;
  }

}

.top-style-section .block{
  padding: 0 40px;
}

.top-style-section{
  padding-top: 80px;
  padding-bottom: 80px;
  background: url(../img/bg_gray.jpg);
}
.top-style-section .title{
  font-size: 8rem;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 40px;
}
.top-style-section .catch{
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 50px;
}
.top-style-section .row{
  display: flex;
  justify-content: space-between;
  max-width: 1160px;
  margin: 0 auto;
}
.top-style-section .row .box{
  width: 49%;
  color: inherit;
}
.top-style-section .row .box>.head{
  display: flex;
  margin-bottom: 20px;
}

.top-style-section .row .box>.head .col1{
  width: 94px;
  font-weight: bold;
  text-align: center;
}

.top-style-section .row .box>.head .col2{
  width: calc(100% - 94px);
  padding-left: 30px;
}

.top-style-section .row .box>.head .col1 small{
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
}
.top-style-section .row .box>.head .col1 span{
  display: block;
  font-size: 8rem;
  line-height: 1;
}
.top-style-section .row .box>.head .col2 span{
  display: block;
  font-size: 2.1rem;
  font-weight: bold;
  color: #0159C4;
}
.top-style-section .row .box>.head .col2 strong{
  display: block;
  font-size: 2.6rem;
}

@media screen and (max-width:1100px){
  .top-style-section .block{
    padding: 0 20px;
  }

  .top-style-section .catch {
    text-align: left;
    font-size: 1.6rem;
  }
  .top-style-section .catch  br{
    display: none;
  }

  .top-style-section .row{
    flex-direction: column;
    gap:40px;
  }

  .top-style-section .row .box{
    display: block;
    width: 100%;
    color: inherit;
    margin-bottom: 0px;
  }
  .top-style-section .row .box img{
    max-width: 600px;
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width:768px){
  .top-style-section .row .box>.head .col1{
    width: 60px;
    font-weight: bold;
    text-align: center;
  }

  .top-style-section .row .box>.head .col2{
    width: calc(100% - 60px);
    padding-left: 20px;
  }

  .top-style-section .row .box>.head .col1 small {
    font-size: 1.2rem;
  }

  .top-style-section .row .box>.head .col1 span{
    display: block;
    font-size: 4.8rem;
    line-height: 1;
  }

  .top-style-section .row .box>.head .col2 span{
    display: block;
    font-size: 1.6rem;
    line-height: 1.4;
    margin-bottom: 3px;
  }

  .top-style-section .row .box>.head .col2 strong {
    font-size: 2.4rem;
    line-height: 1.4;
  }

  .top-style-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .top-style-section .title {
    font-size: 4rem;
    margin-bottom: 40px;
  }

  .top-style-section .catch {
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 50px;
    text-align: left;
  }

  .top-style-section .row .box img{
    max-width: 400px;
  }

}

/***********
greetings
***********/

/*main*/
.greetings-head{
  position: relative;
}
.greetings-head-bg{
  position: absolute;
  left: 0;
  top: 0;
  width:100%;
  height: 580px;
  background: url(../img/bg_gray.jpg);
}
.greetings-title{
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  text-align: center;
  gap: 20px;
  margin-bottom: 50px;
}
.greetings-title .gf1{
  font-size: 6.0rem;
  color: #0159C4;
  line-height: 1.333em;
}
.greetings-head-box{
  position: relative;
  padding: 100px 20px 0;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.greetings-head-box img{
  margin-bottom: 70px;
}
.greetings-head-box .message{
  font-size: 3.2rem;
}
.greetings-head-box .name{
  font-size: 1.8rem;
  margin-bottom: 20px;
}
.greetings-head-box .name span{
  font-size: 2.4rem;
}
.greetings-head-box a{
  display: inline-block;
  width: 280px;
  background: #0159C4;
  color: #fff;
  border-radius: 29px;
  font-size: 2.1rem;
  line-height: 58px;
  font-weight: bold;
}
@media screen and (max-width: 768px){
  /*main*/
  .greetings-head-bg{
    height: 280px;
  }
  .greetings-title{
    font-size: 1.6rem;
    gap: 15px;
    margin-bottom: 30px;
  }
  .greetings-title .gf1{
    font-size: 4.0rem;
    line-height: 1.333em;
  }
  .greetings-head-box{
    padding: 50px 20px 0;
  }
  .greetings-head-box img{
    margin-bottom: 30px;
  }
  .greetings-head-box .message{
    font-size: 2.2rem;
    line-height: 1.3em;
    margin-bottom: 15px;
  }
  .greetings-head-box .name{
    font-size: 1.6rem;
  }
  .greetings-head-box .name span{
    font-size: 2.0rem;
  }
  .greetings-head-box a{
    width: 240px;
    font-size: 1.8rem;
    line-height: 48px;
  }
}

/*text image*/
.greetings-box{
  padding-top: 75px;
  padding-bottom: 115px;
}
.greetings-box h2{
  font-size: 2.1rem;
  font-weight: normal;
  text-align: center;
  margin-bottom: 54px;
}
.greetings-box-message{
  column-count: 2;
  gap: 5%;
  line-height: 2.1;
}

.greetings-image img{
  width: 100%;
}
@media screen and (max-width: 768px){
  .greetings-box{
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .greetings-box h2{
    font-size: 2.0rem;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  .greetings-box-message{
    column-count: 1;
  }
}

/***********
talk session
***********/
.page-head{
  width: 100%;
}
.page-head .cmn-wrap{
  display: flex;
  align-items: center;
  height: 500px;
}
.page-head h1{
  display: flex;
  flex-direction: column;
  width: 50%;
  font-size: 1.8rem;
  gap: 25px;
  padding-top: 25px;
  letter-spacing: 2px;
}
.page-head h1 .gf1{
  font-size: 5.8rem;
  color: #0159C4;
  line-height: 1.3;
}
.page-head-msg{
  display: flex;
  flex-direction: column;
  width: 50%;
  padding-left: 50px;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .page-head .cmn-wrap{
    flex-direction: column;
    height: auto;
    padding-bottom: 40px;
  }
  .page-head h1{
    width: 100%;
    font-size: 1.4rem;
    gap: 10px;
    padding: 30px 0 40px;
  }
  .page-head h1 .gf1{
    font-size: 3.4rem;
  }
  .page-head-msg{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-left: 0px;
    gap: 10px;
    font-size: 1.2rem;
  }
}

/*talk*/
.talk-area{
  background: url(../img/bg_blue.jpg);
  padding: 90px 0 0;
  color: #fff;
}
.talk-profile{
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 80px;
  text-align: center;
}
.talk-profile .name{
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  padding-top: 10px;
}
.talk-profile .year{
  font-size: 1.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .talk-area{
    padding: 40px 0 0;
  }
  .talk-profile{
    gap: 20px;
    margin-bottom: 50px;
  }
  .talk-profile .name{
    font-size: 1.6rem;
  }
}

.talk-box{
  display: flex;
  padding-bottom: 90px;
  gap: 56px;
}
.talk-box.reverse{
  flex-direction: row-reverse;
}
.talk-box .text{
  width: calc(100% - 520px);
}

.talk-box .image{
  max-width: 464px;
}
@media screen and (max-width:1000px){
  .talk-box .text{
    width: 60%;
  }
}
.talk-box .text h2{
  position: relative;
  color: #fff;
  font-size: 1.8rem;
  margin-bottom: 1em;
  padding-left: 20px;
}
.talk-box .text h2::after{
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 20px;
  height: 1px;
  background: #fff;
}
.talk-box .text .answer{
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.talk-box .text .answer + h2{
  margin-top: 45px;
}
.talk-box dl{
  display: flex;
  gap: 1em;
}
.talk-box dt{
  color: #FFFEBF;
  white-space: nowrap;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .talk-box{
    flex-direction: column;
    padding-bottom: 50px;
    gap: 30px;
  }
  .talk-box.reverse{
    flex-direction: column;
  }
  .talk-box .text{
    width: 100%;
  }
  .talk-box .text .answer{
    gap: 20px;
  }
  /* .talk-box .text{
    text-align: center;
  } */
  .talk-box .image{
    max-width: 728px;
  }
}

/***********
culture
***********/
.culture-area{
  padding: 80px 0 80px;
}
.culture-area .cmn-wrap{
  display: flex;
}
@media screen and (max-width: 768px) {
  .culture-area{
    padding: 40px 0 80px;
  }
  .culture-area .cmn-wrap{
    flex-direction: column;
    gap: 30px;
  }
}

/*culture side*/
.culture-topic{
  position: relative;
  width: 300px;
}
@media screen and (max-width: 1100px){
  .culture-topic{
    width: 200px;
  }
}
.culture-topic .inner{
  position: sticky;
  top: 120px;
  left: 0;
}
.culture-topic .gf1{
  color: #0159C4;
  font-weight: normal;
  font-size: 1.8rem;
  margin-bottom: 20px;
}
.culture-topic .link-list{
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.culture-topic .link-list a{
  color: #1B1B1B;
}
@media screen and (max-width: 768px) {
  .culture-topic{
    width: 100%;
  }
  .culture-topic .inner{
    position: relative;
    top: 0;
  }
  .culture-topic .link-list{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 5px 15px;
  }
  .culture-topic .link-list a{
    font-size: 1.2rem;
    text-decoration: underline;
  }
}

/*culter contents*/
.culture-list{
  width: calc(100% - 300px);
  padding-left: 50px;
}
@media screen and (max-width: 1100px){
  .culture-list{
    width: calc(100% - 200px);
    padding-left: 30px;
  }
}
.culture-box{
  border-bottom: 1px solid #707070;
  margin-bottom: 40px;
}
.culture-box .toggle-title{
  position: relative;
  font-size: 2.1rem;
  color: #0159C4;
  padding: 15px 75px 20px 0;
  cursor: pointer;
}
.culture-box .toggle-title::after{
  content: "";
  position: absolute;
  right: 5px;
  top: 50%;
  width: 30px;
  height: 1px;
  background-color: #aaa;
}
.culture-box .toggle-title::before{
  content: "";
  position: absolute;
  right: 20px;
  top: calc(50% - 15px);
  width: 1px;
  height: 30px;
  background-color: #aaa;
}
.culture-box .toggle-title.open::before{
  display: none;
}
.culture-box .toggle-contents{
  padding: 30px 0 50px;
  display: none;
}
.culture-box .toggle-contents figure{
  padding: 60px 30px 0;
  text-align: center;
}
.culture-box .toggle-contents figcaption{
  margin-top: 5px;
}
.culture-box .image-three{
  padding: 60px 20px 0;
  display: flex;
  gap: 20px;
  justify-content: center;
}
.culture-box .image-six{
  padding: 60px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 65px;
}
.culture-box .image-six div{
  width: calc((100% - 130px) / 3);
}
@media screen and (max-width: 768px) {
  .culture-list{
    width: 100%;
    padding-left: 0;
  }
  .culture-box{
    margin-bottom: 30px;
  }
  .culture-box .toggle-title{
    font-size: 1.8rem;
    padding: 15px 50px 15px 0;
  }
  .culture-box .toggle-title::after{
    width: 25px;
  }
  .culture-box .toggle-title::before{
    right: 17px;
    top: calc(50% - 12px);
    height: 25px;
  }
  .culture-box .toggle-contents{
    padding: 20px 0 40px;
  }
  .culture-box .toggle-contents figure{
    padding: 30px 0px 0;
  }
  .culture-box .image-three{
    padding: 30px 0px 0;
    gap: 10px;
  }
  .culture-box .image-six{
    padding: 30px 0 0;
    gap: 15px 15px;
  }
  .culture-box .image-six div{
    width: calc((100% - 30px) / 3);
  }
}

/* service_model */

.svc-read{
  margin-bottom: 40px;
}

.svc-read h2{
  color: #0159C4;
  text-align: center;
  font-size: 2.8rem;
  margin: 50px 0;
  line-height: 1.6;
}

.svc-read p{
  max-width: 980px;
  align-items: center;
  margin: 0 auto;
}

.svc-img img{
  width: 100%;
}

.svc-img2{
  max-width: 1160px;
  margin: 0 auto;
}

.svc-img2 img{
  width: 100%;
  margin-bottom: 100px;
}


.svc-nav{
  max-width: 980px;
  margin: 0 auto 60px;

}

.svc-nav ul{
  display: flex;
  justify-content: space-between;
}

.svc-sub-catch{
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 60px;
}

.strg-area{
  /* padding: 30px 20px 30px 40px;
  width: 44.4%; */
  background: url(../img/bg_gray.jpg);
  padding: 80px;
}

.svc-nav-link{
  max-width: 980px;
  margin: 0 auto 80px;
}

.svc-nav-link ul{
  display: flex;
  justify-content: space-between;
}

.svc-nav-link li.model{
  max-width: 460px;
  width: 100%;
  margin-left: 40px;
}

.svc-nav-link li.model:first-child{
  margin-left: 0px;
}

.svc-nav-link ul li.model a{
  color: #1B1B1B;
  display: block;
  background-color: #fff;
  padding: 32px 10px;
  max-height: 110px;
  text-align: center;
  box-sizing: border-box;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .16);
}

.svc-nav-link-l{
  max-width: 1160px;
  margin: 0 auto 80px;
}

.svc-nav-link-l ul{
  display: flex;
  justify-content: space-between;
  position: relative;
}

.svc-nav-link-l li.model-01{
  width: calc(100%/4);
  margin-left: 20px;
  background-color: #fff;
  text-align: center;
  padding: 15px;
  box-sizing: border-box;
  border-radius: 10px;
  font-size: 1.8rem;
  font-weight: bold;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .16);
  line-height: 1.4;
  min-height: 134px;
  position: relative;
}

.svc-nav-link-l li.model-01:first-child{
  margin-left: 0px;
}

.svc-nav-link-l ul li.model-01 a{
  color: #1B1B1B;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transform: translateY(-50%);
}

.svc-nav-link-l ul li.model-01 a span{
  color: #0159C4;
  display: block;
}

.svc-wrap{
  max-width: 1160px;
  margin: 0 auto;
}

.svc-box{
  margin-bottom: 100px;
}

.box-l h3{
  font-size: 2.8rem;
  color: #0159C4;
  margin-bottom: 60px;
}

.box-l h3 i{
  font-size: 6rem;
  color: #0159C4;
  line-height: 1.1;
  border-bottom: 2px solid #0159C4;
  margin-right: 40px;
  vertical-align: middle;
}

.box-l h3 i span{
  font-size: 1.8rem;
  display: block;
}

.box-r{
  margin-left: 110px;
}

.box-r img{
  margin-bottom: 40px;
  width: 100%;
}

.svc-detail ul{
  font-size: 1.6rem;
}

.svc-detail ul li{
  border-bottom:1px solid #E8E8E8;
  margin-bottom: 14px;
  font-weight: 600;
  padding-left:1.1em;
  text-indent:-1.1em;
  line-height: 2.1;
}

.svc-detail ul li span{
  color: #0159C4;
}

.strg-wrap{
  max-width: 1160px;
  margin: 0 auto;
}

.strg-box{
  margin-bottom: 80px;
  display: flex;
  justify-content: space-between;
}

.strg-box-rev{
  margin-bottom: 80px;
  display: flex;
  justify-content: space-between;
  flex-flow: row-reverse;
}

.strg-box-l{
  width: 47.5%;
}

.strg-box-l h3.strg-title{
  margin-bottom: 30px;
  display: flex;
}

.strg-box-l h3.strg-title i{
  position: relative;
  font-size: 1.9rem;
  margin-right: 16px;
}

.strg-box-l h3.strg-title i em{
  font-size: 6rem;
  margin-left: 6px;
}

.strg-box-l h3.strg-title span{
  top: -10px;
  position: relative;
	padding: 13px 24px;
	background: #0159C4;
	z-index:1;
	color:#ffffff;
  width: 100%;
  max-width: 410px;
  display: block;
}

.strg-box-l h3.strg-title span:after{
  position: absolute;
	content: '';
  top: -3px;
	right: 0px;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 40px transparent;
	border-bottom: solid 55px #FBFBFB;
	z-index: 2;
}

.strg-box-l h4{
  font-size: 2.5rem;
  margin-bottom: 30px;
}

.strg-box-l p{
  line-height: 2.2;
}

.strg-box-r img{
 width: 100%;
 margin-left: 5%;
}

.strg-box-r-rev{
  margin-right: 5%;
}

.strg-box-r-rev img{
  width: 100%;
 }

@media screen and (max-width: 1160px) {
  .svc-sub-catch,
  .svc-wrap,
  .svc-nav-link-l,
  .svc-nav-link{
    padding: 0 5%;
  }
}

@media screen and (max-width:  980px) {
  .strg-box,
  .strg-box-rev{
    display: block;
    width: 100%;
  }
  .strg-box-l,
  .strg-box-r-rev{
    width: 100%;
    margin-bottom: 40px;
  }
  .strg-box-r img,
  .strg-box-r-rev img{
    margin-left: 0px;
    padding: 0 5%;
  }
  .svc-nav-link ul li.model a{
    font-size: 1.8rem;
  }
  .svc-nav-link-l ul{
    flex-wrap: wrap;
  }
  .svc-nav-link-l li.model-01{
    width: calc((100% - 20px) / 2);
    margin-bottom: 20px;
  }
  .svc-nav-link-l li.model-01:nth-child(odd){
    margin-left: 0px;
  }
}

@media screen and (max-width: 768px) {
  .svc-read h2{
    font-size: 2.4rem;
    margin: 50px 0 30px;
    text-align: left;
  }
  .box-r{
    margin-left: 0px;
  }
  .strg-box-r img{
    padding: 0;
  }
  .svc-nav-link li.model{
    margin-left: 20px;
  }
  .svc-nav-link ul li.model a{
    font-size: 1.6rem;
  }
  .svc-nav-link-l li.model-01{
    font-size: 1.6rem;
    min-height: 110px;
  }
}

@media screen and (max-width: 650px) {
  .svc-nav-link ul{
    display: inline-block;
    width: 100%;
  }
  
  .svc-nav-link li.model:first-child,
  .svc-nav-link li.model{
    margin: 0 auto 20px;
  }
}

@media screen and (max-width: 540px) {
   .strg-box-l h3.strg-title{
    display: block;
  }
  .strg-box-l h3.strg-title span{
    top: 16px;
  }
}

@media screen and (max-width: 460px) {
  .svc-nav-link-l ul{
    display: block;
  }
  .svc-nav-link-l li.model-01{
    width: 100%;
    margin-bottom: 10px;
    margin-left: 0px;
  }
}
/* education */

.edc-wrap{
  padding: 30px;
}

.edc01{background-image: url(../../education/images/bg01.webp); background-repeat: no-repeat; background-size: cover;}
.edc02{background-image: url(../../education/images/bg02.webp); background-repeat: no-repeat; background-size: cover;}
.edc03{background-image: url(../../education/images/bg03.webp); background-repeat: no-repeat; background-size: cover;}
.edc04{background-image: url(../../education/images/bg04.webp); background-repeat: no-repeat; background-size: cover;}

.edc-box{
  background: #fff;
  padding: 50px 8%;
  max-width: 1160px;
  margin: 30px auto;
  border-radius: 10px
}

.edc-box h3{
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 40px;
}

.edc-box h3 i{
  display: block;
  color: #0159C4;
  margin-bottom: 40px;
  font-weight: 400;
  justify-content: center;
  font-size: 1.6rem;
}

.edc-box h3 i em{
  display: block;
  font-size: 5.2rem;
  margin-top: 8px;
}

.edc-text-box{
  column-count: 2;
  gap: 30px;
  margin-bottom: 50px;
}

.edc-img{
  display: flex;
  justify-content: space-between;
}

.edc-img figcaption{
  margin-top: 10px;
  line-height: 1.5;
}

.edc-img2{
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.edc-img2 figcaption{
  margin-top: 10px;
  line-height: 1.5;
}

.edc-item{
  width: calc(100% - 30px/2);
  margin-left: 30px;
}

.edc-item:nth-child(odd){
  margin-left: 0px;
}

@media screen and (max-width: 768px) {
  .edc-text-box{
    column-count: 1;
  }
  .edc-img{
    display: inline-block;
  }
  .edc-img figcaption{
    text-align: left;
  }
  .edc-img2{
    display: inline-block;
    margin-bottom: 0;
  }
  .edc-img2 figcaption{
    text-align: left;
  }
  .edc-item{
    width: 100%;
    margin: 0 auto;
    margin-bottom: 40px;
  }
  .edc-img-wrap{
    text-align: center;
  }
}

/* LINE 202312229 */
.line-float{
  display: block;
  position: fixed;
  right: 0;
  bottom: 10vh;
  z-index: 100;
  width: 70px;
  height: 70px;
}
@media screen and (max-width: 500px){
  .line-float{
    width: 14vw;
    height: 14vw;
  }
}
.top-line-banner{
  text-align: center;
  padding-top: 30px;
}
.top-line-banner img{
  width: 100%;
  max-width: 375px;
}
.top-line-banner + .top-news-section{
  padding-top: 50px;
}
@media screen and (max-width: 500px){
  .top-line-banner{
    padding: 15px 20px 0;
  }
  .top-line-banner img{
    max-width: 100%;
  }
  .top-line-banner + .top-news-section{
    padding-top: 20px;
  }
}
#modal-line{
  width: 768px;
  background: #03C554;
  padding: 40px 34px 20px;
  color: #fff;
  font-family: "Noto Sans Japanese";
}
#modal-line .title{
  font-size: 5.2rem;
  line-height: 1.4;
  letter-spacing: 0;
}
#modal-line .title span{
  font-size: 4.8rem;
  color: #FFFF00;
}
#modal-line .title .big{
  font-size: 9.0rem;
}
#modal-line a{
  display: block;
  background: #fff;
  color: #03C554;
  text-align: center;
  font-size: 5.2rem;
  border-radius: 52px;
  margin-bottom: 20px;
}
#modal-line .text{
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 767px){
  #modal-line{
    width: 100%;
    padding: 5.2vw 4.4vw 2.6vw;
    white-space: nowrap;
  }
  #modal-line .title{
    font-size: 6.6vw;
  }
  #modal-line .title span{
    font-size: 6.25vw;
  }
  #modal-line .title .big{
    font-size: 11.718vw;
  }
  #modal-line a{
    font-size: 6.6vw;
    border-radius: 6.6vw;
    margin-bottom: 2.6vw;
  }
  #modal-line .text{
    font-size: 3.125vw;
  }
}

/*キャラクターページ*/
.page-character .block{
  padding: 70px 40px;
}
.page-character .block .catch{
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.03em;
  text-align: center;
  color: #15b5e5;
  margin-bottom: 60px;
  line-height: 1.33;
}
.page-character .block .row{
  display: flex;
  border-radius: 40px;
  background: #fff;
  max-width: 1160px;
  margin: 0 auto;
}

.page-character .block .row .img{
  width: 50%;
  display: flex;
  padding: 99px 0;
  justify-content: center;
}
.page-character .block .row .img img{
  max-width: 395px;
}
.page-character .block .row .txt{
  width: 50%;
  padding: 70px 87px 60px 60px;
}
.page-character .block .row .msg1{
  font-size: 2.1rem;
  font-weight: 700;
  margin-bottom: 40px;
}
.page-character .block .row .msg2{
  font-size: 1.6rem;
}
.page-character .block .row .msg1 .inline{
  display: flex;
}
.page-character .block .row .msg1 .inline .name{
  width: 353px;
}
.page-character .block .row .msg1 .inline .line{
  line-height: 1;
  padding-left: 0.5em;
  padding-top: 0.8em;
  white-space: nowrap;
}
.page-character .sns-block{
  padding: 65px 0;
} 
.page-character .sns-block .msg{
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  text-align: center;
  color: #404040;
  margin-bottom: 45px;
  font-weight: 700;
} 

.page-character .sns-block .msg span{
  color:#999;
}
.page-character .sns-block .msg em{
  color: #0159C4;
}
.page-character .sns-block .msg strong{
  color: #15B5E5;
}

.page-character .sns-block ul{
  display: flex;
  justify-content: center;
  gap:24px;
} 
.page-character .sns-block ul>li>a{
  width: 50px;
  display: block;
} 
.page-character .sns-block ul>li>a.ytb{
  width: 71px;
} 

@media screen and (max-width: 1200px) {
  .page-character .block .row .img img{
    max-width: 395px;
    width: 70%;
  }
  .page-character .block .row .txt {
    width: 50%;
    padding: 70px 87px 60px 0px;
  }
}
@media screen and (max-width: 1000px) {

  .page-character .sns-block{
    padding: 40px 0;
  } 

  .page-character .block{
    padding: 40px 20px;
  }

  .page-character .block .catch{
    font-size: 5vw;
    margin-bottom: 30px;
  }

  .page-character .block .row{
    display: block;
  }
  
  .page-character .block .row .img{
    width: 100%;
    display: flex;
    padding: 40px 0 10px;
    justify-content: center;
  }

  .page-character .block .row .img img{
    max-width: 300px;
    margin: 0 auto;
  }

  .page-character .block .row .txt{
    width: 100%;
    padding: 20px 20px 30px;
  }

  .page-character .block .row .msg1 {
    max-width: 312px;
    margin: 0 auto 40px;
    font-size: 1.8rem;
  }

  .page-character .block .row .msg1 .inline .name{
    width: 250px;
  }

  .page-character .sns-block .msg {
    margin-bottom: 30px;
    font-size: 1.8rem;
    font-weight: 700;
  }

  .page-character .sns-block ul>li>a{
    width: 40px;
    display: block;
  } 
  .page-character .sns-block ul>li>a.ytb{
    width: 60px;
  } 

}

.top-chara-banner{
  padding: 0 40px;
}
.top-chara-banner a{
  max-width: 1160px;
  display: flex;
  margin: 26px auto 0;
}
@media screen and (max-width: 768px) {
  .top-chara-banner{
    padding: 0 20px;
  }

}
