@charset "utf-8";

.fadein02 {
  display: none;
}



/*--------------------------------------
　animation
---------------------------------------*/
.fadeInUp {
  opacity : 0;
  transition: all 0.3s linear;
}
.fadeInUp.isActive {
  -webkit-animation: fadeInUp 0.7s ease-in-out forwards;
          animation: fadeInUp 0.7s ease-in-out forwards;
  animation-delay: 0.5s;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}


.slide-in {
	overflow: hidden;
  display: inline-block;
}
.slide-in_inner {
	display: inline-block;
}
.leftAnime{
    opacity: 0;
}
.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration: 1s;
	animation-fill-mode: forwards;
  animation-delay: 0.5s;
  opacity: 0;
}
@keyframes slideTextX100 {
  from {
  	transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name: slideTextX-100;
	animation-duration: 1s;
	animation-fill-mode: forwards;
  animation-delay: 0.5s;
  opacity: 0;
}
@keyframes slideTextX-100 {
  from {
  	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
  	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}



/*--------------------------------------
　Header
---------------------------------------*/
.header_home .mainArea{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 1;
}

.header_home .sitename {
  color: #fff;
  text-shadow: 
	rgba(3,3,3,0.3) 3px 3px 5px,
	rgba(3,3,3,0.3) 0 3px 5px,
	rgba(3,3,3,0.3) 3px 0 5px,
	rgba(3,3,3,0.3) 0 0 5px;
}



/*--------------------------------------
　MV
---------------------------------------*/
.mv_home {
  width: 100%;
  height: 100vh;
  min-width: 1000px;
  position: relative;
}

.mv_home_inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	z-index: -1;
}

.mv_slide .mv_img,
.mv_slide .mv_img span {
  display: block;
  width: 100%;
  height: 100vh;
}
.mv_slide .mv_img {
  z-index: 1!important;
  mask-size: 300% 600%;
  mask-position: 66.7% 0;
  mask-repeat: no-repeat;
  mask-image: url(data:image/webp;base64,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);
}
.mv_slide .mv_img01 span  { 
  background: url("img/mv_bg01.jpg") center center no-repeat;
  background-size: cover;
}
.mv_slide .mv_img02 span  {
  background: url("img/mv_bg02.jpg") center center no-repeat;
  background-size: cover;
}
.mv_slide .mv_img03 span  {
  background: url("img/mv_bg03.jpg") center center no-repeat;
  background-size: cover;
}
.mv_slide .mv_img04 span  {
  background: url("img/mv_bg04.jpg") center center no-repeat;
  background-size: cover;
}
.mv_slide .mv_img05 span  {
  background: url("img/mv_bg05.jpg") center center no-repeat;
  background-size: cover;
}
.mv_slide .mv_img06 span  {
  background: url("img/mv_bg06.jpg") center center no-repeat;
  background-size: cover;
}
.mv_slide .mv_img.add-animation {
  z-index: 998!important;
  animation: fvSlideMask 4s cubic-bezier(0.33, 1, 0.68, 1) 0s forwards;
}
.mv_slide .mv_img.remove-animation {
  z-index: 998!important;
}
.mv_slide .mv_img.slick-active {
  z-index: 999!important;  
}
.mv_slide .mv_img span {
  transform: scale(1.1);
}
.mv_slide .mv_img.add-animation span {
  animation: fadezoom 10s 0s forwards;
}

.mv_slide .mv_img01.add-animation {
  opacity: 1!important;
  animation-name: fvSlideMask01;
}
.mv_slide .mv_img02.add-animation {
  opacity: 1!important;
  animation-name: fvSlideMask02;
}
.mv_slide .mv_img03.add-animation {
  opacity: 1!important;
  animation-name: fvSlideMask03;
}
.mv_slide .mv_img04.add-animation {
  opacity: 1!important;
  animation-name: fvSlideMask04;
}
.mv_slide .mv_img05.add-animation {
  opacity: 1!important;
  animation-name: fvSlideMask05;
}
.mv_slide .mv_img06.add-animation {
  opacity: 1!important;
  animation-name: fvSlideMask06;
}

@keyframes fvSlideMask01 {
  0% {
    mask-position: -33.3% 30%;
  }
  100% {
    mask-position: 66.7% 0;
  }
}
@keyframes fvSlideMask02 {
  0% {
    mask-position: -33.3% 0%;
  }
  100% {
    mask-position: 66.7% 0;
  }
}
@keyframes fvSlideMask03 {
  0% {
    mask-position: -33.3% 20%;
  }
  100% {
    mask-position: 66.7% 0;
  }
}
@keyframes fvSlideMask04 {
  0% {
    mask-position: -33.3% 10%;
  }
  100% {
    mask-position: 66.7% 0;
  }
}
@keyframes fvSlideMask05 {
  0% {
    mask-position: -33.3% 0%;
  }
  100% {
    mask-position: 66.7% 0;
  }
}
@keyframes fvSlideMask06 {
  0% {
    mask-position: -33.3% 70%;
  }
  100% {
    mask-position: 66.7% 0;
  }
}

@keyframes fadezoom {
  0% {
    transform: scale(1); /* スタートは1でなく動的に設定される */
  }
  100% {
    transform: scale(1.1); /* 終了時 */
  }
}

.mv_home .mv_inner {
  max-width: 1000px;
  height: 100%;
  margin: auto;
}

.mv_home .mv_block {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50px);
  width: 1000px;
  margin: auto;
  z-index: 1;
}



.mv_home .mv_logo {
  width: 620px;
}

.mv_home .mv_logo_sp {
    display: none;
  }

.mv_home .mv_ttl {
  margin: 1rem 0 0;
  font-size: 2.6rem;
  text-shadow: 
	rgba(3,3,3,0.3) 3px 3px 5px,
	rgba(3,3,3,0.3) 0 3px 5px,
	rgba(3,3,3,0.3) 3px 0 5px,
	rgba(3,3,3,0.3) 0 0 5px;
}

.mv_home .operation {
  margin: 4rem 0 0;
  font-size: 1.3rem;
  line-height: 1.5;
  text-shadow: 
	rgba(3,3,3,0.3) 3px 3px 5px,
	rgba(3,3,3,0.3) 0 3px 5px,
	rgba(3,3,3,0.3) 3px 0 5px,
	rgba(3,3,3,0.3) 0 0 5px;
}


.slick-slide:focus {
  outline: none;
}
.slick-slide {
  display: none;
}
.slick-initialized .slick-slide{
  display: block;
}


.mv_home.stop {
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .mv_home {
    min-width: 100%;
    position: relative;
  }
  .mv_slide .mv_img {
    mask-size: 300% 300%;
  }

  .mv_home .mv_inner {
    max-width: 100%;
  }

  .mv_home .mv_block {
    top: inherit;
    bottom: 25%;
    left: 50%;
    transform: translate(-50%,0);
    width: 100%;
    padding: 0 2rem;
  }

  .mv_home .mv_logo_sp {
    width: 88%;
	display: inherit;
  }
	
  .mv_home .mv_logo {
    display: none;
  }

  .mv_home .mv_ttl {
    margin: 0.5rem 0 0;
    font-size: 1.9rem;
  }

  .mv_home .operation {
    margin: 2rem 0 0;
    font-size: 1.2rem;
  } 
}



/*--------------------------------------
　Main Index
---------------------------------------*/
.contents_top {
	width: 100%;
	min-width: 1000px;
	margin: auto;
	box-sizing: border-box;
  position: relative;
  z-index: 0;
  /*overflow: hidden;*/
  contain: paint;
}

.sec {
  background: #f6f3e7;
	width: 100%;
	min-width: 1000px;
	margin: auto;
	box-sizing: border-box;
	position: relative;
}

.sec .inner {
	max-width: 1000px;
	margin: auto;
	box-sizing: border-box;
}

.flexBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.contents_top .comment_parts {
  margin: 0 0 0;
}

@media screen and (max-width: 768px) {
	.contents_top {
		min-width: 100%;
	}
  
	.sec {
		min-width: 100%;
	}
  
	.sec .inner {
		max-width: 100%;
	}
  
  .flexBox {
    display: block;
  }
}



