@charset "UTF-8";
/* CSS Document */
/******************
header
******************/
header{
  max-width: 1440px;
  width: 100%;
  height: 60px;
  background: #fff;
  z-index: 1;
  position: fixed;
  display: flex;
  justify-content: space-between;
}
.logo img{
  margin-left: 90px;
  margin-top: 5px;
  width: 44px;
  height: 52px;
  z-index: 10;
}
.logo img:hover{
  opacity: 60%;
}
.pc_nav ul {
  display: flex;
}
.icon1 img, .icon2 img{
  width: 42px;
  height: 42px;
  margin-top: 20px;
}
.icon1{
  margin-right: 30px;
}
.icon1:hover{
  opacity: 60%;
}
.icon2{
  margin-right: 90px;
}
.icon2:hover{
  opacity: 60%;
}
.bt{
  margin-top: 20px;
  margin-right: 30px;
}
/*矢印が縮む*/
.bt a{
  font-size: 18px;
	position: relative;
	background:#fff;
  padding: 5px 60px 5px 30px;
  display: inline-block;
  text-align: center;
  transition: all .2s linear;
	color:#0D1525;
  text-decoration: none;
	border:transparent 2px solid;
  border-color:  #0D1525;
  border-radius:  50px;
  outline: none;
  font-weight: bold;
}
.bt a:hover{
	background:#69BB7F;
	color:#0D1525;
	border-color:#0D1525;
}
.bt a:before{
	content:"";
	position: absolute;
	top:50%;
	right:20px;
	width:30px;
	height:2px;
	background:#0D1525;
}
.bt a::after {
    content: '';
    position: absolute;
    top: 40%;
    right: 12px;
    border: 5px solid transparent;
    border-top-width: 5px;
    border-bottom-width: 5px;
    border-left-color: #0D1525;
    transition: all .2s linear;
}
.bt a:hover::before{
	background:#0D1525;
	right:25px;
}
.bt a:hover::after{
    border-left-color: #0D1525;
    right: 20px;
}
/*ハンバーガーボタン*/
/*========= ナビゲーションのためのCSS ===============*/
#g-nav{
  position:fixed;
  z-index: 999;
	top:-120%;
  left:0;
	width:100%;
  height: 100vh;
	background:#0D1525;
	transition: all 0.6s;
}

