/*
    Template: swell
    Theme Name: SWELL CHILD
    Description: シンプルなのに高機能。ブロックエディターの使い心地にこだわった国内最高峰のWordPressテーマ
    Version: 2.9.0
    Requires at least: 5.6
    Requires PHP: 7.3.0
    Author: LOOS,Inc.
    Author URI: https://loos.co.jp/
    Text Domain: swell
    Domain Path: /languages
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
*, *:before, *:after {
    box-sizing: border-box;
}
html {
	font-size: 62.5%;    
}
html:focus {
  outline: none;
}
body {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: normal;
  line-height: 1.6;
  color: #222222;
	animation: loading 1s;
  position: relative;
}
@keyframes loading {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
main {
  display: block; 
	overflow: hidden;
}
.pc {
  display: block !important; 
}
.sp {
  display: none !important; 
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important; 
  }
  .sp {
    display: block !important; 
  }
  }
/* ----------------------------------- */
/* コンテナ
/* ----------------------------------- */
.container {
	width: 100%;
	margin-right: auto;
	margin-left: auto; 
	padding-left: 15px;
	padding-right: 15px;
  transition: ease-in .1s;
}
@media screen and (min-width: 1025px) {
  .container {
		max-width: 1170px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .container {
		max-width: 970px;
		padding-left: 5%;
		padding-right: 5%;
  }
}
@media screen and (max-width: 767px) {
  .container {
		max-width: 750px;
  }
}
/* ----------------------------------- */
/* イメージ */
/* ----------------------------------- */
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  flex-shrink: 0; }
  img[class*="align"], img[class*="wp-image-"], img[class*="attachment-"] {
    height: auto; 
}
  img.alignleft, img.alignright, img.aligncenter {
    margin-bottom: 30px; 
}
  img.alignleft {
    display: inline;
    float: left;
    margin-right: 20px; 
}
  img.alignright {
    display: inline;
    float: right;
    margin-left: 20px; 
}
  img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px !important; 
}
/* ---------------------------------------------------------------- */
/* ヘッダー */
/* ---------------------------------------------------------------- */
#header {
  height: 130px;
  position: fixed;
  z-index: 5;
  top: 0;
  width: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(255, 255, 255, 0));
}
#header #headerCnt {
	padding: 0 40px 0 24px; 
  width: 100%;
  height: 100%;
  margin: 0 auto;
  transition: ease-in .1s;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #header #headerCnt {
		max-width: 970px;
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  #header #headerCnt {
		max-width: 750px;
    padding: 0 20px;
  }
}
#header #headerCnt #logoArea {
  flex-basis: 200px;
  width: 200px;
  align-self: center; 
}
#header #headerCnt #logoArea a {
  display: block;
  width: 100%; 
}
#header #headerCnt #logoArea a h1 {
  margin: 0;
  line-height: 1; 
}
#header #headerCnt #logoArea a h1 img {
  max-width: 200px;
  height: auto; 
}
#header #headerCnt  #headerContact {
  flex-basis: auto;
  width: auto;
  margin-left: auto; 
  padding-top: 40px;
}
#header #headerCnt  #headerContact ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 32px;
}
#header #headerCnt  #headerContact ul li {
  list-style: none;
}
#header #headerCnt #headerContact ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
	font-weight: 400;
	transition: all ease .3s;
  font-family: "Josefin Sans", sans-serif;
}
#header #headerCnt #headerContact ul li a.header-contact {
  background: #274334;
  color: #fff;
  border-radius: 60px;
	font-weight: 500;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 40px;
  line-height: 1;
  border: #fff solid 2px;
  font-size: 16px;
  position: relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
  transition: .3s ease-in;
}
#header #headerCnt #headerContact ul li a.header-contact:hover,
#header #headerCnt #headerContact ul li a.header-contact:focus{
  background: #fff;
  color: #274334;
  border: #274334 solid 2px;
  transition: .3s ease-in;
}
#header #headerCnt #headerContact ul li a.header-contact::after{
  position: absolute;
  width: 15px;
  height: 15px;
  content: "";
  background: url(./images/home/svg/header_btn_arrow_icon.svg)no-repeat;
  background-position: center;
  background-size: 15px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
#header #headerCnt #headerContact ul li a.header-contact:hover::after,
#header #headerCnt #headerContact ul li a.header-contact:focus::after{
  background: url(./images/home/svg/header_btn_arrow_icon_hober.svg)no-repeat;
  background-position: center;
  background-size: 15px;
}
#header #headerCnt #headerContact ul li a.children {
  padding-right: 13px;
  background: url("images/common/arrow_down.svg") no-repeat right top 3px/10px 16px; 
}
#drawerNaviWrap {
  display: none; 
}
 #header #headerCnt.fixed + #main {
  margin-top: 70px !important; 
}
@media screen and (max-width: 1000px) {
  #header #headerCnt #headerContact ul{
    gap: 0 15px;
  }
	#header #headerCnt #headerContact ul li a {
      font-size: 14px;
	}
}
@media screen and (max-width: 800px) {
	#header #headerCnt #headerContact ul li a.header-contact {
      display: none;
	}
}
@media screen and (max-width: 767px) {
  #header{
    height: 65px;
  }
  #header #headerCnt #headerContact {
      margin-right: 72px; 
  }
  #header #headerCnt #logoArea {
    flex-basis: 110px;
    width: 110px;
  }
  #header #headerCnt #logoArea a h1 img {
    max-width: 110px;
  }
  #header #headerCnt #headerContact ul li {
    display: none; 
  }
  #header #headerCnt #headerContact ul li.sp_onlink {
      display: block; 
  }
  #drawerNaviWrap {
      display: block !important;
      font-weight: 400;
      position: fixed;
      top: 26px;
      right: 20px; 
      z-index: 999;
  } 
}
#fix_header{
	display: none;
}