/*--------------------------------------
　Title
---------------------------------------*/
.main_ttl01 {
  text-align: center;
}
.main_ttl01 .m_ttl .small {
  display: block;
  font-size: 2.2rem;
}
.main_ttl01 .m_ttl .large {
  display: block;
  font-size: 3.6rem;
}
.main_ttl01 .m_ttl .bb {
  border-bottom: 2px solid #fff;
}


.main_ttl02 .m_ttl {
  font-size: 4rem;
}
.main_ttl02 .m_ttl .small {
  font-size: 2.4rem;
}
.main_ttl02 .m_ttl a {
  display: inline-block;
  position: relative;
}
.main_ttl02 .m_ttl a::after {
	content: "";
  display: inline-block;
  background: url("img/arrow03.png") left top no-repeat;
  background-size: contain;
 	width: 30px;
	height: 30px;
  margin: 0 0 0 2rem;
}

@media screen and (max-width: 768px) {
  .main_ttl01 .m_ttl .small {
    font-size: 1.7rem;
  }
  .main_ttl01 .m_ttl .large {
    font-size: 2.2rem;
  }
  .main_ttl01 .m_ttl .bb {
    border-bottom: 1px solid #fff;
  }
  
  .main_ttl02 .m_ttl {
    font-size: 2.4rem;
  }
  .main_ttl02 .m_ttl .small {
    font-size: 1.7rem;
  }
  .main_ttl02 .m_ttl a::after {
    width: 22px;
    height: 22px;
    margin: 0 0 0 1rem;
  }
}





/*--------------------------------------
　テキスト
---------------------------------------*/
.contents_top p {
	margin: 3rem 0 3rem;
	font-size: 1.5rem;
	line-height: 1.8;
}

.txt {
	margin: 3rem 0 3rem;
	font-size: 1.5rem;
	text-align: justify;
	line-height: 1.8;
}

.lead {
	margin: 5rem 0 0!important;
	font-size: 1.5rem;
	line-height: 1.8;
}

p.caption {
	margin: 1rem 0 0 0!important;
	padding: 0 0 0.5rem 0;
	font-size: 1rem;
	line-height: 1.3;
}

.sec p {
	margin: 0 0 0;
}

@media screen and (max-width: 768px) {
	.contents_top p {
		margin: 2rem 0 2rem;
	}

	.txt {
		margin: 2rem 0 2rem;
	}

	.lead {
		margin: 2rem 0 0!important;
	}
  
  p.caption {
    margin: 1rem 0 0 0!important;
    padding: 0 0 0.5rem 0;
    font-size: 1rem;
    line-height: 1.3;
  }
  
  .sec p {
    margin: 0 0 0;
  }
}



/*--------------------------------------
　sec01
---------------------------------------*/
.sec01 {
  background: linear-gradient(180deg, rgba(50,117,176,0) 0%, rgba(50,117,176,0.5) 10%, rgba(50,117,176,0.8) 15%, rgba(50,117,176,1) 25%, rgba(50,117,176,1) 100%);
  padding: 30rem 0 20rem;
  position: relative;
}

.sec01 .main_ttl01 .m_ttl .small {
  line-height: 2.5;
}
.sec01 .main_ttl01 .m_ttl .large {
  line-height: 2.5;
}

.sec01 .cc {
  margin: 5rem 0 0;
  font-size: 1.8rem;
  text-align: center;
}

.sec01 .note {
  margin: 5rem 0 0;
  font-size: 1.2rem;
  line-height: 1.8;
}

.sec01 .m_ttl .small.fadeInUp.isActive {
  animation-delay: 0.5s;
}
.sec01 .m_ttl .large.fadeInUp.isActive {
  animation-delay: 1s;
}
.sec01 .m_ttl .bb span {
  display: inline-block;
}
.sec01 .m_ttl .bb01.fadeInUp.isActive {
  animation-delay: 2s;
}
.sec01 .m_ttl .bb02.fadeInUp.isActive {
  animation-delay: 2.8s;
}
.sec01 .ccWrap.fadeInUp.isActive {
  animation-delay: 3.3s;
}

@media screen and (max-width: 768px) {
  .sec01 {
    padding: 15rem 2rem 10rem;
  }

  .sec01 .main_ttl01 .m_ttl .small {
    line-height: 2;
  }
  .sec01 .main_ttl01 .m_ttl .large {
    line-height: 2;
  }

  .sec01 .cc {
    margin: 3rem 0 0;
    font-size: 1.5rem;
    text-align: justify;
  }

  .sec01 .note {
    margin: 3rem 0 0;
    font-size: 1.2rem;
  }
}



/*--------------------------------------
　sec02
---------------------------------------*/
.sec02 {
  background: url("img/sec02_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 0 0 50rem;
  position: relative;
  z-index: 0;
  background-attachment: fixed;
}
.sec02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(50,117,176,1) 0%, rgba(50,117,176,0.5) 50%, rgba(50,117,176,0) 100%);
  width: 100%;
  height: 100%;
  z-index: -1;
}

.sec02_block {
  margin: 8rem 0 0;
}

.sec02_item {
  width: calc(33.33% - 2.5rem);
  text-align: center;
}
.sec02_item .num {
  width: 100px;
  margin: auto;
}
.sec02_item .ttl01 {
  margin: 3rem 0 0;
  font-size: 2.6rem;
}
.sec02_item .txt {
  margin: 2rem 0 0;
  text-align: center;
}
.sec02_item .imgBox {
  margin: 3rem 0 0;
}


@media screen and (max-width: 768px) {
  .sec02 {
    background: none;
    padding: 0 2rem 20rem;
  }
  .sec02::before {
    background: linear-gradient(180deg, rgba(50,117,176,1) 0%, rgba(50,117,176,1) 50%, rgba(50,117,176,0) 100%);
    z-index: -1;
  }
  .sec02::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: url("img/sec02_bg_sp.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 50%;
    z-index: -2;
  }

  .sec02_block {
    margin: 4rem 0 0;
  }

  .sec02_item {
    width: 100%;
    margin: 0 0 4rem;
  }
  .sec02_item:last-child {
    margin: 0 0 0;
  }
  .sec02_item .num {
    width: 20%;
  }
  .sec02_item .ttl01 {
    margin: 1.5rem 0 0;
    font-size: 1.8rem;
  }
  .sec02_item .txt {
    margin: 1.5rem 0 0;
  }
  .sec02_item .imgBox {
    width: 80%;
    margin: 2rem auto 0;
  }
}



/*--------------------------------------
　sec03
---------------------------------------*/
.sec03 {
  position: relative;
}
.sec03::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  background: linear-gradient(180deg, rgba(246,243,231,0) 0%, rgba(246,243,231,0.5) 30%, rgba(246,243,231,0.8) 50%, rgba(246,243,231,1) 100%);
  width: 100%;
  height: 400px;
}

.sec03 .main_ttl {
  background: url("img/ttl_deco01.png") center top no-repeat;
  background-size: 100% auto;
	padding: 8rem 0 0;
  text-align: center;
}
.sec03 .m_ttl {
  font-size: 3.6rem;
}
.sec03 .sponsored {
  margin: 2rem 0 0;
  font-size: 2.4rem;
}

.sec03 .lead {
  padding: 0 5rem;
}

.sec03 .comment_parts .cc {
  text-align: center;
}

.sec03_block {
  margin: 14rem 0 0;
}

.sec03_block .btnBox {
  display: flex;
  justify-content: space-between;
  margin: 5rem 0 0;
}
.sec03_block .btnBox > div {
  width: calc(50% - 1.5rem);
  margin: 0 0;
}

@media screen and (max-width: 768px) {
  .sec03 {
    padding: 0 2rem;
  }
  .sec03::before {
    height: 200px;
  }

  .sec03 .main_ttl {
    background: url("img/ttl_deco01_sp.png") center top no-repeat;
    background-size: 100% auto;
    padding: 4rem 0 0;
  }
  .sec03 .m_ttl {
    font-size: 2.3rem;
  }
  .sec03 .sponsored {
    margin: 1.5rem 0 0;
    font-size: 1.6rem;
  }

  .sec03 .lead {
    padding: 0 0;
  }
  
  .sec03_block {
    margin: 6rem 0 0;
  }

  .sec03_block .btnBox {
    display: block;
    margin: 3rem 0 0;
  }
  .sec03_block .btnBox > div {
    width: 100%;
  }  
}



