@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Cabin&display=swap');

.page_header img {
  width: 175px;
}

.closeup_about{
  margin-top: 90px;
  margin-bottom: 220px;
  padding: 60px 70px;
  border: solid 2px #008cd5;
  border-radius: 20px;
}
.cloceup-ttl{
  display: block;
  margin-top: -110px;
  margin-bottom: 40px;
  text-align: center;
}
.cloceup-ttl .cloceup-ttl__en{
  display: block;
  margin-bottom: 15px;
  font-size: 14px;
  font-family: "Cabin", sans-serif;
  font-weight: 400;
  color: #00a0c6;
  letter-spacing: 0.1em;
  line-height: 1;
}
.cloceup-ttl .cloceup-ttl__ja{
  display: inline-block;
  padding-inline: 15px;
  font-size: 30px;
  color: #008cd5;
  background: #fff;
  letter-spacing: 0.1em;
  line-height: 1.3;
}
.closeup-flow__img{
  margin: 0;
}

.about-wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.about-wrap .about-body{
  width: calc(95% - 330px);
}
.about-wrap .about-body .about-body__text{
  font-size: 16px;
  line-height: 2;
}
.about-wrap .about-img{
  width: 330px;
}
.about-wrap .about-img img{
  border-radius: 20px;
}


.faq{
  position: relative;
  padding-block: 40px 200px;
}
.faq::before{
  position: absolute;
  content: "";
  top: -92px;
  left: 0;
  right: 0;
  height: 92px;
  background: no-repeat top / 100% 100%;
  z-index: 1;
}

.faq.top-blue01{
  background: #F2F9FE;
}
.faq.top-blue01::before{
  background-image: url("../images/wave-blue01-top.png");
}
.faq.top-blue02{
  background: #D9EDFB;
}
.faq.top-blue02::before{
  background-image: url("../images/wave-blue02-top.png");
}
.faq.top-white{
  background: #fff;
}
.faq.top-white::before{
  background-image: url("../images/wave-white-top.png");
}

.faq-ttl{
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  margin: 0;
  text-align: center;
  font-size: 34px;
  font-weight: 700;
  color: #008CD5;
  line-height: 1.2;
  letter-spacing: 0.07em;
  z-index: 10;
}
.faq-ttl .faq-ttl__q{
  font-size: 49px;
  color: #FF954B;
}

.faq-list{
  display: flex;
  flex-flow: column;
  gap: 15px;
  max-width: 980px;
  margin-inline: auto;
}
.faq-item{
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  box-sizing: border-box;
  width: 90%;
  padding: 50px 45px;
  background: #fff;
  border-radius: 5px 70px;
  box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.16);
}
.faq-item:nth-of-type(2n){
  margin-left: auto;
}
.faq-item .faq-img{
  width: 85px;
  margin: 0;
  aspect-ratio: 1 / 1;
  line-height: 0;
}
.faq-item .faq-img img{
  border-radius: 50%;
}
.faq.top-blue01 .faq-item .faq-img img{
  background: #F2F9FE;
}
.faq.top-blue02 .faq-item .faq-img img{
  background: #D9EDFB;
}
.faq.top-white .faq-item{
  background:#F2F9FE;
}
.faq.top-white .faq-item .faq-img img{
  background: #fff;
}
.faq-item .faq-body{
  width: calc(97% - 85px);
  margin-left: 3%;
}
.faq-item .faq-body .faq-body__ttl{
  margin-block: 0 15px;
  font-size: 16px;
  font-weight: 400;
  color: #008CD5;
}
.faq-item .faq-body .faq-body__text{
  font-size: 16px;
  line-height: 1.8;
}

.message{
  position: relative;
  padding-block: 6px 120px;
  background: #D9EDFB;
}
.message::before{
  position: absolute;
  content: "";
  top: -92px;
  left: 0;
  right: 0;
  height: 92px;
  background: url("../images/wave-blue02-top.png") no-repeat top / 100% 100%;
  z-index: 1;
}
.message .cloceup-ttl{
  position: relative;
  margin-bottom: 125px;
  margin-top: -60px;
  z-index: 1;
}
.message .cloceup-ttl .cloceup-ttl__ja{
  background: transparent;
}
.message-list{
  display: flex;
  flex-wrap: wrap;
  gap: 6%;
  width: 880px;
  max-width: 100%;
  margin-inline: auto;
}
.message-item{
  width: 47%;
  padding: 50px 40px;
  background: #fff;
  border-radius: 5px 70px;
  box-sizing: border-box;
  box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.16);
}
.message-item .message-img{
  width: 90px;
  margin: -125px auto 20px;
  margin-top: -125px;
  line-height: 0;
}
.message-item .message-body .message-body__ttl{
  margin-block: 0 15px;
  font-size: 16px;
  font-weight: 400;
  color: #008CD5;
  text-align: center;
}
.message-item .message-body .message-body__text{
  font-size: 16px;
  line-height: 1.8;
}