/* ---------------------------------------------------------------- */
/* ヘッダーメニュー */
/* ---------------------------------------------------------------- */
/* SPメニュー */
/* ----------------------------------- */
.admin-bar #navi_contents.navi_contents-on {
  padding-top: 46px !important; 
}
.openSpNavi {
  width: 100%;
  height: 100%;
  overflow: hidden !important; 
}
#drawerNaviWrap {
  display: none; 
}
#drawerNaviWrap .drawerNaviBtnWrap {
  width: 20px;
  height: 11px;
  position: relative;
  cursor: pointer;
  z-index: 999;
}
#drawerNaviWrap .drawerNaviBtn {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 11px;
    transition: all .5s;
    z-index: 3; 
}
#drawerNaviWrap .drawerNaviBtn span {
    display: block;
	  position: absolute;
	  left: 0;
	  width: 20px;
	  height: 2px;
	  background-color: #fff;
	  transition: all .5s; 
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(1) {
    top: 0; 
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(2) {
    top: 4.5px; 
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(3) {
    bottom: 0; 
}
#drawerNaviWrap .drawer-nav {
  display: block;
  position: fixed;
  top: 87px;
  right: -100vw;
  bottom: 15px;
  background: rgba(34, 34, 34, .1);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 999;
  opacity: 0; 
	width: 100%;
  height: 100%;
  background: rgba(34, 34, 34, .1);
  backdrop-filter: blur(10px) saturate(180%);
  -webkit-backdrop-filter: blur(10px) saturate(180%);
  box-shadow: 
    inset 0 1px 1px rgba(255, 255, 255, 0.8),
    0 10px 30px rgba(0, 0, 0, 0.1),
    0 1px 3px rgba(0, 0, 0, 0.05);
}
#drawerNaviWrap .drawer-nav .drawerInner {
  padding: 18px 20px; 
}
#drawerNaviWrap .drawer-nav #logo{
  max-width: 110px;
  height: 29px;
  margin-bottom: 42px;
}
#drawerNaviWrap .drawer-nav #logo a{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#drawerNaviWrap .drawer-nav #logo a img{
  max-width: 110px;
}
#drawerNaviWrap .drawer-nav .h_navi{
  padding: 0 0 24px 12px;
  border-bottom: #fff solid 1px;
}
#drawerNaviWrap .drawer-nav .h_navi ul.arow-ul {
  margin: 0;
  width: 100%;
  list-style: none;
}
#drawerNaviWrap .drawer-nav .h_navi ul.arow-ul li {
  margin: 0;
  list-style: none;
  position: relative;
  padding-bottom: 16px;
}
#drawerNaviWrap .drawer-nav .h_navi ul.arow-ul li:last-child{
  padding-bottom: 0;
}
#drawerNaviWrap .drawer-nav .h_navi ul.arow-ul li a {
  width: 100%;
  text-decoration: none;
  display: block;
  color: #fff;
  font-size: 22px;
	font-weight: 400;
  transition-duration: 0.2s;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
}
#drawerNaviWrap .drawer-nav .h_navi._02{
  padding-top: 24px;
  padding-bottom: 50px;
  border-bottom: none;
}
#drawerNaviWrap .drawer-nav .h_navi._02 ul.arow-ul li a {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
}
#drawerNaviWrap .drawer-nav .h_navi ul.arow-ul li a.header-contact {
  background: #274334;
  color: #fff;
  border-radius: 60px;
	font-weight: 500;
  width: 192px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 30px;
  margin: 0 auto;
  line-height: 1;
  border: #fff solid 2px;
  font-size: 16px;
  position: relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
  transition: .3s ease-in;
}
#drawerNaviWrap .drawer-nav .h_navi ul.arow-ul li a.header-contact::after{
  position: absolute;
  width: 15px;
  height: 15px;
  content: "";
  background: url(./images/home/svg/header_btn_arrow_icon.svg)no-repeat;
  background-position: center;
  background-size: 15px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