/*--------------------------------------
　toc_home
---------------------------------------*/
.toc_home {
  padding: 12rem 0 20rem;
}

.toc_home .toc_parts {
  margin: 0 auto 0;
}

@media screen and (max-width: 768px) {
  .toc_home {
    padding: 6rem 2rem 10rem;
  }
}



/*--------------------------------------
　section_mv
---------------------------------------*/
.tc {
  text-align: center;
}
.tl {
  text-align: left;
}
.tr {
  text-align: right;
}

.section_mv {
  width: 100%;
  height: 950px;
  position: relative;
  z-index: 0;
}
.section_mv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 650px;
  z-index: -1;
}

.sec04 .section_mv {
  height: 900px;
  padding: 20rem 0 0;
}
.sec05 .section_mv {
  padding: 9rem 0 0;
}
.sec06 .section_mv {
  padding: 9rem 0 0;
}
.sec07 .section_mv {
  padding: 20rem 0 0;
}
.sec04 .section_mv::after {
  background: url("img/sec04_key.jpg") center center no-repeat;
  background-size: cover;
}
.sec05 .section_mv::after {
  background: url("img/sec05_key.jpg") center center no-repeat;
  background-size: cover;
}
.sec06 .section_mv::after {
  background: url("img/sec06_key.jpg") center center no-repeat;
  background-size: cover;
}
.sec07 .section_mv::after {
  background: url("img/sec07_key.jpg") center center no-repeat;
  background-size: cover;
}

.section_mv .numWrap {
  max-width: 1000px;
  margin: auto;
}
.sec04 .section_mv .num {
  width: 180px;
  margin: auto;
}
.sec05 .section_mv .num {
  width: 320px;
  margin: 0 0 0 auto;
}
.sec06 .section_mv .num {
  width: 230px;
  margin: 0 0 0;
}
.sec07 .section_mv .num {
  width: 190px;
  margin: 0 auto 0;
}

.section_heading {
  max-width: 1000px;
  margin: auto;
  padding: 5rem 0 0;
  color: #fff;
  font-size: 4rem;
  line-height: 1.5;
  text-shadow: 
  rgba(3,3,3,0.4) 3px 3px 5px,
  rgba(3,3,3,0.4) 0 3px 5px,
  rgba(3,3,3,0.4) 3px 0 5px,
  rgba(3,3,3,0.4) 0 0 5px;
	transition: all 0.3s ease;
}
.section_heading .samall {
  font-size: 2.4rem;
}

.js-fix.is-fixed {
  position: -webkit-sticky;
	position: sticky;
	top: 35rem;
	left: 0;
	width: 100%;
}
.js-fix.change-color {
  position: -webkit-sticky;
	position: sticky;
	top: 35rem;
	left: 0;
  color: #333;
  text-shadow: none;
}
.js-fix.change-color::after {
  content: "";
  display: block;
  background: url("img/ttl_deco02.png") left top no-repeat;
  background-size: contain;
  width: 50px;
  height: 10px;
}
.tc.js-fix.change-color::after {
  margin: 2rem auto 0;
}
.tl.js-fix.change-color::after {
  margin: 2rem 0 0;
}
.tr.js-fix.change-color::after {
  margin: 2rem 0 0 auto;
}

.sec04 .js-fix.is-fixed {
	top: 35rem;
}
.sec04 .js-fix.change-color {
	top: 35rem;
}
.sec05 .js-fix.is-fixed {
	top: 22rem;
}
.sec05 .js-fix.change-color {
	top: 22rem;
}
.sec06 .js-fix.is-fixed {
	top: 22rem;
}
.sec06 .js-fix.change-color {
	top: 22rem;
}
.sec07 .js-fix.is-fixed {
	top: 35rem;
}
.sec07 .js-fix.change-color {
	top: 35rem;
}

@media screen and (max-width: 768px) {
  .section_mv {
    height: 640px;
  }
  .section_mv::after {
    height: 450px;
  }

  .sec04 .section_mv {
    height: 610px;
    padding: 10rem 2rem 0;
  }
  .sec05 .section_mv {
    padding: 5rem 2rem 0;
  }
  .sec06 .section_mv {
    height: 680px;
    padding: 5rem 2rem 0;
  }
  .sec07 .section_mv {
    height: 610px;
    padding: 10rem 2rem 0;
  }
  .sec04 .section_mv::after {
    background: url("img/sec04_key_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .sec05 .section_mv::after {
    background: url("img/sec05_key_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .sec06 .section_mv::after {
    background: url("img/sec06_key_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .sec07 .section_mv::after {
    background: url("img/sec07_key_sp.jpg") center center no-repeat;
    background-size: cover;
  }

  .section_mv .numWrap {
    max-width: 100%;
  }
  .sec04 .section_mv .num {
    width: 35%;
  }
  .sec05 .section_mv .num {
    width: 60%;
  }
  .sec06 .section_mv .num {
    width: 45%;
  }
  .sec07 .section_mv .num {
    width: 35%;
  }

  .section_heading {
    max-width: 100%;
    padding: 4rem 0 0;
    font-size: 2.2rem;
  }
  .section_heading .samall {
    font-size: 1.5rem;
  }

  .js-fix.is-fixed {
    top: 18rem;
  }
  .js-fix.change-color {
    top: 18rem;
  }
  .js-fix.change-color::after {
    width: 40px;
    height: 8px;
  }
  .tc.js-fix.change-color::after {
    margin: 1rem auto 0;
  }
  .tl.js-fix.change-color::after {
    margin: 1rem 0 0;
  }
  .tr.js-fix.change-color::after {
    margin: 1rem 0 0 auto;
  }  
  
  .sec04 .js-fix.is-fixed {
    top: 18rem;
  }
  .sec04 .js-fix.change-color {
    top: 18rem;
  }
  .sec05 .js-fix.is-fixed {
    top: 14rem;
  }
  .sec05 .js-fix.change-color {
    top: 14rem;
  }
  .sec06 .js-fix.is-fixed {
    top: 14rem;
  }
  .sec06 .js-fix.change-color {
    top: 14rem;
  }
  .sec07 .js-fix.is-fixed {
    top: 18rem;
  }
  .sec07 .js-fix.change-color {
    top: 18rem;
  }
}



/*--------------------------------------
　sec04
---------------------------------------*/
.sec04 {
  padding: 0 0 20rem;
}


.sec04_block {
  margin: 8rem 0 0;
  padding: 10rem 6rem 10rem 0;
  position: relative;
  z-index: 0;
}
.sec04_block::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background: #ede6d9;
  width: 100vw;
  height: 100%;
  min-width: 1000px;
  z-index: -1;
}

.sec04_item {
  margin: 0 0 10rem;
}
.sec04_item:last-child {
  margin: 0 0 0;
}

.sec04_item .flexBox {
  align-items: center;
}

.sec04_item .boxL {
  width: 380px;
}
/*.sec04_item:nth-child(even) .boxL {
  order: 2;
}*/

.sec04_item .imgBox {
  /*mix-blend-mode: multiply;*/
}

.sec04_item .boxR {
  width: calc(100% - 430px);
}
/*.sec04_item:nth-child(even) .boxR {
  order: 1;
}*/

.sec04_item .num {
	display: flex;
	align-items: center;
	justify-content: center;
  padding: 0 0 0 7rem;
  font-size: 2.2rem;
  position: relative;
}
.sec04_item .num::before {
	content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0,-50%);
  background: url("img/icon01.png") left top no-repeat;
  background-size: contain;
  width: 60px;
  height: 60px;
}
.sec04_item .num::after {
	content: "";
	display: block;
	margin-left: 2rem;
	border-top: 1px solid #333;
	flex-grow: 1;
}

.sec04_item .ttl01 {
  margin: 3rem 0 0;
  font-size: 2.6rem;
}

.sec04_item .txt {
  margin: 3rem 0 0;
}

.sec04_item dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 4rem 0 0;
  background: #f6f3e7;
  padding: 2rem 0rem 1rem 2.8rem;
}
.sec04_item dl dt {
  display: flex;
  align-items: center;
  width: 30%;
  margin: 0 0 2rem;
	padding: 0 2rem 0 0;
  font-size: 2rem;
  position: relative;
  border-right: 1px solid #333;
}
.sec04_item dl dt div {
  padding: 0 0 0 2rem;
  position: relative;
}
.sec04_item dl dt div::before {
  content: "";
  display: block;
	position: absolute;
  top: 11px;
  left: 0;
	background: #333;
  width: 10px;
  height: 10px;
	box-sizing: border-box;
  transform: rotate(-45deg);
}
.sec04_item dl dd {
  display: flex;
  align-items: center;
  width: 70%;
  margin: 0 0 2rem;
	padding: 0 2rem;
}
.sec04_item dl .txt {
  margin: 0 0 0;
}