@media screen and (min-width: 641px), print {
	/* ------------------  pc   ------------------   */
	.closeup_lead {
		width: 810px;
		margin: 0 auto 43px;
		font-size: 16px;
	}
	
  .closeup_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1008px;
    margin: 0 auto;
  }
  
	.closeup_list .closeup_item {
		display: flex;
		width: 474px;
		margin: 0 15px 21px;
	}

	.closeup_list .closeup_item > a {
    display: flex;
    padding: 10px;
    background: url('../../cmn/images/pattern/dot_bg_blue.png') repeat;
    position: relative;
		overflow: hidden;
    box-sizing: border-box;
  }

	.closeup_list .closeup_item > a:hover {
    opacity: .8;
  }
  
	.closeup_list .closeup_item > a:after {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    background: url("../../cmn/images/icon/icon_pages.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 14px;
    right: 14px;
  }
  
	.closeup_list .closeup_item > a .closeup_item_inner {
    display: flex;
    flex-flow: column;
    padding: 1px;
    background: #fff;
  }

	.closeup_list li a {
		display: block;
		width: 100%;
		height: 100%;
		text-indent: -9999px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 100;
	}
	
	.closeup_list .closeup_item > a .closeup_item_inner .item_thumb {
    line-height: 0;
  }
  
	.closeup_list .closeup_item > a .closeup_item_inner .item_body {
    width: 452px;
    padding: 15px 25px 20px;
    box-sizing: border-box;
  }

	.closeup_list .closeup_item > a .closeup_item_inner .item_body img {
    display: block;
    /* margin-bottom: 9px; */
  }
}
@media screen and (max-width: 640px){
	/* ------------------  sp   ------------------   */
  .closeup_list {
    margin: 0 auto;
  }
  
	.closeup_list .closeup_item {
		margin: 0 0 20px;
    position: relative;
	}

	.closeup_list .closeup_item > a {
    display: block;
    padding: 10px;
    background: url('../../cmn/images/pattern/dot_bg_blue.png') repeat;
    position: relative;
		overflow: hidden;
    box-sizing: border-box;
  }

	.closeup_list .closeup_item > a:after {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    background: url("../../cmn/images/icon/icon_pages.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 14px;
    right: 14px;
  }
  
	.closeup_list .closeup_item > a .closeup_item_inner {
    display: flex;
    flex-flow: column;
    padding: 1px;
    background: #fff;
  }  

	.closeup_list li a {
		display: block;
		width: 100%;
		height: 100%;
		text-indent: -9999px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 100;
	}
	
	.closeup_list .closeup_item > a .closeup_item_inner .item_thumb {
    line-height: 0;
  }

	.closeup_list .closeup_item > a .closeup_item_inner .item_thumb img {
    width: 100%;
    max-width: inherit;
  }
  
	.closeup_list .closeup_item > a .closeup_item_inner .item_body {
    padding: 10px 10px 28px;
  }

	.closeup_list .closeup_item > a .closeup_item_inner .item_body img {
    display: block;
    margin-bottom: 9px;
  }

  .closeup_about {
    margin-top: 60px;
    margin-bottom: 70px;
    padding: 15px 20px;
    border-radius: 10px;
  }
  .cloceup-ttl {
    margin-top: -50px;
    margin-bottom: 20px;
  }
  .cloceup-ttl .cloceup-ttl__en{
    margin-bottom: 8px;
    font-size: 12px;
  }
  .cloceup-ttl .cloceup-ttl__ja{
    padding-inline: 10px;
    font-size: 23px;
  }

  .about-wrap .about-body{
    width: 100%;
    order: 2;
  }
  .about-wrap .about-body .about-body__text{
    font-size: 14px;
  }
  .about-wrap .about-img{
    width: 100%;
    order: 1;
    margin-bottom: 15px;
  }
  .about-wrap .about-img img{
    border-radius: 10px;
  }

  .faq{
    padding-block: 40px 100px;
  }
  .faq::before{
    top: -30px;
    height: 30px;
  }
  .faq-ttl{
    top: -40px;
    font-size: 22px;
  }
  .faq-ttl .faq-ttl__q{
    font-size: 30px;
  }
  .faq-list{
    margin-inline: 20px;
  }
  .faq-item{
    padding: 20px 30px;
    border-radius: 5px 35px;
    box-shadow: 7px 7px 0px 0px rgba(0, 0, 0, 0.16);
  }
  .faq-item .faq-img{
    margin-inline: auto;
    margin-bottom: 20px;
  }
  .faq-item .faq-body{
    width: 100%;
    margin-left: 0;
  }
  .faq-item .faq-body .faq-body__ttl{
    font-size: 14px;
    text-align: center;
  }
  .faq-item .faq-body .faq-body__text{
    font-size: 14px;
  }

  .message{
    padding-block: 6px 70px;
  }
  .message::before{
    top: -30px;
    height: 30px;
  }
  .message .cloceup-ttl .cloceup-ttl__ja{
    font-size: 22px;
    letter-spacing: 0;
  }
  .message-list{
    width: calc(100% - 40px);
    box-sizing: border-box;
    gap: 120px;
  }
  .message-item{
    width: 100%;
    padding: 30px;
    border-radius: 5px 35px;
    box-shadow: 7px 7px 0px 0px rgba(0, 0, 0, 0.16);
  }
  .message-item .message-body .message-body__ttl{
    font-size: 14px;
  }
  .message-item .message-body .message-body__text{
    font-size: 14px;
  }
}