#overlay {
   display: none;
  transition: all .5s; 
}
#drawerNaviWrap.open .drawerNavClose span {
  display: block;
  position: absolute;
  width: 29px;
  height: 1px;
  top: 9px;
  right: 5px;
  transition: all .5s;
  background: #fff; 
}
#drawerNaviWrap.open .drawerNaviBtn span:nth-child(1) {
    transform: translateY(10px) rotate(137deg); 
}
#drawerNaviWrap.open .drawerNaviBtn span:nth-child(2) {
    transform: translateY(10px) rotate(42deg);
		top: 0px;
}
#drawerNaviWrap.open .drawerNaviBtn span:nth-child(3) {
    display: none;
}
#drawerNaviWrap.open .drawer-nav {
  right: 0;
	top: 0;
  opacity: 1; 
	z-index: 500;
}
.openSpNavi #overlay {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	  backdrop-filter: blur(4px);
    background: rgba(255, 255, 255, 0);
	  z-index: 3;
}
@media screen and (min-width: 768px) {
.openSpNavi {
  width: 100%;
  height: 100%;
  overflow: auto !important;
}
.openSpNavi #overlay {
    display: none;
    
}
}
/* ---------------------------------------------------------------- */
/* ページ内リンク */
/* ---------------------------------------------------------------- */
#about,#service,#price,#flow,#faq{
  height: 1px;
  display: block;
  padding-top: 80px;
  margin-top: -80px;
}
/* ---------------------------------------------------------------- */
/* フッター */
/* ---------------------------------------------------------------- */
#footer{
  position: relative;
}
#footerCnt{
  padding: 64px 0 48px;
  background: #F8F8F8;
}
#footerWrap{
  display: flex;
  justify-content: space-between;
  padding-bottom: 27px;
  border-bottom: #D2D2D2 solid 1px;
  margin-bottom: 32px;
  align-items: flex-end;
  flex-wrap: wrap;
}
#footerWrap #logoArea{
  width: 100%;
  max-width: 240px;
  height: 63px;
}
#footerWrap #logoArea a{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#footerWrap #logoArea a img{
   max-width: 240px;
}
#footerWrap #footernavi ul{
  display: flex;
  justify-content: flex-end;
  gap: 0 24px;
  align-items: center;
  flex-wrap: wrap;
}
#footerWrap #footernavi ul li a{
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  color: #222222;
  font-family: "Josefin Sans", sans-serif;
}
#footerWrap #footernavi ul li a.footer-contact{
  width: 100%;
  height: 48px;
  border-radius: 60px;
  background: #274334;
  color: #fff;
  border: #274334 solid 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  padding: 16px 40px;
  position: relative;
  transition: .3s ease-in;
}
#footerWrap #footernavi ul li a.footer-contact::after{
  position: absolute;
  width: 15px;
  height: 15px;
  content: "";
  background: url(./images/home/svg/header_btn_arrow_icon.svg)no-repeat;
  background-position: center;
  background-size: 15px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