.sec04_bottom {
  background: #504838;
  margin: 15rem 0 0;
  padding: 6rem 6rem 6rem;
  text-align: center;
  position: relative;
}
.sec04_bottom::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background: url("img/arrow_deco.png") left top no-repeat;
  background-size: contain;
  width: 60px;
  height: 35px;
  margin: 0 auto 5rem;
}
.sec04_bottom .bottom_txt {
  font-size: 2.2rem;
  line-height: 2.4;
}
.sec04_bottom .bottom_txt .large {
  background: linear-gradient(transparent 75%, #a8936d 0%);
  font-size: 2.8rem;
}
	
@media screen and (max-width: 768px) {
  .sec04 {
    padding: 0 0 10rem;
  }


  .sec04 .lead {
    padding: 0 2rem;
  }
  
  .sec04_block {
    margin: 4rem 0 0;
    padding: 5rem 2rem 5rem 2rem;
  }
  .sec04_block::after {
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    min-width: 100%;
  }

  .sec04_item {
    margin: 0 0 5rem;
  }

  .sec04_item .boxL {
    width: 100%;
  }

  .sec04_item .imgBox {
    width: 80%;
    margin: 2rem auto 0;
  }

  .sec04_item .boxR {
    width: 100%;
  }

  .sec04_item .num {
    padding: 0 0 0 4.5rem;
    font-size: 1.7rem;
  }
  .sec04_item .num::before {
    height: 40px;
  }
  .sec04_item .num::after {
    margin-left: 1rem;
  }

  .sec04_item .ttl01 {
    margin: 2rem 0 0;
    font-size: 1.8rem;
  }

  .sec04_item .txt {
    margin: 2rem 0 0;
  }

  .sec04_item dl {
    display: block;
    margin: 2rem 0 0;
    text-align: center;
    padding: 2rem 1.5rem 1rem;
  }
  .sec04_item dl dt {
    display: block;
    width: 100%;
    margin: 0 0 1rem;
    padding: 0 0 1rem 0;
    font-size: 1.7rem;
    border-right: none;
  }
  .sec04_item dl dt div {
    display: inline-block;
    padding: 0 0 0 1.5rem;
    border-bottom: 1px solid #333;
  }
  .sec04_item dl dt div::before {
    top: 11px;
    width: 8px;
    height: 8px;
  }
  .sec04_item dl dd {
    display: block;
    width: 100%;
    margin: 0 0 2rem;
    padding: 0 0;
  }


  .sec04_bottom {
    width: calc(100% - 4rem);
    margin: 8rem auto 0;
    padding: 3rem 2rem 3rem;
  }
  .sec04_bottom::before {
    width: 48px;
    height: 28px;
    margin: 0 auto 2rem;
  }
  .sec04_bottom .bottom_txt {
    font-size: 1.6rem;
    line-height: 2;
  }
  .sec04_bottom .bottom_txt .large {
    background: linear-gradient(transparent 80%, #a8936d 0%);
    font-size: 1.8rem;
  }
}



/*--------------------------------------
　sec05
---------------------------------------*/
.sec05 {
  padding: 0 0 20rem;
}

.sec05 .comment_parts {
  margin: 15rem 0 0;
}


.sec05_block {
  margin: 20rem 0 0;
  padding: 0 0 12rem 6rem;
  position: relative;
  z-index: 0;
}
.sec05_block::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #ede6d9;
  width: 100vw;
  height: 100%;
  min-width: 1000px;
  z-index: -1;
}

.sec05_item {
  margin: 0 0 12rem;
}
.sec05_item:last-child {
  margin: 0 0 0;
}

.sec05_item .boxL {
  width: 450px;
}
.sec05_item:nth-child(even) .boxL {
  order: 2;
  width: 480px;
  margin: 0 0 0 3rem;
}
.sec05_item:nth-child(3) .boxL {
  width: 480px;
}

.sec05_item:nth-child(1) .imgBox {
  margin: -4rem 0 0 -14rem;
}
.sec05_item:nth-child(2) .imgBox.imgBox_pc {
  margin: 2rem 0 0 0rem;
}
.sec05_item:nth-child(2) .imgBox.imgBox_sp {
  display: none;
}
.sec05_item:nth-child(3) .imgBox {
  margin: 0 0 0 -14rem;
}

.sec05_item .boxR {
  width: calc(100% - 510px);
  margin: -6.5rem 0 0;
}
.sec05_item:nth-child(even) .boxR {
  order: 1;
}
.sec05_item:nth-child(3) .boxR {
  width: calc(100% - 480px);
}

.sec05_item .num {
  color: #dad5c2;
  font-size: 8rem;
  text-align: right;
}
.sec05_item:nth-child(even) .num {
  text-align: left;
}

.sec05_item .ttl01 {
  margin: 2rem 0 0;
  font-size: 2.6rem;
}

.sec05_item .txt {
  margin: 3rem 0 0;
}

.sec05_item .allocation {
  margin: 4rem 0 0;
  font-size: 2rem;
}
.sec05_item .allocation .large {
  font-size: 6.2rem;
  position: relative;
  z-index: 0;
}
.sec05_item .allocation .large::after {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 0;
  background: #d8c2a6;
  width: 100%;
  height: 10px;
  z-index: -1;
}

.sec05_item .flexibility {
  margin: 4rem 0 0;
}

.sec05_item .btn-internal {
  width: 380px;
  margin: 0 0 0 auto;
}
.sec05_item .btn-internal a {
  margin: 6rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec05 {
    padding: 0 0 10rem;
  }

  .sec05 .comment_parts {
    margin: 8rem 0 0;
    padding: 0 2rem 0 0;
  }


  .sec05_block {
    margin: 10rem 0 0;
    padding: 0 2rem 6rem 2rem;
  }
  .sec05_block::after {
    left: 40px;
    width: calc(100% - 4rem);
    min-width: calc(100% - 4rem);
  }

  .sec05_item {
    margin: 0 0 10rem;
    position: relative;
  }

  .sec05_item .boxL {
    width: 100%;
    position: relative;
    top: -20px;
  }
  .sec05_item:nth-child(3) .boxL {
    width: 100%;
  }

  .sec05_item .imgBox.imgBox_sp {
    width: 90%;
  }
  .sec05_item .imgBox.imgBox_pc {
	display: none;
  }
  .sec05_item:nth-child(1) .imgBox {
    margin: 0 0 0 -2rem;
  }
  .sec05_item:nth-child(2) .imgBox.imgBox_sp {
    margin: 0 -2rem 0 0;
	display: inherit;
	width: 62%;
  }	
  .sec05_item:nth-child(2) .imgBox {
    display: none;
  }
  .sec05_item:nth-child(3) .imgBox {
    width: calc(100% + 4rem);
    margin: 0 2rem 0 -2rem;
  }

  .sec05_item .boxR {
    width: 100%;
    margin: -1rem 0 0;
  }
  .sec05_item:nth-child(3) .boxR {
    width: 100%;
  }

  .sec05_item .num {
    position: absolute;
    bottom: 100%;
    right: 0;
    font-size: 4.5rem;
  }
  .sec05_item:nth-child(even) .num {
    right: inherit;
    left: 0;
  }

  .sec05_item .ttl01 {
    margin: 2rem 0 0;
    font-size: 2rem;
  }

  .sec05_item .txt {
    margin: 2rem 0 0;
  }

  .sec05_item .allocation {
    margin: 2rem 0 0;
    font-size: 1.6rem;
  }
  .sec05_item .allocation .large {
    font-size: 4rem;
  }
  .sec05_item .allocation .large::after {
    bottom: 5px;
    height: 6px;
  }

  .sec05_item .flexibility {
    margin: 2rem 0 0;
  }

  .sec05_item .btn-internal {
    width: 90%;
    margin: 0 auto 0 auto;
  }
  .sec05_item .btn-internal a {
    margin: 3rem 0 0;
  }
}



/*--------------------------------------
　sec06
---------------------------------------*/
.sec06 {
  padding: 0 0 20rem;
}

.sec06 .comment_parts {
  margin: 15rem 0 0;
}
.sec06 .comment_parts .btnBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sec06 .comment_parts .btnBox > div {
  width: calc(50% - 10px);
  margin: 0 0;
}


.sec06_block {
  margin: 8rem 0 0;
}

.sec06_item {
  margin: 0 0 8rem;
  position: relative;
}
.sec06_item:last-child {
  margin: 0 0 0;
}

.sec06_item:nth-child(1) .imgBox {
  width: 780px;
  margin: 0 -16rem 0 auto;
}
.sec06_item:nth-child(2) .imgBox {
  width: 420px;
  margin: 0 0 0 5rem;
}
.sec06_item:nth-child(3) .imgBox {
  width: 590px;
  margin: 0 -8rem 0 auto;
}

.sec06_item .txtBox {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0,-50%);
  background: #ede6d9;
  max-width: 570px;
  padding: 4rem 5rem 4rem;
}
.sec06_item:nth-child(2) .txtBox {
  left: inherit;
  right: 50px;
  margin: 0 0 0 auto;
}