#g-nav.panelactive{
    top: 0;
}
/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav ul {
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
  text-align: center; 
  border-bottom: solid 0.1px #fff;
  width: 300px;
}
#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding: 15px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}
#g-nav li a:hover{
  opacity: 60%;
}
/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
   z-index: 9999;
	top:8px;
	right: 30px;
	cursor: pointer;
  width: 45px;
  height:45px;
  background-color: #0D1525;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 13px;
    height: 2px;
    border-radius: 2px;
	  background-color: #fff;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:14px;	
}
.openbtn span:nth-of-type(2) {
	top:22px;
}
.openbtn span:nth-of-type(3) {
	top:30px;
}
.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
/******************
SP　header
******************/
@media screen and (min-width: 1121px) {
  .openbtn, #g-nav{
    display: none;
  }
  .logo img{
  margin-top: 20px;
}
  header{
    height: 90px;
  }
}
@media screen and (max-width: 1120px) {
  .icon1, .icon2, .bt, .pc_nav{
    display: none;
  }
  .logo img{
    margin-left: 30px;
  }
}
/******************
fv
******************/
.top{
  position: relative;
}
.fv_img{
  width: 100%;
  margin-top: 60px;
}
h1{
  font-size: 20px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: bold;
  position: absolute;
  top: 57%;
  left: 5%;
  color: #fff;
  letter-spacing: 0.5rem; 
  line-height:normal;
}
.fv_p{
  font-size: 16px;
  position: absolute;
  top: 45%;
  left: 5%;
  color: #fff;
  letter-spacing: 0.5rem;  
}
.fv_sub{
  letter-spacing:normal;
}
@media screen and (max-width: 550px) {
  .fv_img{
    display: none;
  }
  .fv_img_sp{
  width: 100%;
  margin-top: 60px;
}
  .fv_p{
    letter-spacing: 0.1rem;
    font-size: 12px;
    left: 5%;
    top: 51%;
    line-height: normal;
  }
  h1{
    top: 65%;
    left: 5%;
  }
}
@media screen and (min-width: 551px) {
  .fv_img_sp{
  display: none;
}
  h1{
    top: 65%;
    font-size: 28px;
  }
  .fv_p{
    top: 49%;
    font-size: 16px;
    letter-spacing: 0.1rem;
    line-height: normal;
  }
}
@media screen and (min-width: 1120px) {
  .fv_img_sp{
  display: none;
}
  h1{
    font-size: 36px;
    top: 60%;
  }
  .fv_p{
    font-size: 18px;
  }
  .sec1 h2{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
}
/******************
section1
******************/
.sec1{
  text-align: center;
  margin-top: 120px;
  padding: 0 5%;
}
.sec1 h2{
  border-top: solid 3px #2B4A70;
  color: #2B4A70;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: solid 3px #2B4A70;
}
.sec1_content{
  margin-top: 60px;
}
.sec1_img{
  width: 80%;
  margin-top: 60px;
}
/******************
SP　sec1
******************/
@media screen and (max-width: 768px) {
  .sec1_img{
    display: none;
  }
  .sec1{
    text-align: left;
  }
  .sec1_img_sp{
    width: 100%;
    margin-top: 60px;
  }
}
/******************
TB　sec1
******************/
@media screen and (min-width: 769px) {
  .sec1_img_sp{
    display: none;
  }
}
/******************
section2
******************/
.sec2{
  background-image: url("../images/sec2_image.png");
  background-repeat: no-repeat;
  background-size:cover;
  background-position: top;
  height: 560px;
  display: flex;
  justify-content: center;
  margin-top: 120px;
}
.sec2_wrap{
  padding-top: 60px;
  padding-bottom: 60px;
}
.sec2_heading{
  text-align: left;
  letter-spacing: 3.0rem;
}
.sec2_content{
  margin-top: 60px;
}
/******************
SP　sec2
******************/
@media screen and (max-width: 1120px) {
  .sec2{
    height: auto;
    padding: 0 5%;
  }
  .sec2_heading{
  text-align: center;
  padding-left: 45px;
  border-top: solid 3px #333;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: solid 3px #333;
}
}
/******************
section3
******************/
.sec3{
  margin-top: 120px;
  position: relative;
}
.sec3_heading{
  writing-mode: vertical-rl;
  letter-spacing: 12.0rem;
  position: absolute;
  left: 4.5%;
  color: #2B4A70;
}
.sec3_1, .sec3_2, .sec3_3, .sec3_4, .sec3_5{
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1.5rem;
  position: absolute;
}
.sec3_1{
  top: -3%;
}
.sec3_2{
  top: -3%;
}
.sec3_3{
  top: -4%;
}
.sec3_4{
  top: -2.5%;
}
.sec3_5{
  top: -2%;
}
.sec3_content1, .sec3_content2, .sec3_content3, .sec3_content4, .sec3_content5{
  background-color: #F2F2F4;
  width: 75%;
  margin: 120px auto 0 auto;
  position: relative;
  padding: 60px 30px;
}
/******************
TB　sec3
******************/
@media screen and (max-width: 1120px) {
  .sec3_1{
  top: -3%;
}
.sec3_2{
  top: -3%;
}
.sec3_3{
  top: -4%;
}
.sec3_4{
  top: -2.5%;
}
.sec3_5{
  top: -2%;
}
  .sec3{
    padding: 0 1%;
  }
  .sec3_heading{
    writing-mode: horizontal-tb;
    letter-spacing: 3.0rem;
    position: static;
    text-align: center;
    padding-left: 45px;
    border-top: solid 3px #2B4A70;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: solid 3px #2B4A70;
  }
  .sec3_content1, .sec3_content2, .sec3_content3, .sec3_content4, .sec3_content5{
  width: auto;
}
}
/******************
SP　sec3
******************/
@media screen and (max-width: 768px) {
  .sec3_1{
  top: -5%;
}
.sec3_2{
  top: -3%;
}
.sec3_3{
  top: -3%;
}
.sec3_4{
  top: -2%;
}
.sec3_5{
  top: -3%;
}
}
/******************
section4
******************/
.sec4{
  margin-top: 120px;
  padding: 0 10%;
}
.sec4_wrap{
  max-width: 1247px;
  margin: 0 auto;
}
.sec4_heading{
  letter-spacing: 0.5rem;
  color: #2B4A70;
  padding-top: 0.5rem;
  border-top: solid 3px #2B4A70;
}
.sec4_sub_heading{
  text-align: center;
  margin-top: 15px;
  font-weight: bold;
  letter-spacing: 0.5rem;
  color: #2B4A70;
  padding-bottom: 0.5rem;
  border-bottom: solid 3px #2B4A70;
}
.sec4_img{
  width: 246px;
  height: 333px;
  margin-right: 90px;
}
.sec4_content{
  width: 800px;
  display: flex;
  align-items: center;
  margin: 60px auto 0 auto;
}
.name{
  letter-spacing: 0.08rem;
}
.sec4_content2{
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  margin-top: 10px;
}
  .sec4_content2 dt{
  flex-basis: 35%;
  margin-top: 5px;
    font-weight: bold;
}
.sec4_content2 dd{
  flex-basis: 65%;
  margin-top: 5px;
}
/******************
SP　sec4
******************/
@media screen and (max-width: 1120px) {
  .sec4{
    padding: 0 1%;
  }
  .sec4_content{
  display: block;
  text-align: center;
  margin: 60px auto 0 auto;
  width: auto;
}
  .sec4_img{
    margin: auto;
  }
  .sec4_content2{
    flex-flow: column;
    text-align: left;
    margin: 60px auto 0 auto;
    width: 300px;
  }
  .sec4_content2 dt{
    font-weight: bold;
  }
  .sec4_content2 dd{
    border-bottom: 1px solid #333;
  }
}
/******************
section5
******************/
.sec5{
  margin-top: 120px;
  padding:  0 1%;
}
.sec5_heading{
  letter-spacing: 0.5rem;
  color: #2B4A70;
  padding-top: 0.5rem;
  border-top: solid 3px #2B4A70;
}
.sec5_sub_heading{
  text-align: center;
  margin-top: 15px;
  font-weight: bold;
  letter-spacing: 0.5rem;
  color: #2B4A70;
  padding-bottom: 0.5rem;
  border-bottom: solid 3px #2B4A70;
}
.sec5_h3{
  position: static;
  letter-spacing: 0.5rem;
  text-align: center;
  margin-top: 60px;
  font-size: 20px;
}
.sec5_h3_sub{
  text-align: center;
  margin-top: 15px;
  font-weight: bold;
}
.sec5_comment{
  margin: 15px auto 0 auto;
  width: 450px;
}
.sec5_comment1{
  margin-top: 15px;
  text-align: center;
  font-weight: bold;
}
.sec5_comment2{
  text-align: left;
  font-weight: bold;
}
.sec5_comment3{
  text-align: left;
  font-weight: bold;
}
.menu1, .menu2{
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
.sec5_pc_img1, .sec5_pc_img2, .sec5_pc_img3{
  width: 300px;
  height: 205px;
}
.sec5_pc_img1, .sec5_pc_img2{
  margin-right: 60px;
}
.pattern{
  margin-top: 60px;
  text-align: center;
}
.sec5_pc_img4{
  width: 50%;
}
.sec5_pc_img5, .sec5_pc_img6, .sec5_pc_img7{
  width: 300px;
  height: 343px;
}
.sec5_pc_img5:hover{
  opacity: 80%;
}
.sec5_pc_img6:hover{
  opacity: 80%;
}
.sec5_pc_img7:hover{
  opacity: 80%;
}
.sec5_pc_img5, .sec5_pc_img6{
  margin-right: 60px;
}
.bt2{
  text-align: center;
  margin-top: 60px;
}
.bt2 a{
  font-size: 16px;
	position: relative;
	background:#FF9D28;
  padding: 5px 60px 5px 30px;
  display: inline-block;
  text-align: center;
  transition: all .2s linear;
	color:#fff;
  text-decoration: none;
	border:transparent 2px solid;
  border-color:  #FF9D28;
  border-radius:  10px;
  outline: none;
  font-weight: bold;
}
.bt2 a:hover{
	background:#FF9D28;
	color:#fff;
	border-color:#FF9D28;
  opacity: 80%;
}
.bt2 a:before{
	content:"";
	position: absolute;
	top:50%;
	right:20px;
	width:30px;
	height:2px;
	background:#FFF;
}
.bt2 a::after {
    content: '';
    position: absolute;
    top: 40%;
    right: 12px;
    border: 5px solid transparent;
    border-top-width: 5px;
    border-bottom-width: 5px;
    border-left-color: #FFF;
    transition: all .2s linear;
}
.bt2 a:hover::before{
	background:#FFF;
	right:25px;
}
.bt2 a:hover::after{
    border-left-color: #FFF;
    right: 20px;
}
.menu2_sp{
  font-weight: bold;
  margin: 60px auto 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.menu2_sp dt{
  font-size: 16px;
  border: solid 1px #4177A3;
  border-radius: 50px;
  background-color: #4177A3;
  color: #fff;
  text-align: center;
  width: 45%;
  padding: 5px;
  margin: 0 0 30px 0;
  letter-spacing: 0.1rem;
}
.menu2_sp dd{
  font-size: 18px;
  width: 30%;
  padding: 5px;
  margin: 0 0 30px 10px;
  letter-spacing: 0.4rem;
}
/******************
SP　sec5
******************/
@media screen and (max-width: 1120px) {
  .sec5_pc_img1, .sec5_pc_img2, .sec5_pc_img3, .sec5_pc_img4{
    display: none;
  }
  .sec5_sp_img1, .sec5_sp_img2, .sec5_sp_img3{
    width: 50%;
  }
  .sec5_sp_img2, .sec5_sp_img3{
    margin-top: 60px;
  }
 .sec5_sp_img4{
  width: 60%;
}
  .menu1, .menu2 {
    display:none;
}
  .menu1{
    text-align: center;
  }
}
@media screen and (min-width: 1120px) {
  .sec5_sp_img1, .sec5_sp_img2, .sec5_sp_img3, .sec5_sp_img4, .menu2_sp{
    display: none;
  }
  .sec5_heading, .sec5_sub_heading{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .sec5_sp_img1, .sec5_sp_img2, .sec5_sp_img3{
    width: 78%;
  }
  .sec5_sp_img4{
  width: 80%;
}
  .sec5_pc_img5, .sec5_pc_img6, .sec5_pc_img7{
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .sec5_sp_img1, .sec5_sp_img2, .sec5_sp_img3{
    width: 90%;
  }
  .sec5_sp_img4{
  width: 100%;
}
  .sec5_comment{
    width: auto;
    padding-left: 20px;
  }
  .menu2_sp dd{
    padding-right: 45px;
  }
}
/******************
section6
******************/
.sec6{
  margin-top: 120px;
  padding:  0 1%;
}
.sec6_heading{
  letter-spacing: 0.5rem;
  color: #2B4A70;
  border-top: solid 3px #2B4A70;
  padding-top: 0.5rem;
}
.sec6_sub_heading{
  text-align: center;
  margin-top: 15px;
  font-weight: bold;
  letter-spacing: 0.5rem;
  color: #2B4A70;
  border-bottom: solid 3px #2B4A70;
  padding-bottom: 0.5rem;
}
.sec6_h3{
  position: static;
  letter-spacing: 0.5rem;
  text-align: center;
  margin-top: 90px;
}
.slider{
  margin-top: 60px;
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  position: relative;
  width: 100%;
}
.sec6_content1, .sec6_content2, .sec6_content3, .sec6_content4 {
  width: 600px;
  display: inline-block;
  border: solid 2px #333;
  border-radius: 50px;
  padding: 30px 10px 30px 10px;
  margin-right: 15px;
  margin-left: 15px;
}
.sec6_content1 h4, .sec6_content2 h4, .sec6_content3 h4, .sec6_content4 h4{
  text-align: center;
  font-size: 16px;
}
.sec6_content1 h5, .sec6_content2 h5, .sec6_content3 h5, .sec6_content4 h5{
  text-align: center;
  margin-top: 15px;
  font-size: 12px;
}
.sec6_img{
  width: 100px;
  height: 100px;
  margin: 30px auto 0 auto;
  display: block;
}
.para{
  margin: 30px auto 0 auto;
  width: 320px;
  font-size: 14px;
  line-height: 1.5rem;
}
.pc_br{
  display: none;
}
.sp_br{
  display: block;
}
@media screen and (min-width: 1120px) {
  .sec6{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .sec6_img{
    width: 150px;
    height: 150px;
  }
  .para{
    font-size: 16px;
    width: 589px;
  }
  .sp_br{
    display: none;
  }
  .pc_br{
    display: block;
  }
}
/******************
section7
******************/
.sec7{
  margin-top: 120px;
  padding: 0 1%;
}
.sec7_heading{
  letter-spacing: 0.5rem;
  border-top: solid 3px #2B4A70;
  color: #2B4A70;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: solid 3px #2B4A70;
}
.sec7_dl{
  margin: 60px auto 0 auto;
}
.top_dt{
  font-weight: bold;
  border-bottom: 1px solid;
  width: 340px;
  padding-bottom: 1px;
  padding-left: 10px;
}
.dt2, .dt3, .dt4, .dt5{
  margin-top: 60px;
  font-weight: bold;
  border-bottom: 1px solid;
  padding-bottom: 1px;
  padding-left: 10px;
}
.dt2{
  width: 295px;
}
.dt3{
  width: 245px;
}
.dt3_line_link{
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid;
  padding-bottom: 2px;
}
.dt3_line_link:hover{
  opacity: 80%;
}
.dt3_line_link img{
  width: 15px;
  height: 15px;
  margin-right: 5px;
}
.dt4{
  width: 290px;
}
.dt5{
  width: 325px;
}
.sec7_dl dd{
  margin-top: 15px;
  padding-left: 10px;
}
/******************
SP　sec7
******************/
@media screen and (max-width: 430px) {
  .top_dt, .dt5{
    width: auto;
  }
}
/******************
PC　sec7
******************/
@media screen and (min-width: 1120px) {
  .sec7{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
/******************
page_top_icon
******************/
#page-top{
  position: relative;
}
#page-top a{
  width: 30px;
  height: 30px;
  position: absolute;
  right: 9%;
}
#page-top a img{
  width: 35px;
  height: 35px;
}
/******************
footer
******************/
.footer_wrap{
  background-image:url("../images/footer_image.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: auto;
  margin-top: 120px;
  text-align: center;
}
.footer_bg{
  height: 100%;
  background: rgba(255,255,255,0.5);
}
.footer_content{
  text-align: center;
  color: #333;
  display: inline-block;
  margin: 60px auto 0 auto;
}
.footer_p1, .footer_btn{
  margin-top: 60px;
  font-weight: bold;
}
.footer_p2{
  font-weight: bold;
}
.copyright{
  margin-top: 60px;
  margin-bottom: 15px;
}
/******************
SP　footer
******************/
@media screen and (max-width: 1120px) {
  .footer_bg{
    padding: 0 5%;
  }
  .footer_heading{
    border-top: solid 3px #333;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: solid 3px #333;
  }
  .icon2_foot a img{
    width: 42px;
    height: 42px;
    opacity: 80%;
    margin-top: 30px;
  }
  .footer_content{
    width: 100%;
  }
  .footer_p1, .footer_p2{
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    width: 325px;
  }
}
/******************
PC　footer
******************/
@media screen and (min-width: 1120px) {
  .icon2_foot a img{
    display: none;
  }
}