#footerWrap #footernavi ul li a.footer-contact:hover,
#footerWrap #footernavi ul li a.footer-contact:focus{
  background: #fff;
  color: #274334;
  border: #274334 solid 2px;
  transition: .3s ease-in;
}
#footerWrap #footernavi ul li a.footer-contact:hover::after,
#footerWrap #footernavi ul li a.footer-contact:focus::after{
  background: url(./images/home/svg/header_btn_arrow_icon_hober.svg)no-repeat;
  background-position: center;
  background-size: 15px;
}
#footernaviWrap{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 16px;
}
#footernaviWrap .f_navi ul li{
  padding-bottom: 40px;
}
#footernaviWrap .f_navi ul li:last-child{
  padding-bottom: 0;
}
#footernaviWrap .f_navi ul li a{
  font-size: 16px;
  font-weight: 500;
  color: #222222;
  text-decoration: none;
}
#fooerbottom{
  background: #274334;
  padding: 22px 0;
}
#fooerbottom_inner{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#fooerbottom_inner #fooerbottom_snsbox{
  display: flex;
  gap: 0 24px; 
}
#fooerbottom_inner #copyright p{
  font-size: 16px;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #footerCnt{
    padding: 76px 0 62px;
  }
  #footerWrap{
    padding-bottom: 48px;
    margin-bottom: 42px;
    gap: 40px 0;
  }
  #footerWrap #logoArea{
    width: 100%;
    max-width: 131pc;
    height: 34px;
  }
  #footerWrap #logoArea a {
    justify-content: flex-start;
  }
  #footerWrap #logoArea a img{
    max-width: 131px;
  }
  #footerWrap #footernavi ul{
    justify-content: flex-start;
    gap: 32px 24px;
  }
  #footernaviWrap{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 22px 29px;
  }
  .f_navi {
     grid-area: 1 / 1 / 2 / 2; 
   }
  .f_navi:nth-child(2){
    grid-area: 1 / 2 / 2 / 3;
  }
  .f_navi:nth-child(3){
     grid-area: 2 / 1 / 3 / 2; 
  }
  #footernaviWrap .f_navi ul li{
    padding-bottom: 22px;
  }
  #fooerbottom{
  background: #274334;
  padding: 22px 0;
}
  #fooerbottom_inner{
    display: block;
  }
  #fooerbottom_inner #fooerbottom_snsbox{
    gap: 0 8px;
    margin-bottom: 12px
  }
  #fooerbottom_inner #copyright p{
    font-size: 12px;
  }
}
/* ---------------------------------------------------------------- */
/* fv video */
/* ---------------------------------------------------------------- */
#movie_blk {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: -1;
}
#movie_blk::after{
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0,0,0,.24);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.movie_blk .video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}
/* ---------------------------------------------------------------- */
/* fv_box */
/* ---------------------------------------------------------------- */
#fv_box{
  height: 100vh;
}
#fv_box .inner{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px 64px;
  width: 100%;
  height: 100%;
}
#fv_box .inner .txt1{
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  line-height: 160%;
  position: relative;
  padding-bottom: 10px;
  max-width: 450px;
}
#fv_box .inner .txt1::after{
 position: absolute;
 content: "";
 width: 100%;
 height: 1px;
 background: #fff;
 bottom: 0;
 left: 0;
 display: block;
}
#fv_box .inner .txt2{
  font-size: 56px;
  font-weight: 700;
  color: #fff;
  line-height: 160%;
}
#fv_box .inner .fv_box_img{
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #fv_box{
    height: 90vh;
  }
  #fv_box .inner{
    padding: 20px;
  }
  #fv_box .inner .txt1{
    font-size: 20px;
    max-width: 310px;
  }
  #fv_box .inner .txt2{
    font-size: 36px;
  }
}
/* ---------------------------------------------------------------- */
/* firstartic */
/* ---------------------------------------------------------------- */
.firstarticle-postListWrap .postBox{
  background: rgba(39, 67, 52, 0.6);
  width: 100%;
  border-radius: 70px;
  padding: 12px 40px;
}
.firstarticle-postListWrap .postBox a{
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 100px 1fr 50px;
  color: #fff;
  text-decoration: none;
  align-items: center;
}
.firstarticle-postListWrap .postBox a:hover .permaLinkWrap p,
.firstarticle-postListWrap .postBox a:focus .permaLinkWrap p{
  text-decoration: underline;
}
.firstarticle-postListWrap .postBox a .titlebox{
  border-right: #fff solid 1px;
}
.firstarticle-postListWrap .postBox a .titlebox p{
  font-size: 24px;
  font-weight: 400;
  font-family: "Josefin Sans", sans-serif;
}
.firstarticle-postListWrap .postBox a .permaLinkWrap{
  padding-left: 40px;
  display: flex;
  gap: 0 24px;
}
.firstarticle-postListWrap .postBox a .permaLinkWrap time{
  font-size: 16px;
  font-weight: 500;
}
.firstarticle-postListWrap .postBox a .permaLinkWrap p{
  font-size: 16px;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.firstarticle-postListWrap .postBox a .news_arrow{
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .firstarticle-postListWrap .postBox{
    padding: 12px 18px;
  }
  .firstarticle-postListWrap .postBox a{
    grid-template-columns: 55px 1fr 30px;
  }
  .firstarticle-postListWrap .postBox a .titlebox p{
    font-size: 16px;
  }
  .firstarticle-postListWrap .postBox a .permaLinkWrap{
    padding-left: 12px;
    display: flex;
    gap: 0 8px;
  }
  .firstarticle-postListWrap .postBox a .permaLinkWrap time{
    font-size: 14px;
  }
  .firstarticle-postListWrap .postBox a .permaLinkWrap p{
    font-size: 14px;
  }
}
/* ---------------------------------------------------------------- */
/* 共通content */
/* ---------------------------------------------------------------- */
.content{
  padding: 160px 0;
}
.content .subtitle{
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
  display: block;
  line-height: 100%;
}
.content .title{
  font-size: 40px;
  font-weight: 700;
  line-height: 160%;
}
.content .subtitle._center{
  text-align: center;
}
.content .title._center{
  text-align: center;
}
@media screen and (max-width: 767px) {
  .content{
    padding: 100px 0;
  }
  .content .subtitle{
    font-size: 28px;
  }
  .content .title{
    font-size: 30px;
  }
}
/* ---------------------------------------------------------------- */
/* #content01 */
/* ---------------------------------------------------------------- */
#content01{
  position: relative;
  color: #fff;
}
#content01::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 50%;
  top: 0;
  left: 0;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(158, 170, 164, 0.4) 50%, rgba(39, 67, 52, 0.9));
  display: block;
  z-index: -1;
}
#content01::after{
  position: absolute;
  content: "";
  width: 100%;
  height: 50%;
  bottom: 0;
  left: 0;
  background: #F8F8F8;
  display: block;
  z-index: -1;
}
#content01 .subtitle{
  margin-bottom: 20px;
  position: relative;
}
#content01 .subtitle::before{
  position: absolute;
  content: "";
  width: 104px;
  height: 1px;
  background: #fff;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  left: -110px;
}
.title{
  margin-bottom: 40px;
}
.con01txt{
  font-size: 16px;
  font-weight: 500;
  line-height: 180%;
  margin-bottom: 35px;
}
.content01img{
  margin-bottom: 96px;
}
.scroll-list-box {
    align-items: center;
    display: flex;
    display: -webkit-flex;
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    z-index: 1;
    position: absolute;
    bottom: 0;
}
.scroll-list-box .scroll-list {
    animation: flowing 10s linear infinite;
    font-size: 20px;
    transform: translateX(100%);
    margin: 0;
    padding: 0;
}
.scroll-list li {
    font-size: 140px;
    font-weight: 400;
    font-family: "Josefin Sans", sans-serif;
    color: #fff;
    margin: 0;
    line-height: 1;
    display: inline-block;
    padding-right: 20px;
}
@keyframes flowing{
  0% {
    transform: translateX(0);
  }
  100% {
      transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  #content01::before{
    height: 74%;
  }
  #content01::after{
    height: 26%;
  }
  #content01 .subtitle{
   margin-bottom: 25px;
  }
  #content01 .subtitle::before{
    width: 28px;
    left: -32px;
  }
  #content01 .title{
   margin-bottom: 25px;
   font-size: 24px;
  }
  .con01txt{
    font-size: 14px;
    margin-bottom: 71px;
  }
  .content01img{
    margin-bottom: 80px;
  }
  .scroll-list li {
    font-size: 118px;
  }
}
/* ---------------------------------------------------------------- */
/* #content02 */
/* ---------------------------------------------------------------- */
#content02{
  background: #F8F8F8;
  padding-top: 88px;
}
#content02 .content02_inner{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
  padding-bottom: 80px;
  border-bottom: #D2D2D2 solid 1px;
}
#content02 .content02_inner .box .imgbox{
  margin-bottom: 24px;
}
#content02 .content02_inner .box .con02_titleh3{
  font-family: "Josefin Sans", sans-serif; 
  font-weight: 400;
  font-style: Regular;
  font-size: 40px;
  line-height: 100%;
  letter-spacing: 0%;
  color: #222222;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