.sec06_item .ttl01 {
  font-size: 2.4rem;
}
.sec06_item .ttl01 a {
  display: block;
  padding: 0 5rem 0 0;
  position: relative;
}
.sec06_item .ttl01 a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
  background: url("img/arrow03.png") left top no-repeat;
  background-size: contain;
 	width: 34px;
	height: 34px;
	margin-top: -17px;
}

.sec06_item .txt {
  margin: 3rem 0 0;
}

.sec06_item .more {
  margin: 3rem 0 0;
  font-size: 1.6rem;
  text-align: right;
}
.sec06_item .more a {
  display: inline-block;
  padding: 0 1rem 1rem;
  border-bottom: 1px solid #c0beb2;
  position: relative;
}
.sec06_item .more a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: 0;
  background: #333;
  width: 30px;
  height: 2px;
}

@media screen and (max-width: 768px) {
  .sec06 {
    padding: 0 0 10rem;
  }

  .sec06 .lead {
    padding: 0 2rem;
  }

  .sec06 .comment_parts {
    margin: 8rem 0 0;
    padding: 0 2rem 0 0;
  }
  .sec06 .comment_parts .btnBox {
    display: block;
  }
  .sec06 .comment_parts .btnBox > div {
    width: 100%;
    margin: 0 auto;
  }


  .sec06_block {
    margin: 5rem 0 0;
    padding: 0 2rem;
  }

  .sec06_item {
    margin: 0 0 5rem;
  }

  .sec06_item:nth-child(1) .imgBox {
    width: 90%;
    margin: 0 -2rem 0 auto;
  }
  .sec06_item:nth-child(2) .imgBox {
    width: calc(50% + 2rem);
    margin: 0 0 0 -2rem;
  }
  .sec06_item:nth-child(3) .imgBox {
    width: 90%;
    margin: 0 -2rem 0 auto;
  }

  .sec06_item .txtBox {
    position: relative;
    top: inherit;
    left: inherit;
    transform: translate(0,0);
    background: #ede6d9;
    max-width: calc(100% - 2rem);
    margin: -3rem 0 0;
    padding: 3rem 2rem 3rem;
  }
  .sec06_item:nth-child(2) .txtBox {
    left: inherit;
    right: inherit;
    margin: -3rem 0 0 auto;
  }

  .sec06_item .ttl01 {
    font-size: 1.8rem;
  }
  .sec06_item .ttl01 a {
    padding: 0 4rem 0 0;
  }
  .sec06_item .ttl01 a::after {
    width: 24px;
    height: 24px;
    margin-top: -12px;
  }

  .sec06_item .txt {
    margin: 2rem 0 0;
  }

  .sec06_item .more {
    margin: 2rem 0 0;
    font-size: 1.5rem;
  }
  .sec06_item .more a {
    padding: 0 5px 5px;
  }
  .sec06_item .more a::after {
    width: 20px;
  }
}



/*--------------------------------------
　sec07
---------------------------------------*/
.sec07 {
  background: #fff;
  padding: 0 0 16rem;
  z-index: 2;
}

.sec07_block {
  margin: 6rem 0 0;
}

.sec07 .cc {
  font-size: 2.4rem;
  text-align: center;
}

.sec07_block .flexBox {
  align-items: center;
  margin: 4rem 0 0;
}

.sec07_block .boxL {
  width: calc(100% - 460px);
}

.sec07_block .boxR {
  width: 400px;
}

.sec07_block .btn-web a {
  margin: 5rem auto 0;
}

@media screen and (max-width: 768px) {
  .sec07 {
    padding: 0 0 8rem;
  }

  .sec07_block {
    margin: 2rem 0 0;
    padding: 0 2rem;
  }

  .sec07 .cc {
    font-size: 1.8rem;
  }

  .sec07_block .flexBox {
    margin: 2rem 0 0;
  }

  .sec07_block .boxL {
    width: 100%;
  }

  .sec07_block .boxR {
    width: 100%;
  }

  .sec07_block .imgBox {
    margin: 2rem 0 0;
  }

  .sec07_block .btn-web a {
    margin: 3rem auto 0;
  }  
}



/*--------------------------------------
　sec08
---------------------------------------*/
.sec08 {
  background: #f6f3e7;
  padding: 15rem 0 18rem;
  z-index: 1;
}


.sec08 .main_ttl02 {
  background: url("img/ttl_deco03.png") left top no-repeat;
  background-size: 450px auto;
	padding: 5rem 0 0;
}


.sec08_map {
  background: url("img/map.png") center top no-repeat;
  background-size: 100% auto;
  width: 450px;
  height: 580px;
  margin: auto;
  position: relative;
}

.sec08_map .map_area {
  position: absolute;
}
.sec08_map .north_area {
  top: 90px;
  left: 170px;
}
.sec08_map .map_area.north_area .mapBox {
    top: -65px;
    left: -390px;
}
.sec08_map .central_area {
  top: 360px;
  left: 70px;
}
.sec08_map .map_area.central_area .mapBox {
    top: -50px;
    left: 45px;
}
.sec08_map .south_area {
  bottom: 80px; 
  left: 0;
}
.sec08_map .map_area.south_area .mapBox {
    top: -130px;
    left: -385px;
}
.sec08_map .kouri_area {
  top: 74px;
  left: 227px;
}
.sec08_map .map_area.kouri_area .mapBox {
    top: -65px;
    left: 50px;
}
.sec08_map .pin {
  width: 40px;
}
.sec08_map .mapBox {
  position: absolute;
  top: 100%;
  left: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1;
}
.map_area:hover .mapBox {
  opacity: 1;
  visibility: visible;
}
.sec08_map .hover_ttl {
  font-size: 3rem;
  opacity: 0.8;
}
.sec08_map .imgBox {
  width: 380px;
  opacity: 0.8;
}

.sec08 .pagelink {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 5rem 0 0;
}
.sec08 .pagelink .link {
  width: 350px;
  margin: 0 2rem 4rem;
  position: relative;
}
.sec08 .pagelink .link::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: #333;
  width: 70px;
  height: 2px;
}
.sec08 .pagelink .link a {
	display: block;
	max-width: 100%;
	padding: 2.5rem 9rem 2.5rem 3rem;
	font-size: 1.6rem;
	font-weight: bold;
  font-family: "Shippori Mincho", serif;
	text-align: left;
	line-height: 1.5;
  border: 1px solid #333;
	position: relative;
}
.sec08 .pagelink .link a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 70px;
  transform: translate(0,-50%);
  background: #333;
  width: 1px;
  height: calc(100% - 4rem);
  box-sizing: border-box;
}
.sec08 .pagelink .link a::after {
  content: "";
	position: absolute;
  top: 50%;
  right: 25px;
  background: url("img/arrow02.png") left top no-repeat;
  background-size: contain;
	width: 20px;
	height: 16px;
  margin-top: -8px;
  box-sizing: border-box;
  transform: rotate(90deg);
}


