@charset "UTF-8";
/* CSS Document */

/* ---------------------------------------------------------
#main
----------------------------------------------------------*/
#main {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(../img/bg_main_sp.jpg) no-repeat center;
  background-size: cover;
  box-sizing: border-box;
  z-index: 2;
}
#main .txt-box {
  position: relative;
  text-align: center;
  padding: 0 5vw;
}
#main .txt-box .txt-en {
  width: 14vw;
  line-height: 1;
  margin: 0 auto 16px;
}
#main .txt-box h1 {
  width: 76.4vw;
  height: 16.5vw;
  line-height: 1;
  background: url(../img/txt_mother_sp.png) no-repeat;
  background-size: contain;
  margin: 0 auto 15px;
}
#main .txt-box h1 img {
  display: none;
}
#main .txt-box .txt-en img {
  width: 100%;
  height: auto;
}
#main .txt-box p {
	font-family: 'SourceHanSerif';
  font-size: 1.1rem;
  font-feature-settings: 'palt';
  color: #fff;
  line-height: 2.2;
}
#main .icon-arrow {
  position: absolute;
  width: 5vw;
  left: 50%;
  bottom: 105px;
  margin-left: -2.5vw;
}

h2 {
  font-weight: normal;
}


/* ---------------------------------------------------------
#sec_01
----------------------------------------------------------*/
#sec_01 h2 {
  font-family: 'SourceHanSerif';
  font-size: 1.4rem;
  padding: 11vw 0 5.3vw 5vw;
}

#sec_01 .pic_01 {
  width: 100vw;
  height: 66vw;
  background: url(../img/pic_01_01_sp.jpg) no-repeat;
  background-size: contain;
  padding-bottom: 5.3vw;
}

#sec_01 .pic_01 img,
#sec_02 .pic_01 img {
  display: none;
}

#sec_01 p {
  font-size: 1.1rem;
  line-height: 2.2;
  text-indent: 1em;
  padding: 0 5.3vw;
}

#sec_01 .pic_02,
#sec_01 .pic_03 {
  width: 92vw;
  display: block;
  margin: 0 auto;
  
}

#sec_01 .pic_02 img {
  width: 45vw;
  display: block;
  margin: 0 auto;
  padding-top: 10vw;
  
}

#sec_01 .pic_03 img {
  width: 75.7vw;
  display: block;
  margin: 0 auto;
  padding-top: 10vw;
  
}

#sec_01 .pic_02 figcaption,
#sec_01 .pic_03 figcaption {
  font-size: 1.1rem;
  color: #666;
  padding-top: 15px;
  
}


/* ---------------------------------------------------------
#sec_02
----------------------------------------------------------*/
#sec_02 h2 {
  font-family: 'SourceHanSerif';
  font-size: 1.4rem;
  padding: 23% 0 5.3% 5%;
}

#sec_02 .pic_01 {
  width: 100vw;
  background: url(../img/pic_01_04_sp.jpg) no-repeat;
  background-size: contain;
  padding-top: 5%;
}

#sec_02 .pic_01 figcaption {
  position: relative;
  width: 92vw;
  left: 4%;
  font-size: 1.1rem;
  color: #666;
  padding-top: 101vw;
  padding-bottom: 5.3vw;
}

#sec_02 .pic_02 {
  width: 92vw;
  display: block;
  margin: 0 auto;
}

#sec_02 .pic_02 img {
  width: 56vw;
  display: block;
  margin: 0 auto;
  padding-top: 11vw;
}

#sec_02 .pic_02 figcaption {
  font-size: 1.1rem;
  color: #666;
  padding-top: 15px;
}

#sec_02 p {
  font-size: 1.1rem;
  line-height: 2.2;
  text-indent: 1em;
  padding: 0 5.3%;
  
}

/* ---------------------------------------------------------
#sec_03
----------------------------------------------------------*/
#sec_03 h2 {
  width: 51vw;
  padding: 26.6vw 0 9vw 5.3vw;
}
#sec_03 h3 {
  font-family: 'SourceHanSerif';
  font-size: 1.4rem;
  font-weight: normal;
  padding: 0 5.3vw 5.3vw;
}
#sec_03 p {
  font-size: 1.1rem;
  line-height: 2.2;
  padding: 0 5.3%;
  
}
#sec_03 .pic-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 11vw 5.3vw 50px;
}
#sec_03 .block {
  width: 42vw;
  margin-bottom: 40px;
}
#sec_03 .block:nth-child(11),
#sec_03 .block:nth-child(12) {
  margin-bottom: 0;
}
#sec_03 .block .pic {
  display: flex;
  min-height: 57vw;
  align-items: center;
}
#sec_03 .block:nth-child(11) .pic,
#sec_03 .block:nth-child(12) .pic {
  min-height: 29vw;
}
#sec_03 .pic-box .block p {
  font-size: 1rem;
  line-height: 1.8;
  padding: 0;
}
#sec_03 h4 {
  font-size: 1.4rem;
  line-height: 1.2;
  text-align: center;
  padding: 3.4vw 0;
}

/* ---------------------------------------------------------
.next-box
----------------------------------------------------------*/
.next-box {
  position: relative;
  background-color: #fff;
  padding: 50px 0 50px 5vw;
}
.next-box .txt-next {
  width: 15.3vw;
  margin-bottom: 20px;
}
.next-box a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100px;
  background: url(../img/bg_next_sp.jpg) no-repeat center;
  background-size: cover;
  padding-left: 20px;
  box-sizing: border-box;
}
.next-box .link-box .txt-en {
  width: 15.7vw;
  line-height: 1;
  margin-bottom: 12px;
}
.next-box .link-box .txt-ja {
  width: 71.3vw;
  line-height: 1;
}