#content02 .content02_inner .box .con02_titleh3 span{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  leading-trim: CAP_HEIGHT;
  line-height: 160%;
  letter-spacing: 0%;
}
#content02 .content02_inner .box .con02_txt{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
}
#content02 .con2btnWrap a{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-offset: 0%;
  text-decoration-thickness: 0%;
  text-decoration-skip-ink: auto;
  color: #274334;
  display: flex;
  gap: 0 4px;
  margin-top: 24px;
  transition: .3s ease-in;
}
#content02 .con2btnWrap a:hover,
#content02 .con2btnWrap a:focus{
  font-weight: 700;
  transition: .3s ease-in;
}
#content02 .content02_inner._02{
  gap: 0 60px;
  padding-bottom: 0;
  padding-top: 80px;
  border-bottom: none;
  margin-bottom: 32px;
}
#content02 .con02imgWrap{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 40px;
}
.con02_w_space{
  background: #fff;
  padding: 40px;
  margin-top: 80px;
}
.con02_w_space .con02_w_s_wrap{
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 0 24px;
  margin-bottom: 24px;
}
.con02_w_space .con02_titleh3{
  font-family: "Josefin Sans", sans-serif; 
  font-weight: 400;
  font-style: Regular;
  font-size: 40px;
  line-height: 100%;
  letter-spacing: 0%;
  color: #222222;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.con02_w_space .con02_titleh3 span{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  leading-trim: CAP_HEIGHT;
  line-height: 160%;
  letter-spacing: 0%;
}
.con02_w_space .con02_w_s_wrap .box .con02_titleh4{
  font-weight: 500;
  font-style: Medium;
  font-size: 26px;
  leading-trim: CAP_HEIGHT;
  line-height: 160%;
  letter-spacing: 0%;
  margin-bottom: 20px;
}
.con02_w_space .con02_w_s_wrap .box .con02_w_s_txt{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
}
.con02_w_s_2wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 24px;
  margin-bottom: 24px;
}
.con02_w_s_box{
  border: #274334 solid 2px;
  padding: 24px 62px;
}
.con02_w_s_box p{
  font-weight: 700;
  font-style: Bold;
  font-size: 22px;
  leading-trim: CAP_HEIGHT;
  line-height: 160%;
  letter-spacing: 0%;
  text-align: center;
  color: #274334;
}
@media screen and (max-width: 767px) {
  #content02{
    padding-top: 100px;
  }
  #content02 .content02_inner{
    grid-template-columns: repeat(1, 1fr);
    gap: 58px 0;
    padding-bottom: 90px;
  }
  #content02 .content02_inner .box .con02_titleh3{
    font-size: 32px;
  }
  #content02 .content02_inner .box .con02_titleh3 span{
    font-size: 12px;
  }
  #content02 .content02_inner .box .con02_txt{
    font-size: 14px;
  }
  .con2btnWrap a{
    font-size: 14px;
  }
  #content02 .content02_inner._02{
    gap: 24px 0;
    padding-top: 90px;
    margin-bottom: 14px;
  }
  #content02 .con02imgWrap{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px;
    margin-bottom: 34px;
  }
  .con02_w_space{
    padding: 36px 15px;
    margin-top: 60px;
  }
  .con02_w_space .con02_w_s_wrap{
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px 0;
    margin-bottom: 34px;
  }
  .con02_w_space .con02_titleh3{
    font-size: 24px;
  }
  .con02_w_space .con02_titleh3 span{
    font-size: 12px;
  }
  .con02_w_space .con02_w_s_wrap .box .con02_titleh4{
    font-size: 24px;
  }
  .con02_w_space .con02_w_s_wrap .box .con02_w_s_txt{
    font-size: 14px;
  }
  .con02_w_s_2wrap{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap:24px 0;
    margin-bottom: 38px;
  }
  .con02_w_s_box{
    padding: 30px 10px;
  }
  .con02_w_s_box p{
    font-size: 18px;
  }
}
/* ---------------------------------------------------------------- */
/* #content03 */
/* ---------------------------------------------------------------- */
#content03{
  background: #fff;
}
.content_area {
  width: 100%;
  margin-bottom: 40px;
}
.tab-container {
  display: flex;
  flex-wrap: wrap;
}
.tab {
  font-weight: 500;
  text-align:center;
  width: calc(100% / 2);
  padding: 16px 10px;
  background: #D2D2D2;
  cursor: pointer;
  border-radius: 12px 12px 0 0;
  font-weight: 500;
  font-style: Medium;
  font-size: 32px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  color: #222;
}
.tab.active {
  background: #658976;
  color: #fff;
}
.tabbox {
  display: none;
  background: #fff;
  padding: 40px 24px;
  border-radius: 0 0 12px 12px;
  border: #668976 solid 2px;
}
.tabbox .tabtitle{
  font-weight: 500;
  font-style: Medium;
  font-size: 28px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  color: #274334;
  margin-bottom: 24px;
}
.tabbox.show {
  display: block;
  background: #274334;
  background: #fff;
}
.table1{
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
}
.table1 tr th.w200,
.table1 tr td.w200{
   width: 200px;
}
.table1 tr th.w180,
.table1 tr td.w180{
   width: 180px;
}
.table1 tr th.textLeft,
.table1 tr td.textLeft{
   text-align: left;
}
.table1 tr th,
.table1 tr td{
  border-right: #fff solid 8px;
  border-bottom: #fff solid 8px;
  padding: 14px 8px;
}
.table1.table2 tr th,
.table1.table2 tr td{
  border-right: #F8F8F8 solid 8px;
  border-bottom: #F8F8F8 solid 8px;
}
.table1 tr th{
  background: #658976;
  color: #fff;
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 140%;
  letter-spacing: 0%;
  text-align: center;
}
.table1 tr td{
  background: #F8F8F8;
  color: #222;
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 140%;
  letter-spacing: 0%;
  text-align: center;
}
.table1.table2 tr td{
  background: #fff;
}
.tabbox .tabtxt{
  font-family: Zen Kaku Gothic New;
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
  color: #222;
}
.con3_box{
  background: #F8F8F8;
  border-radius: 12px;
  padding: 40px 24px;
  border: #668976 solid 2px;
}
.con3_box .tabtitle{
  font-weight: 500;
  font-style: Medium;
  font-size: 28px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  color: #274334;
  margin-bottom: 24px;
}
.con3_box .table1{
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .tabbox {
    padding: 32px 12px;
  }
  .tabbox .tabtitle{
    font-size: 24px;
    margin-bottom: 16px;
  }
  .tab{
    font-size: 28px;
  }
  .scroll_table_wrapper{
    position: relative;
  }
  .scroll_table_wrapper::after{
    position: absolute;
    top: 50%;
    right: 0;
    content: "";
    width: 66px;
    height: 60px;
    margin-top: -30px;
    background: url("./images/home/svg/price_slide_icon.svg") no-repeat;
    background-position: top 0 right 0;
    background-size: 66px;
    transition: all ease 0.3s;
    pointer-events: none;
  }
  .table1{
    margin-bottom: 32px;
  }
  .table_inner{
    width: 1008px;
  }
  .tableSc {
    overflow: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .con3_box{
    padding: 32px 12px;
  }
  .con3_box .tabtitle{
    font-size: 24px;
    margin-bottom: 16px;
  }
}
/* ---------------------------------------------------------------- */
/* #ctaArea */
/* ---------------------------------------------------------------- */
.home #ctaArea{
    padding: 80px 0;
    background: transparent;
}
#ctaArea{
  padding: 80px 0;
  background: #274334;
}
#ctaArea .cta_subtitle{
  font-weight: 700;
  font-style: Bold;
  font-size: 32px;
  leading-trim: CAP_HEIGHT;
  line-height: 160%;
  letter-spacing: 0%;
  position: relative;
  color: #fff;
  position: relative;
  padding-left: 15px;
  padding-bottom: 10px;
}
#ctaArea .cta_subtitle::after{
  content: "";
  position: absolute;
  width: 500px;
  height: 52px;
  background: url(./images/home/ctatitle.png)no-repeat;
  background-size: 486px;
  background-position: center;
  left: 0;
  bottom: 0;
  display: block;
}
#ctaArea .cta_title{
  font-family: Zen Kaku Gothic New;
  font-weight: 700;
  font-style: Bold;
  font-size: 56px;
  leading-trim: CAP_HEIGHT;
  line-height: 160%;
  letter-spacing: 0%;
  color: #fff;
  margin-bottom: 20px;
}
#ctaArea .cta_title img{
  max-width: 130px;
}
#ctaArea .cta_btnWrap{
  display: flex;
  gap: 0 24px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}