.sec08_block {
  margin: 20rem 0 0;
}


.sec08_block .area {
  margin: 0 0 20rem;
}
.sec08_block .area:last-child {
  margin: 0 0 0;
}

.area .area_key {
  width: calc(100% - 160px);
  height: 550px;
  margin: auto;
  position: relative;
}
.area#north .area_key {
  background: url("img/north_key.jpg") bottom center no-repeat;
  background-size: cover;
}
.area#central .area_key {
  background: url("img/central_key.jpg") center center no-repeat;
  background-size: cover;
}
.area#south .area_key {
  background: url("img/south_key.jpg") center center no-repeat;
  background-size: cover;
}
.area#kouri .area_key {
  background: url("img/kouri_key.jpg") center center no-repeat;
  background-size: cover;
}
.area_key .key_inner {
  display: flex;
  align-items: flex-end;
  height: 100%;
  max-width: 1000px;
  margin: auto;
  position: relative;
}
.area_key .ttl01 {
  margin: 0 0 5rem;
  padding: 0 0 0 6rem;
  font-size: 4.4rem;
  text-shadow: 
	rgba(3,3,3,0.3) 3px 3px 5px,
	rgba(3,3,3,0.3) 0 3px 5px,
	rgba(3,3,3,0.3) 3px 0 5px,
	rgba(3,3,3,0.3) 0 0 5px;
  position: relative;
}
.area_key .ttl01::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0,-50%);
  background: url("img/pin02.png") left top no-repeat;
  background-size: contain;
  width: 50px;
  height: 70px;
  box-sizing: border-box;
}


.area_block {
  margin: 7rem 0 0;
}

.area_parts01 {
  background: #ede6d9;
  padding: 4rem 5rem 4rem;
}
.area_parts01 .cc {
  font-size: 2.6rem;
  position: relative;
}
.area_parts01 .cc::after {
  content: "";
  display: block;
  background: url("img/ttl_deco04.png") left top no-repeat;
  background-size: contain;
  width: 34px;
  height: 2px;
  margin: 2rem 0 0;
  box-sizing: border-box;
}
.area_parts01 .txt {
  margin: 3rem 0 0;
}

.area_parts02 {
  margin: 7rem 0 0;
}
.area_parts02 .parts_ttl01 {
  padding: 0 0 0 7rem;
  font-size: 2.8rem;
  position: relative;
}
.area_parts02 .parts_ttl01::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  background: url("img/icon04.png") left top no-repeat;
  background-size: contain;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  box-sizing: border-box;
}
.area_parts02 .txt {
  margin: 3rem 0 0;
}
.area_parts02 .parts_block {
  margin: 7rem 0 0;
}
.area_parts02 .parts_item {
  margin: 0 0 10rem;
}
.area_parts02 .parts_item:last-child {
  margin: 0 0 0;
}
.area_parts02 .flexBox {
  align-items: flex-start;
}
.area_parts02 .boxL {
  width: 240px;
  padding: 4rem 0 0 4rem;
  border-top: 1px solid #333;
}
.area_parts02 .parts_ttl02 {
  font-size: 2rem;
}
.area_parts02 .boxR {
  width: calc(100% - 290px);
}
.area_parts02 .supportList {
  display: flex;
  flex-wrap: wrap;
}
.area_parts02 .supportList li {
  width: 100px;
  margin: 0 2rem 2rem 0;
}
.area_parts02 .supportList li:nth-child(6n) {
  margin: 0 0 0 0;
}
.area_parts02 .supportList .s_txt {
  margin: 1rem 0 0 ;
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.4;
}
.area_parts02 .parts_item .txt {
  margin: 0 0 0;
}
.area_parts02 table {
  margin: 3rem 0 0;
}
.area_parts02 table th {
  width: 30%;
}
.area_parts02 table td {
  text-align: left;
}

.area_parts03 {
  margin: 10rem 0 0;
}
.area_parts03 .imgList {
  display: flex;
  /*justify-content: space-between;*/
  flex-wrap: wrap;
}
.area_parts03 .imgList .img {
  width: 33.33%;
}


.sec08_block .btn-internal {
	width: 400px;
}
.sec08_block .btn-internal a {
  margin: 6rem auto 0;
}


.sec08 .comment_parts {
  margin: 20rem 0 0;
}
.sec08 .comment_parts .btn-web {
	width: 400px;
}
.sec08 .comment_parts .btn-web a {
  margin: 4rem auto 0;
}

@media screen and (max-width: 768px) {
  .sec08 {
    padding: 6rem 0 8rem;
  }

  .sec08 .main_ttl02 {
    background: url("img/ttl_deco03.png") left top no-repeat;
    background-size: 100% auto;
    width: calc(100% - 4rem);
    margin: auto;
    padding: 3rem 0 0;
  }


  .sec08_map {
    background: url("img/map.png") center top no-repeat;
    background-size: contain;
    width: 75%;
    height: 0;
    margin: 1rem auto 0;
    padding-top: calc(75%*580/450);
  }
  
/*  .sec08_map .map_area {
    width: 100%;
  }
  .sec08_map .north_area {
    top: 15%;
    left: 38%;
  }
  .sec08_map .central_area {
    top: 60%;
    left: 15%;
  }
  .sec08_map .south_area {
    bottom: 15%; 
    left: 0;
  }
  .sec08_map .kouri_area {
    top: 10%;
    left: 17%;
  }
*/  
  .sec08_map .map_area {
    position: static;
  }
  .sec08_map .north_area {
    top: inherit;
    left: inherit;
  }
  .sec08_map .central_area {
    top: inherit;
    left: inherit;
  }
  .sec08_map .south_area {
    bottom: inherit; 
    left: inherit;
  }
  .sec08_map .kouri_area {
    top: inherit;
    left: inherit;
  }
  .sec08_map .map_area a {
    display: block;
    width: 100%;
  }
  .sec08_map .pin {
    width: 10%;
    position: absolute;
  }
  .sec08_map .north_area .pin {
    top: 15%;
    left: 38%;
  }
  .sec08_map .central_area .pin {
    top: 60%;
    left: 15%;
  }
  .sec08_map .south_area .pin {
    bottom: 15%; 
    left: 0;
  }
  .sec08_map .kouri_area .pin {
    top: 10%;
    left: 17%;
  }
  .sec08_map .mapBox {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .map_area:hover .mapBox {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  } 

  .sec08 .pagelink {
    display: block;
    margin: 3rem 0 0;
    padding: 0 2rem;
  }
  .sec08 .pagelink .link {
    width: 100%;
    margin: 0 0 1.5rem;
  }
  .sec08 .pagelink .link:last-child {
    margin: 0 0 0;
  }
  .sec08 .pagelink .link::after {
    width: 50px;
    height: 1px;
  }
  .sec08 .pagelink .link a {
    padding: 2rem 9rem 2rem 1.5rem;
    font-size: 1.5rem;
  }
  .sec08 .pagelink .link a::before {
    right: 50px;
    height: calc(100% - 2rem);
  }
  .sec08 .pagelink .link a::after {
    right: 17px;
    width: 16px;
    height: 13px;
    margin-top: -6px;
  }


  .sec08_block {
    padding: 0 2rem 0;
    margin: 8rem 0 0;
  }
  
  .sec08_block .area {
    margin: 0 0 12rem;
  }

  .area .area_key {
    width: 100%;
    height: 300px;
    margin: auto;
    position: relative;
  }
  .area_key .key_inner {
    max-width: 100%;
    padding: 0 2rem;
  }
  .area_key .ttl01 {
    margin: 0 0 2rem;
    padding: 0 0 0 4rem;
    font-size: 2.4rem;
  }
  .area_key .ttl01::before {
    width: 30px;
    height: 42px;
  }


  .area_block {
    margin: 4rem 0 0;
  }

  .area_parts01 {
    padding: 3rem 2rem 3rem;
  }
  .area_parts01 .cc {
    font-size: 1.8rem;
  }
  .area_parts01 .cc::after {
    margin: 1.5rem 0 0;
  }
  .area_parts01 .txt {
    margin: 2rem 0 0;
  }

  .area_parts02 {
    margin: 5rem 0 0;
  }
  .area_parts02 .parts_ttl01 {
    padding: 0 0 0 5rem;
    font-size: 2rem;
  }
  .area_parts02 .parts_ttl01::after {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }
  .area_parts02 .txt {
    margin: 2rem 0 0;
  }
  .area_parts02 .parts_block {
    margin: 4rem 0 0;
  }
  .area_parts02 .parts_item {
    margin: 0 0 4rem;
  }
  .area_parts02 .boxL {
    width: 100%;
    padding: 2rem 0 0 1rem;
  }
  .area_parts02 .parts_ttl02 {
    font-size: 1.6rem;
  }
  .area_parts02 .boxR {
    width: 100%;
  }
  .area_parts02 .supportList {
    margin: 2rem 0 0;
  }
  .area_parts02 .supportList li {
    width: 33.33%;
    margin: 0 0 1.5rem 0;
    padding: 0 2%;
  }
  .area_parts02 .supportList li:nth-child(6n) {
    margin: 0 0 1.5rem 0;
  }
  .area_parts02 .supportList .s_txt {
    margin: 5px 0 0 ;
    font-size: 1.4rem;
  }
  .area_parts02 .parts_item .txt {
    margin: 2rem 0 0;
  }
  .area_parts02 table {
    margin: 2rem 0 0;
  }
  .area_parts02 table th {
    width: 35%;
  }

  .area_parts03 {
    margin: 5rem 0 0;
  }
  .area_parts03 .imgList .img {
    width: 50%;
  }


  .sec08_block .btn-internal {
    width: 90%;
  }
  .sec08_block .btn-internal a {
    margin: 4rem auto 0;
  }


  .sec08 .comment_parts {
    margin: 10rem 0 0;
    padding: 0 0 0 2rem;
  }
  .sec08 .comment_parts .btn-web {
    width: 100%;
  }
  .sec08 .comment_parts .btn-web a {
    margin: 3rem auto 0;
  }
}



/*--------------------------------------
　acc_parts
---------------------------------------*/
.acc_parts {
  padding: 3rem 0 3rem;
  border-bottom: 1px solid #d0c8bc;
}

.acc_parts .acc_btn {
  padding: 0 8rem 0 0;
  position: relative;
  cursor: pointer;
}
.acc_parts .acc_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	background: url("img/acc_open.png") left top no-repeat;
  background-size: contain;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	transition: all 0.4s;
}
.acc_parts .acc_btn.open::after {
	background: url("img/acc_close.png") left top no-repeat;
  background-size: contain;
}