#ctaArea .cta_btnWrap .box1 a{
  width: 240px;
  height: 56px;
  angle: 0 deg;
  opacity: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 10px;
  padding-right: 40px;
  padding-bottom: 10px;
  padding-left: 40px;
  border-radius: 32px;
  border: #274334 solid 1px;
  background: #fff;
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  color: #274334;
  position: relative;
  transition: all ease 0.3s;
}
#ctaArea .cta_btnWrap .box1 a::after{
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  angle: 0 deg;
  background: url(./images/home/svg/btn_arrow.svg)no-repeat;
  background-position: center;
  background-size: 24px;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
#ctaArea .cta_btnWrap .box1 a:hover,
#ctaArea .cta_btnWrap .box1 a:focus{
  background: #274334;
  color: #fff;
  border: #fff solid 2px;
  transition: all ease 0.3s;
}
#ctaArea .cta_btnWrap .box1 a:hover::after,
#ctaArea .cta_btnWrap .box1 a:focus::after{
  background: url(./images/home/svg/btn_arrow_hover.svg)no-repeat;
  background-position: center;
  background-size: 24px;
}
#ctaArea .cta_btnWrap .box2 a{
  width: 240px;
  height: 56px;
  angle: 0 deg;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  padding-top: 10px;
  padding-right: 40px;
  padding-bottom: 10px;
  padding-left: 40px;
  border-radius: 32px;
  background: #03B903;
  color: #fff;
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  position: relative;
}
#ctaArea .cta_btnWrap .box2 a::after{
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  angle: 0 deg;
  background: url(./images/home/svg/line_btn_arrow.svg)no-repeat;
  background-position: center;
  background-size: 24px;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
#ctaArea .cta_btnWrap .box2 a:hover,
#ctaArea .cta_btnWrap .box1 a:focus{
  background: #fff;
  color: #03B903;
  transition: all ease 0.3s;
}
#ctaArea .cta_btnWrap .box2 a:hover::after,
#ctaArea .cta_btnWrap .box2 a:focus::after{
  background: url(./images/home/svg/line_btn_arrow_hover.svg)no-repeat;
  background-position: center;
  background-size: 24px;
}
#ctaArea .ctatxt{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #ctaArea{
    padding: 90px 0;
  }
  #ctaArea .cta_subtitle{
    font-size: 28px;
    padding-bottom: 20px;
  }
  #ctaArea .cta_subtitle::after{
    width: 340px;
    background-size: 333px;
  }
  #ctaArea .cta_title{
    font-size: 34px;
    margin-bottom: 30px;
  }
  #ctaArea .cta_title img{
    max-width: 90px;
  }
  #ctaArea .cta_btnWrap{
    gap: 11px 0;
  }
  #ctaArea .ctatxt{
    font-size: 14px;
  }
}
/* ---------------------------------------------------------------- */
/* #content04 */
/* ---------------------------------------------------------------- */
#content04{
  background: #F8F8F8;
  padding-bottom: 0;
}
#content04 .con4_box{
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 0 40px;
  margin-bottom: 64px;
}
#content04 .con4_box.last{
  margin-bottom: 160px;
}
#content04 .con4_box.last .con4_imgbox::after{
  display: none;
}
#content04 .con4_box .con4_imgbox{
  position: relative;
  z-index: 1;
}
#content04 .con4_box .con4_imgbox::after{
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background: #274334;
  left: 40px;
  bottom: -80px;
  display: block;
  z-index: -1;
}
#content04 .con4_box .con4_txtbox{
  padding-top: 24px;
}
#content04 .con4_box .con4_txtbox .con4title{
  font-weight: 500;
  font-style: Medium;
  font-size: 32px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  margin-bottom: 20px;
}
#content04 .con4_box .con4_txtbox .con4txt{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
}
#content04 .con4_box .con4_txtbox .iconlist li{
  padding-left: 20px;
  position: relative;
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 180%;
  letter-spacing: 0%;
}
#content04 .con4_box .con4_txtbox .iconlist li::before{
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #274334;
  left: 0;
  top: 10px;
  display: block;
}
.con4-fvSwiper .swiper-wrapper .swiper-slide .slideimgbox{
  position: relative;
  width: 100%;
  padding-bottom: 60%;
  overflow: hidden;
}
.con4-fvSwiper .swiper-wrapper .swiper-slide .slideimgbox img{
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.con4-fvSwiper .swiper-wrapper .swiper-slide:nth-child(even) .slideimgbox{
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  #content04 .con4_box{
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0 16px;
    margin-bottom: 80px;
  }
  #content04 .con4_box.last{
    margin-bottom: 90px;
  }
  #content04 .con4_box .con4_imgbox::after{
    left: 29px;
    bottom: -95px;
    height: 130%;
  }
  #content04 .con4_box .con4_txtbox{
    padding-top: 16px;
  }
  #content04 .con4_box .con4_txtbox .con4title{
    font-size: 26px;
  }
  #content04 .con4_box .con4_txtbox .con4txt{
    font-size: 14px;
  }
  #content04 .con4_box .con4_txtbox .iconlist li{
    font-size: 14px;
  }
  #content04 .con4_box .con4_txtbox .iconlist li::before{
    top: 7px;
  }
}
/* ---------------------------------------------------------------- */
/* #content05 */
/* ---------------------------------------------------------------- */
#content05{
  background: #fff;
}
#content05 .con05inner{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
  margin-bottom: 48px;
}
.con5title{
  font-weight: 500;
  font-style: Medium;
  font-size: 26px;
  leading-trim: CAP_HEIGHT;
  line-height: 160%;
  letter-spacing: 0%;
  margin-bottom: 20px;
}
.con5title._center{
  text-align: center;
}
#content05 .con05inner .box .con5txt{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
  margin-bottom: 20px;
}
.con05_3Wrap{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 16px;
}
@media screen and (max-width: 767px) {
  #content05 .con05inner{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 40px 0;
    margin-bottom: 40px;
  }
  .con5title{
    font-size: 24px;
    margin-bottom: 16px;
  }
  #content05 .con05inner .box .con5txt{
    font-size: 14px;
    margin-bottom: 16px;
  }
  .con05_3Wrap{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 18px 0;
  }
}
/* ---------------------------------------------------------------- */
/* #content07 */
/* ---------------------------------------------------------------- */
#content07{
  background: #F8F8F8;
}
#content07 .inner{
  margin-bottom: 100px;
}
#content07 .instagram_username{
  text-align: center;
  font-size: 28px;
  color: #274334;
  margin-bottom: 30px;
}
#content07 .instagram_embed_wrapper{
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  scrollbar-width: none;
  margin-bottom: 30px;
}
#content07 .instagram_embed_wrapper iframe{
  display: block;
  border: none;
}
#content07 .instagram_embed_wrapper iframe::-webkit-scrollbar{
  display: none;
}
#content07 .btnWrap{
  margin: 40px auto;
}
@media screen and (max-width: 767px) {
  #content07 .instagram_username{
    font-size: 24px;
  }
  #content07 .instagram_embed_wrapper{
    height: 400px;
  }
}
/* ---------------------------------------------------------------- */
/* #content06 */
/* ---------------------------------------------------------------- */
#content06{
  background: #F8F8F8;
}
.accordion{
  margin-bottom: 40px;
}
.accordion-content {
  display: none;
}
.accordion-header {
  padding: 3px 18px 12px;
  margin: 10px 0 0;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
}
.accordion-header.active{
  border-bottom: #D2D2D2 solid 1px;
}
.accordion-header p{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 180%;
  letter-spacing: 0%;
}
.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right: 20px;
  bottom:0;
  width:20px;
  height:1px;
  margin:auto;
  background:#222222;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{
  transform:rotate(0deg);
}
.accordion-content {
  padding: 17px 18px 0;
  margin-bottom: 32px;
}
.accordion-header p,
.accordion-content p{
  padding-left: 40px;
  position: relative;
}
.accordion-header p::before{
  position: absolute;
  content:"Q";
  top: 5px;
  left: 0;
  color: #274334;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-style: Regular;
  font-size: 24px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
}
.accordion-header p::after{
  position: absolute;
  content:"";
  top: 6px;
  left: 31px;
  background: #D2D2D2;
  width: 1px;
  height: 20px;
  display: block;
}
.accordion-content p{
  font-weight: 500;
  font-style: Medium;
  font-size: 14px;
  leading-trim: NONE;
  line-height: 160%;
  letter-spacing: 0%;
}
.accordion-content p::before{
  position: absolute;
  content:"A";
  top: 3px;
  left: 0;
  color: #274334;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-style: Regular;
  font-size: 24px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
}
@media screen and (max-width: 767px) {
  .accordion-header {
    padding: 3px 40px 14px 6px;
  }
  .accordion-content {
    padding: 14px 6px 0;
  }
  .accordion-header p{
    font-size: 14px;
  }
  .accordion-content p{
    font-size: 12px;
  }
  .accordion-header::before, .accordion-header::after{
    top: -10px;
  }
  .accordion-header p::before{
    font-size: 22px;
    top: 4px;
  }
  .accordion-content p::before{
    font-size: 22px;
  }
  .accordion-header p::after{
    top: 3px;
    left: 28px;
  }
}
/* ---------------------------------------------------------------- */
/* #newsArea */
/* ---------------------------------------------------------------- */
#newsArea{
  background: #fff;
}
.news-postListWrap{
  background: #F8F8F8;
  padding: 40px;
  margin-bottom: 40px;
}
.news-postListWrap .postBox{
  border-bottom: #D2D2D2 solid 1px;
}
.news-postListWrap .postBox a{
  padding: 24px 16px 16px;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.news-postListWrap .postBox:first-child a{
  padding-top: 0;
}
.news-postListWrap .postBox a::after{
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  background:url(./images/home/svg/news_b_arrow.svg)no-repeat;
  background-position: center;
  background-size: 7px;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  right: 24px;
  transition: all ease 0.3s;
}
.news-postListWrap .postBox a:hover:after,
.news-postListWrap .postBox a:focus{
  right: 10px;
  transition: all ease 0.3s;
}
.news-postListWrap .postBox a .permaLinkWrap{
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 0 32px;
}
.news-postListWrap .postBox a .permaLinkWrap time,
.news-postListWrap .postBox a .permaLinkWrap p{
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: CAP_HEIGHT;
  line-height: 180%;
  letter-spacing: 0%;
  color: #222222;
}
@media screen and (max-width: 767px) {
  .news-postListWrap{
    background: #F8F8F8;
    padding: 20px 13px;
  }
  .news-postListWrap .postBox a{
    padding: 20px 30px 14px 0;
  }
  .news-postListWrap .postBox a .permaLinkWrap{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px 0;
  }
  .news-postListWrap .postBox a .permaLinkWrap time,
  .news-postListWrap .postBox a .permaLinkWrap p{
    font-size: 14px;
  }
  .news-postListWrap .postBox a::after{
    top: auto;
    transform: translateY(0%);
    -webkit-transform: translateY(0%);
    right: 11px;
    bottom: 30px;
  }
}
/* ---------------------------------------------------------------- */
/* btn */
/* ---------------------------------------------------------------- */
.btnWrap{
  margin: 0 auto;
  display: block;
  text-align: center;
}
.btnWrap .b_btn{
  background: #fff;
  width: 240px;
  height: 56px;
  angle: 0 deg;
  opacity: 1;
  padding-top: 10px;
  padding-right: 50px;
  padding-bottom: 10px;
  padding-left: 40px;
  border-radius: 32px;
  border-width: 1px;
  color: #274334;
  border: #274334 solid 1px;
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  position: relative;
  transition: .3s ease-in;
}
.btnWrap .b_btn::after{
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  angle: 0 deg;
  background: url(./images/home/svg/btn_arrow.svg)no-repeat;
  background-position: center;
  background-size: 24px;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.btnWrap .b_btn:hover,
.btnWrap .b_btn:focus{
  background: #274334;
  transition: .3s ease-in;
  color: #fff;
}
.btnWrap .b_btn:hover::after,
.btnWrap .b_btn:focus::after{
  background: url(./images/home/svg/btn_arrow_hover.svg)no-repeat;
  background-position: center;
  background-size: 24px;
}

.p-fixBtnWrap{
  position: absolute;
  right: 15%;
  top: -20px;
}
.p-fixBtnWrap .c-fixBtn{
  background: #274334;
  width: 40px;
  height: 40px;
  opacity: 1;
}
.hov-bg-main:hover{
  background-color: #274334 !important;
}
.icon-chevron-small-up:before,
.icon-chevron-up:before{
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-fixBtnWrap{
    right: 15px;
  }
}
/* ---------------------------------------------------------------- */
/* パンくず */
/* ---------------------------------------------------------------- */
#breadcrumb{
  margin-top: 130px;
}
@media screen and (max-width: 767px) {
  #breadcrumb{
    margin-top: 65px;
  }
}