.acc_parts .ttl01 {
  padding: 0 0 0 3rem;
  font-size: 2.4rem;
  position: relative;
}
.acc_parts .ttl01::before {
	content: "";
	position: absolute;
	top: 50%;
  left: 0;
	background: url("img/ttl_deco06.png") left top no-repeat;
  background-size: contain;
	width: 20px;
	height: 10px;
  margin-top: -5px;
}

.acc_parts .acc_content {
  display: none;
  margin: 4rem 0 0;
}
.acc_parts .acc_content.show {
  display: block;
}

.acc_parts .btn-internal {
  width: 360px;
  margin: 0 0 0 auto;
}
.acc_parts .btn-internal a {
  margin: 3rem 0 0;
}

@media screen and (max-width: 768px) {
  .acc_parts {
    padding: 2rem 0 2rem;
  }

  .acc_parts .acc_btn {
    padding: 0 5rem 0 0;
  }
  .acc_parts .acc_btn::after {
    width: 24px;
    height: 24px;
    margin-top: -12px;
  }

  .acc_parts .ttl01 {
    padding: 0 0 0 2.5rem;
    font-size: 1.8rem;
  }

  .acc_parts .acc_content {
    margin: 2rem 0 0;
  }

  .acc_parts .btn-internal {
    width: 90%;
    margin: 0 auto 0 auto;
  }
  .acc_parts .btn-internal a {
    margin: 2rem 0 0;
  }
}



/*--------------------------------------
　sec09
---------------------------------------*/
.sec09 .boxL {
  width: 40%;
}

.sec09 .imgBox {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
}

.sec09 .imgBox img {
  height: 1240px;
  object-fit: cover;
}

.sec09 .boxR {
  width: 60%;
  height: 100%;
  margin: 0 0 0 auto;
  padding: 0 6rem 14rem;
}

.sec09 .main_ttl02 {
  background: url("img/ttl_deco05.png") center top no-repeat;
  background-size: 100% auto;
	padding: 6rem 0 0;
  text-align: center;
}

.sec09_block {
  margin: 4rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec09 {
    padding: 0 2rem;
  }

  .sec09 .boxL {
    width: 100%;
  }

  .sec09 .imgBox {
    position: relative;
    top: inherit;
    left: inherit;
    width: 50%;
    margin: 0 0 0 -2rem;
  }

  .sec09 .imgBox img {
    height: 220px;
  }

  .sec09 .boxR {
    width: 100%;
    height: auto;
    margin: 0 0 0 0;
    padding: 0 0 6rem;
  }
  
  .sec09 .sp_upper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .sec09 .main_ttl02 {
    background: url("img/ttl_deco05_sp.png") center top no-repeat;
    background-size: contain;
    width: 50%;
    padding: 3rem 0 0;
  }

  .sec09_block {
    margin: 2rem 0 0;
  }
}



/*--------------------------------------
　sec10
---------------------------------------*/
.sec10 {
  background: #ede6d9;
  padding: 12rem 0 12rem;
}

.sec10_block .boxL {
  width: calc(100% - 550px);
}

.sec10_block .main_ttl02 {
  position: relative;
}
.sec10_block .main_ttl02::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 25px);
  right: calc(100% - 15px);
  background: url("img/icon05.png") left top no-repeat;
  background-size: contain;
  width: 70px;
  height: 70px;
}

.sec10_block .txt {
  margin: 3rem 0 0;
}

.sec10_block .btn-internal {
  width: 310px;
  margin: 0 0 0;
}
.sec10_block .btn-internal a {
  margin: 4rem 0 0;
}

.sec10_block .boxR {
  width: 670px;
  margin: 0 -16rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec10 {
    padding: 8rem 2rem 8rem;
  }

  .sec10_block .boxL {
    width: 100%;
  }

  .sec10_block .main_ttl02 {
    padding: 0 0 0 2rem;
  }
  .sec10_block .main_ttl02::before {
    bottom: calc(100% - 15px);
    right: inherit;
    left: 0;
    width: 50px;
    height: 50px;
  }

  .sec10_block .imgBox {
    margin: 2rem 0 0;
  }

  .sec10_block .txt {
    margin: 2rem 0 0;
  }

  .sec10_block .btn-internal {
    width: 90%;
    margin: 0 auto 0;
  }
  .sec10_block .btn-internal a {
    margin: 2rem 0 0;
  }

  .sec10_block .boxR {
    width: 100%;
    margin: 0 0 0 0;
  }
}



/*--------------------------------------
　sec11
---------------------------------------*/
.sec11 {
  padding: 0 0 18rem;
}

.sec11 .boxL {
  width: 40%;
  order: 2;
}

.sec11 .imgBox {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
}

.sec11 .imgBox img {
  height: 1240px;
  object-fit: cover;
}

.sec11 .boxR {
  width: 60%;
  height: 100%;
  margin: 0 0 0 auto;
  padding: 14rem 6rem 14rem 10rem;
  order: 1;
}

.sec11 .main_ttl02 {
  background: url("img/ttl_deco05.png") center top no-repeat;
  background-size: 100% auto;
	padding: 6rem 0 0;
  text-align: center;
}

.sec11_block {
  margin: 4rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec11 {
    padding: 0 2rem;
  }

  .sec11 .boxL {
    width: 100%;
  }

  .sec11 .imgBox {
    position: relative;
    top: inherit;
    left: inherit;
    width: 50%;
    margin: 0 0 0 -2rem;
  }

  .sec11 .imgBox img {
    height: 220px;
    object-position: center bottom;
  }

  .sec11 .boxR {
    width: 100%;
    height: auto;
    margin: 0 0 0 0;
    padding: 0 0 6rem;
  }
  
  .sec11 .sp_upper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .sec11 .main_ttl02 {
    background: url("img/ttl_deco05_sp.png") center top no-repeat;
    background-size: contain;
    width: 50%;
    padding: 3rem 0 0;
  }

  .sec11_block {
    margin: 2rem 0 0;
  }
}



/*--------------------------------------
　sec12
---------------------------------------*/
.sec12 {
  padding: 14rem 0 14rem;
  position: relative;
  z-index: 0;
}
.sec12::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #ede6d9;
  width: 100%;
  height: 630px;
  z-index: -1;
  padding-bottom: 6rem;
}

.sec12_upper .boxL {
  width: 500px;
}

.sec12_upper .imBox {
  /* mix-blend-mode: multiply; */
}

.sec12_upper .boxR {
  width: 460px;
  text-align: right;
}

.sec12_upper .main_ttl02 {
  background: url("img/ttl_deco07.png") right top no-repeat;
  background-size: 460px auto;
	padding: 5rem 0 0;
}

.sec12_upper .cc {
  margin: 5rem 0 0;
  font-size: 2.2rem;
}

.sec12_upper .txt {
  margin: 3rem 0 0;
  text-align: left;
}


.sec12_block {
  display: flex;
  justify-content: space-between;
  margin: 6rem 0 0;
}

.sec12_item {
  background: #f6f3e7;
  width: calc(33.33% - 1.5rem);
  padding: 3rem 3rem 3rem;
  border-top: 1px solid #959183;
  position: relative;
}
.sec12_item::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  background: #333;
  width: 50px;
  height: 2px;
}

.sec12_item .ttl01 {
  font-size: 2.2rem;
}
.sec12_item .ttl01 a {
  display: flex;
  align-items: center;
  padding: 0 4rem 0 0;
  position: relative;
}
.sec12_item .ttl01 a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
  background: url("img/arrow03.png") left top no-repeat;
  background-size: contain;
 	width: 22px;
	height: 22px;
	margin-top: -11px;
}

.sec12_item .txt {
  margin: 2rem 0 0;
}

.sec12_item .more {
  margin: 3rem 0 0;
  font-size: 1.6rem;
  text-align: right;
}
.sec12_item .more a {
  display: inline-block;
  padding: 0 1rem 1rem;
  border-bottom: 1px solid #c0beb2;
  position: relative;
}
.sec12_item .more a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: 0;
  background: #333;
  width: 30px;
  height: 2px;
}


.sec12 .comment_parts {
  margin: 15rem 0 0;
}
.sec12 .comment_parts .btn-web {
	width: 400px;
}
.sec12 .comment_parts .btn-web a {
  margin: 4rem auto 0;
}

@media screen and (max-width: 768px) {
  .sec12 {
    padding: 5rem 0 12rem;
  }
  .sec12::after {
    height: 30%;
  }

  .sec12_upper {
    padding: 0 2rem;
  }

  .sec12_upper .boxL {
    width: 100%;
  }

  .sec12_upper .boxR {
    width: 100%;
    text-align: left;
  }

  .sec12_upper .main_ttl02 {
    background: url("img/ttl_deco07.png") right top no-repeat;
    background-size: 100% auto;
    padding: 4rem 0 0;
  }

  .sec12_upper .cc {
    margin: 1rem 0 0;
    font-size: 1.7rem;
  }

  .sec12_upper .txt {
    margin: 2rem 0 0;
    text-align: justify;
  }


  .sec12_block {
    display: block;
    margin: 3rem 0 0;
    padding: 0 2rem;
  }

  .sec12_item {
    width: 100%;
    margin: 0 0 2rem;
    padding: 3rem 2rem 3rem;
    border-top: 1px solid #959183;
  }
  .sec12_item:last-child {
    margin: 0 0 0;
  }
  .sec12_item::before {
    width: 30px;
  }

  .sec12_item .ttl01 {
    font-size: 1.7rem;
  }
  .sec12_item .ttl01 a {
    padding: 0 4rem 0 0;
  }
  .sec12_item .ttl01 a::after {
    width: 20px;
    height: 20px;
    margin-top: -10px;
  }

  .sec12_item .txt {
    margin: 1.5rem 0 0;
  }

  .sec12_item .more {
    margin: 2rem 0 0;
    font-size: 1.5rem;
  }
  .sec12_item .more a {
    padding: 0 5px 5px;
  }
  .sec12_item .more a::after {
    width: 20px;
  }


  .sec12 .comment_parts {
    margin: 8rem 0 0;
    padding: 0 2rem 0 0;
  }
  .sec12 .comment_parts .btn-web {
    width: 100%;
  }
  .sec12 .comment_parts .btn-web a {
    margin: 3rem auto 0;
  }  
}



/*--------------------------------------
　sec13
---------------------------------------*/
.sec13 {
  padding: 0 0 20rem;
}

.sec13_block {
  padding: 7rem 0 10rem;
  position: relative;
  z-index: 0;
}
.sec13_block::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #ede6d9;
  width: 100vw;
  height: 100%;
  z-index: -1;
}

.sec13_block .boxL {
  width: 640px;
  margin: 0 0 0 -14rem;
}

.sec13_block .boxR {
  width: calc(100% - 550px);
  position: relative;
}
.sec13_block .boxR::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 20px);
  right: 0;
  background: url("img/icon06.png") left top no-repeat;
  background-size: contain;
  width: 120px;
  height: 130px;
}

.sec13_block .txt {
  margin: 4rem 0 0;
}

.sec13_block .updated {
  margin: 2rem 0 0;
  color: #888;
  font-size: 1.4rem;
  text-align: right;
}

.sec13_block .btn-internal {
  width: 310px;
  margin: 0 0 0;
}
.sec13_block .btn-internal a {
  margin: 5rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec13 {
    margin: -4rem 0 0;
    padding: 4rem 0 10rem;
  }
  .sec13_block {
    padding: 0 2rem 5rem 4rem;
  }
  .sec13_block::after {
    left: 20px;
    width: calc(100% - 2rem);
  }

  .sec13_block .boxL {
    width: calc(100% + 3rem);
    margin: 0 0 0 -4rem;
    position: relative;
    top: -40px;
  }

  .sec13_block .boxR {
    width: 100%;
  }
  .sec13_block .boxR::after {
    bottom: calc(100% - 30px);
    right: -10px;
    background: url("img/icon06.png") left top no-repeat;
    background-size: contain;
    width: 25%;
    height: 0;
    padding-top: calc(25%*130/120);
  }

  .sec13_block .txt {
    margin: 2rem 0 0;
  }

  .sec13_block .updated {
    margin: 1.5rem 0 0;
    font-size: 1.2rem;
  }

  .sec13_block .btn-internal {
    width: 90%;
    margin: 0 auto 0;
  }
  .sec13_block .btn-internal a {
    margin: 3rem 0 0;
  }
}



/*--------------------------------------
　sec14
---------------------------------------*/
.sec14 {
  background: url("img/sec14_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 15rem 0 15rem;
}

.sec14 .flexBox {
  align-items: center;
}

.sec14_block .boxL {
  width: calc(100% - 500px);
}

.sec14_block .m_ttl {
  font-size: 2.8rem;
}

.sec14_block .txt {
  margin: 3rem 0 0;
}

.sec14_block .boxR {
  width: 420px;
}

.sec14_block .link {
  margin: 3rem 0 0;
  font-size: 1.6rem;
  text-align: right;
}
.sec14_block .link a {
  display: inline-block;
  padding: 0 1rem 1rem;
  border-bottom: 1px solid #c0beb2;
  position: relative;
}
.sec14_block .link a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: 0;
  background: #333;
  width: 30px;
  height: 2px;
}

@media screen and (max-width: 768px) {
  .sec14 {
    padding: 5rem 2rem 6rem;
  }

  .sec14 .flexBox {
    display: flex;
    flex-wrap: wrap;
  }

  .sec14_block .boxL {
    width: 100%;
    margin: 2rem 0 0;
    order: 2;
  }

  .sec14_block .logo {
    width: 85%;
    margin: auto;
  }

  .sec14_block .m_ttl {
    font-size: 2rem;
  }

  .sec14_block .txt {
    margin: 3rem 0 0;
  }

  .sec14_block .boxR {
    width: 100%;
    order: 1;
  }

  .sec14_block .link {
    margin: 2rem 0 0;
    font-size: 1.5rem;
  }
  .sec14_block .link a {
    padding: 0 5px 5px;
  }
  .sec14_block .link a::after {
    width: 20px;
  }
}

