
/*----------------------------------------------------
 basic
----------------------------------------------------*/
html.type700 {
    font-size: 10px;
    scrollbar-gutter: stable;
}

body#type700 {
	/*font-feature-settings: "palt";*/
	font-family: "Noto Serif JP", "游明朝",Yu Mincho,'Noto Serif',"ヒラギノ明朝 ProN W3","HiraMinProN-W3","ヒラギノ明朝 ProN W6","HiraMinProN-W6","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: calc(32/16);
    letter-spacing: 0.04em;
    font-weight: 400;
    color: #333333;
    
	background: none;
    background-color: #FFFFFF;
    position: relative;
    overflow-x: hidden;
    padding: 0;
}

#wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#wrap > section {
    position: relative;
}
section > .inner {
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#wrap .illust {
    position: absolute;
    z-index: -1;
}

/*:root {
    --spacing: 0;
}

* {
   letter-spacing: var(--spacing);
}*/

body {
}
body.fade {
	overflow: hidden;
}

.ttl_wrap {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 1rem;
    margin-bottom: 6rem;
}
.ttl_wrap .sec_ttl span {
    display: block;
    font-size: 3.5rem;
    line-height: calc(46/35);
    font-weight: bold;
    color: #08872B;
    text-align: center;
}
.ttl_wrap .lead {
    font-size: 1.8rem;
    line-height: calc(40/18);
    font-weight: 500;
    text-align: center;
}

h3.ttl {
    font-size: 2.6rem;
    line-height: calc(44/26);
    font-weight: 500;
    text-align: center;
}

.icon {
    padding: 0;
}
/*.icon img {
    width: 100%;
}*/

.pager .current {
    background-color: var(--corporate-color);
    border: 1px solid var(--corporate-color);
    color: #fff;
}
.pager .page, .pager a.page-numbers {
    border: 1px solid var(--corporate-color);
    background-color: #fff;
    color: var(--corporate-color);
}


.layout::after {
    display: none;
}

/*@media screen and (min-width: 1440px) {
html.type700 {
    font-size: 0.694vw;
}
}*/


@media screen and (max-width: 768px) {
#wrap {
}
section > .inner {
    max-width: 33.5rem;
}
    
.ttl_wrap {
    gap: 1rem;
    margin-bottom: 3rem;
}
.ttl_wrap .sec_ttl span {
    font-size: 2.4rem;
}
.ttl_wrap .lead {
    font-size: 1.4rem;
}

h3.ttl {
    font-size: 2.0rem;
}
}

/* ローディング
----------------------------------------- */
body #fade {
width: 100%;
height: 100vh;
display: block;
background-color: #FFFFFF;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
}

/*wrapper ローディング用*/
body #wrapper {
width: 100%;
/*min-width: 100rem;*/
margin: auto;
/*overflow: auto;*/
/*opacity: 0;*/
filter: alpha(opacity=0);  
-ms-filter: "alpha( opacity=0 )";
transition: all .6s;
}

.loading {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
opacity: 1;
}


@media screen and (max-width: 768px) {
body #wrapper {
    min-width: 100%;
}
	
.loading .logo {
}

.loading .copy {
}
    
body #fade {
z-index: 1000;
height : 100vh;
height : calc(var(--vh, 1vh) * 100);
}
}


/* 画像、テキスト振り分け
----------------------------------------- */
.pcShow{
}
.spShow{
	display: none !important;
}

@media screen and (max-width: 768px) {
  .pcShow{
      display: none !important;
  }
  .spShow{
      display: block !important;
  }
}


#type700 a {
    transition: all .6s;
}
#type700 a:hover {
    opacity: .7;
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
html.type700 {
    font-size: 0.78125vw;
}
}

@media screen and (max-width: 768px) {
html.type700 {
    font-size: 2.6667vw;
    /*font-size: 2.564vw;*/
}
body#type700 {
	font-size: 14px;
	font-size: 1.4rem;
}
}


/* drawer
----------------------------------------- */
#type700.drawer--left .drawer-hamburger {
	position: fixed;
    top: 0;
    right: 0;
	bottom: auto;
    left: auto;
    width: 6.5rem;
    height: 6.5rem;
    padding: 0;
    margin: 0;
	box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    /*background-color: #FFFFFF;*/
    flex-wrap: wrap;
    /*-webkit-transform: translate(-100%,0);
    transform: translate(-100%,0);*/
	padding-bottom: 0;
	 -webkit-transition: all .6s;
    transition: all .6s;
	
	z-index: 106;
	/*filter: drop-shadow(0 0 0.5rem rgb(0,0,0,0.2));*/
    
    display: none;
}
@media screen and (max-width: 768px) {
#type700.drawer--left .drawer-hamburger {
    width: 9rem;
    height: 8rem;
	display: flex;
    top: 0;
    left: auto;
    right: 0;
    position: absolute;
}
#type700.drawer--left.is_show .drawer-hamburger {
	position: fixed;
}
}
#type700.drawer--left.is_show .drawer-hamburger {
}

#type700.drawer--left .drawer-hamburger .btn_wrap {
    width: 5rem;
    height: 5rem;
    background-color: #333333;
    border-radius: 50%;
	box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
	 -webkit-transition: all .6s;
    transition: all .6s;
    padding: 0;
    border: 0;
    outline: 0;
    margin: auto;
}
#type700.drawer--left.drawer-open .drawer-hamburger .btn_wrap {
    background-color: #FFFFFF;
}
#type700.drawer--left .drawer-hamburger .btn_wrap:hover {
    cursor: pointer;
}

#type700.drawer--left.is_show .drawer-hamburger {
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
}

#type700.drawer--left.drawer-open .drawer-hamburger {
    /*right: 1.5rem;*/
    top: 0;
    left: auto;
    right: 0;
	-webkit-transform: translate(0,0);
    transform: translate(0,0);
}

#type700.drawer .drawer-hamburger-icon,
#type700.drawer .drawer-hamburger-icon:before,
#type700.drawer .drawer-hamburger-icon:after {
    width: 100%;
    max-width: 2.2rem;
    display: block;
    height: 2px;
	border-radius: 0;
    -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#type700.drawer.drawer-open .drawer-hamburger-icon,
#type700.drawer.drawer-open .drawer-hamburger-icon:before,
#type700.drawer.drawer-open .drawer-hamburger-icon:after {
    max-width: 2.2rem;
}

#type700.drawer.drawer-open .drawer-hamburger-icon:before {
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
}
#type700.drawer.drawer-open .drawer-hamburger-icon:after {
    -webkit-transform: rotate(-35deg);
    transform: rotate(-35deg);
}
	
#type700 .drawer-hamburger-icon {
    margin-top: 0;
}

#type700.drawer .drawer-hamburger-icon {
    background-color: #FFFFFF;
}
#type700.drawer .drawer-hamburger-icon:before {
    background-color: #FFFFFF;
}
#type700.drawer .drawer-hamburger-icon:after {
    background-color: #FFFFFF;
}
#type700.drawer.is_show .drawer-hamburger-icon {
    background-color: #FFFFFF;
}
#type700.drawer.is_show .drawer-hamburger-icon:before {
    background-color: #FFFFFF;
}
#type700.drawer.is_show .drawer-hamburger-icon:after {
    background-color: #FFFFFF;
}
#type700.drawer.drawer-open .drawer-hamburger-icon {
    background-color: transparent;
}
#type700.drawer.drawer-open .drawer-hamburger-icon:before {
    background-color: #333333;
}
#type700.drawer.drawer-open .drawer-hamburger-icon:after {
    background-color: #333333;
}

#type700 .drawer-hamburger-icon:before,
#type700 .drawer-hamburger-icon:after {
  position: absolute;
  top: -0.7rem;
  left: 0;
  content: ' ';
}

#type700 .drawer-hamburger-icon:after {
  top: 0.7rem;
}

#type700.drawer-open .drawer-hamburger-icon:before,
#type700.drawer-open .drawer-hamburger-icon:after {
    top: 0;
}

#type700.drawer--left .drawer-hamburger:hover {
    opacity: 1;
    cursor: auto;
}

#type700.drawer--left .drawer-nav .drawer-hamburger {
    display: none;
}
#type700.drawer--left.drawer-open .drawer-nav .drawer-hamburger {
    display: block;
}

/*#type700.drawer--left.drawer-open .drawer-nav,
#type700.drawer--left .drawer-hamburger,
#type700.drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
    left: 0;
}*/

#type700.drawer--left .drawer-nav {
    width: 100%;
	left: 0;
	opacity: 0;
	transform: translateY(0);
    -webkit-transition: all .6s;
	transition: all .6s;
    /*display: flex;
    align-items: flex-start;
    align-content: center;
    flex-wrap: wrap;*/
    padding: 0;
    height: 100vh;
    /*overflow: scroll;*/
    background-color: #F5F2E9;
    box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	z-index: -1;
}

#type700.drawer--left .drawer-nav::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #F5F2E9;
    /*mix-blend-mode: Multiply;*/
    z-index: -1;
}
#type700.drawer--left.drawer-open .drawer-nav {
	transform: translateY(0);
    z-index: 105;
    right: 0;
    opacity: 1;
}

#type700.drawer--left .drawer-nav .navi_wrap {
    width: 100%;
    margin: auto;
    height: auto;
    padding: 0 3.5rem;
} 
#type700.drawer--left .drawer-nav .navi_wrap .navigation {
    padding-bottom: 4rem;
}
#type700.drawer--left .drawer-nav .navi_wrap .navigation .navi {
     display: flex;
    justify-content: center;
}
#type700.drawer--left .drawer-nav .navi_wrap .navigation .navi:not(:first-child) {
    margin-top: 4rem;
}
#type700.drawer--left .drawer-nav .navi_wrap .navigation .navi a {
    display: flex;
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    font-weight: 500;
    line-height: 1;
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    color: #333333;
}
#type700.drawer-open .drawer-overlay {
     display: none; 
}

.drawer-hamburger-icon {
    margin-top: 0;
}



/* header
----------------------------------------- */
header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
}
body.is_show header {
    position: fixed;
}
header .inner {
    width: 100%;
    height: 8rem;
    padding: 0 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
body.is_show header::before {
    opacity: 1;
}

header .inner .logo {
}
header .inner .navi_wrap .navigation {
    display: flex;
    justify-content: flex-end;
    column-gap: 4rem;
}
header .inner .navi_wrap .navigation > .navi a span {
    font-family: "Noto Sans JP", sans-serif;
    color: #333333;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
body.is_show header {
    position: absolute;
}
header .inner {
    height: 6.5rem;
    padding: 0 2rem;
}
body.is_show header::before {
    opacity: 0;
}
header .inner .logo {
    width: 16.8rem;
}
header .inner .logo a {
    transition: all .6s;
}
body.is_show header .inner .logo a {
    opacity: 0;
    pointer-events: none;
}
body.drawer-open header .inner .logo a {
    opacity: 0;
    pointer-events: none;
}
header .inner .navi_wrap .navigation {
    display: none;
}
}



/* #topmain
----------------------------------------- */
#topmain {
    width: 100%;
}
#topmain .inner {
	width: 100%;
    max-width: none;
}

#topmain .layout {
    width: 100%;
	aspect-ratio: 1440 / 768;
	position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

#topmain .layout h1 {
    width: 100%;
    height: 100%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 3rem;
}
#topmain .layout h1 .mv {
    width: calc(373/1440*100%);
	opacity: 0;
}
#topmain .layout h1 .copy_01 {
    width: calc(216/1440*100%);
    height: 100%;
    padding-top: calc(150/1440*100%);
	opacity: 0;
}
#topmain .layout h1 .copy_02 {
    width: calc(211/1440*100%);
    height: 100%;
    padding-top: calc(345/1440*100%);
	opacity: 0;
}
#topmain .layout h1 img {
    width: 100%;
    height: auto;
}

#topmain .layout .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#topmain .layout .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#topmain.is_show .layout h1 .mv {
    animation: topmain_anim 1s 0.5s ease-in-out forwards alternate;
}
#topmain.is_show .layout h1 .copy_01 {
    animation: topmain_anim 0.8s 0.8s ease-in-out forwards alternate;
}
#topmain.is_show .layout h1 .copy_02 {
    animation: topmain_anim 0.8s 1.2s ease-in-out forwards alternate;
}

@keyframes topmain_anim {
  0% {
	  -ms-filter: blur(1rem);
      filter: blur(1rem);
      transform: translateY(4rem);
      opacity: 0;
  }
  100% {
      filter: none;
      transform: none !important;
      opacity: 1;
  }
}

@media screen and (max-width: 768px) {
#topmain .layout {
    aspect-ratio: 375 / 633;
}

#topmain .layout h1 {
    width: 100%;
    height: 100%;
    z-index: 3;
    column-gap: 0;
    
    flex-flow: column;
    gap: 1rem;
    padding-bottom: 2rem;
}
#topmain .layout h1 .mv {
    width: calc(184/375*100%);
    /*position: absolute;
    top: 16.4rem;
    left: 2rem;*/
    position: relative;
    top: auto;
    left: auto;
}
#topmain .layout h1 .copy_01 {
    width: calc(81/375*100%);
    height: auto;
    padding-top: 0;
    /*position: absolute;
    top: calc(230 / 633 * 100%);
    left: calc(225 / 375 * 100%);*/
    position: relative;
    top: auto;
    left: auto;
}
#topmain .layout h1 .copy_02 {
    width: calc(191/375*100%);
    height: auto;
    padding-top: 0;
	/*position: absolute;
    top: calc(310 / 633 * 100%);
    left:  calc(225 / 375 * 100%);*/
    position: relative;
    top: auto;
    left: auto;
}
#topmain .layout h1 img {
    width: 100%;
    height: auto;
}

}


/* about
----------------------------------------- */
#about {
    position: relative;
    z-index: 1;
}
#about::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: url("../images/about_bg.svg") no-repeat center center / cover;
}
#about .inner {
    padding-top: 7rem;
    padding-bottom: 14rem;
}
#about .inner .layout {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

#about .inner .layout .txt_wrap {
    padding-top: 7rem;
    line-height: calc(54/16);
    font-weight: 500;
    text-align: center;
}

#about .inner .layout .box_1 {
    width: calc(310/1200*100%);
    padding-top: 9rem;
    display: flex;
    flex-flow: column;
    gap: 13rem;
}
#about .inner .layout .box_1 .img_1 {
    width: calc(280/310*100%);
    height: auto;
}
#about .inner .layout .box_1 .img_2 {
    width: calc(208/310*100%);
    height: auto;
    margin-left: auto;
}

#about .inner .layout .box_2 {
    width: calc(358/1200*100%);
    display: flex;
    flex-flow: column;
    gap: 11rem;
}
#about .inner .layout .box_2 .img_1 {
    width: calc(257/358*100%);
    height: auto;
    margin-left: auto;
}
#about .inner .layout .box_2 .img_2 {
    width: calc(230/358*100%);
    height: auto;
}

@media screen and (max-width: 768px) {
#about::after {
    background: url("../images/about_bg_sp.svg") no-repeat center center / cover;
}
#about .inner {
    padding-top: 5rem;
    padding-bottom: 9rem;
}
#about .inner .layout {
    width: 100%;
    display: flex;
    flex-flow: column-reverse;
    align-items: center;
    gap: 3.5rem;
}

#about .inner .layout .txt_wrap {
    padding-top: 0;
    line-height: calc(54/16);
    font-weight: 500;
    text-align: center;
}

#about .inner .layout .box_1 {
    width: 100%;
    padding-top: 0;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    gap: 0;
}
#about .inner .layout .box_1 .img_1 {
    width: calc(142/335*100%);
    height: auto;
    margin-left: 0;
    margin-top: 4.5rem;
}
#about .inner .layout .box_1 .img_2 {
    width: calc(125/335*100%);
    height: auto;
    margin-right: 2rem;
}

#about .inner .layout .box_2 {
    width: 100%;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    gap: 0;
}
#about .inner .layout .box_2 .img_1 {
    width: calc(128/335*100%);
    height: auto;
    margin-left: 1.5rem;
}
#about .inner .layout .box_2 .img_2 {
    width: calc(142/335*100%);
    height: auto;
    margin-left: auto;
    margin-top: 5rem;
}
}


/* #news
----------------------------------------- */
#news {
    position: relative;
    z-index: 2;
    background-color: #F5F2E9;
}
#news::before {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    top: -8rem;
    left: 0;
    z-index: -1;
    background-color: #F5F2E9;
    border-radius: 8rem 8rem 0 0;
}
#news::after {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    bottom: -8rem;
    left: 0;
    z-index: -1;
    background-color: #F5F2E9;
    border-radius: 0 0 8rem 8rem;
}

#news .inner {
    padding-top: 0;
    padding-bottom: 6rem;
}

#news .layout {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#news .post_list_wrap.news {
    width: calc(920/1200*100%);
}
#news .post_list_wrap.news .post_list {
    width: 100%;
}
#news .post_list_wrap.news .post_list > li {
    width: 100%;
    padding: 2.5rem 0;
    padding-right: 0;
    border-bottom: 1px solid #E5DFD3;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#news .post_list_wrap.news .post_list > li:nth-child(n+6) {
  display: none;
}

#news .post_list_wrap.news .post_list > li > a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 3rem;
    transition: all .6s;
}
#news .post_list_wrap.news .post_list > li > a:hover {
    opacity: 1;
}
#news .post_list_wrap.news .post_list > li > a .date {
    min-width: 9rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #999999;
    transition: all .6s;
}
#news .post_list_wrap.news .post_list > li > a .ttl {
    margin-right: auto;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-weight: 500;
    transition: all .6s;
}
#news .post_list_wrap.news .post_list > li > a .arrow {
    width: 4rem;
    height: 4rem;
}
#news .post_list_wrap.news .post_list > li > a .arrow svg {
    width: 100%;
    height: auto;
}

#news .post_list_wrap.news .post_list > li > a:hover .date {
    color: #08872B;
}
#news .post_list_wrap.news .post_list > li > a:hover .ttl {
    color: #08872B;
}
#news .post_list_wrap.news .post_list > li > a:hover .arrow svg {
    width: 100%;
    height: auto;
}
#news .post_list_wrap.news .post_list > li > a .arrow #ico_arr .a {
    transition: all .6s;
}
#news .post_list_wrap.news .post_list > li > a:hover .arrow #ico_arr .a {
    fill:rgba(8,135,43,1);
}
#news .post_list_wrap.news .post_list > li > a .arrow #ico_arr .b {
    transition: all .6s;
}
#news .post_list_wrap.news .post_list > li > a:hover .arrow #ico_arr .b {
    stroke: #FFFFFF;
}

#news .more_btn {
    margin: auto;
    margin-top: 3rem;
    
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 1rem;
    
    cursor: pointer;
}
#news .more_btn span {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #08872B;
    transition: all .6s;
}
#news .more_btn .icon {
    width: 2.8rem;
    height: 2.8rem;
    border: 1.5px solid #08872B;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all .6s;
}
#news .more_btn .icon::before {
    content: '';
    display: block;
    width: 0.9rem;
    height: 1.5px;
    background-color: #08872B;
    border-radius: 10rem;
    transition: all .6s;
}
#news .more_btn .icon::after {
    content: '';
    display: block;
    height: 0.9rem;
    width: 1.5px;
    background-color: #08872B;
    border-radius: 10rem;
    
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: all .6s;
}

#news .more_btn:hover .icon {
    background-color: #08872B;
}
#news .more_btn:hover .icon::before {
    background-color: #FFFFFF;
}
#news .more_btn:hover .icon::after {
    background-color: #FFFFFF;
}

#news .more_btn.close .icon::after {
    opacity: 0;
}


@media screen and (max-width: 768px) {
#news {
}
#news::before {
    top: -3rem;
    border-radius: 3rem 3rem 0 0;
}
#news::after {
    bottom: -3rem;
    border-radius: 0 0 3rem 3rem;
}

#news .inner {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

#news .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
}

#news .post_list_wrap.news {
    width: 100%;
}
#news .post_list_wrap.news .post_list {
    width: 100%;
}
#news .post_list_wrap.news .post_list > li {
    width: 100%;
    padding: 1.5rem 0;
    padding-right: 0;
    border-bottom: 1px solid #E5DFD3;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#news .post_list_wrap.news .post_list > li > a {
    width: 100%;
    flex-flow: wrap;
    column-gap: 0;
}
#news .post_list_wrap.news .post_list > li > a .date {
    width: 100%;
    font-size: 1.3rem;
    margin-bottom: 1rem;
}
#news .post_list_wrap.news .post_list > li > a .ttl {
    width: 29.3rem;
    margin-right: auto;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-size: 1.3rem;
    line-height: calc(20/13);
    transition: all .6s;
}
#news .post_list_wrap.news .post_list > li > a .arrow {
    width: 3.2rem;
    height: 3.2rem;
}

#news .more_btn {
    margin: auto;
    margin-top: 4rem;
}
}


/* concept
----------------------------------------- */
#concept {
    position: relative;
    z-index: 1;
}
#concept .inner {
    max-width: none;
    padding-top: 8rem;
}
#concept .inner .layout {
    width: 100%;
    padding-top: 14rem;
    padding-bottom: 10rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    position: relative;
    z-index: 1;
}
#concept .inner .layout::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: url("../images/concept_bg.jpg") no-repeat center center / cover;
}

#concept .inner .ttl_wrap {
    margin-bottom: 0;
}

#concept .inner .layout h3.ttl {
    padding-top: 5rem;
    letter-spacing: 0.1em;
}
#concept .inner .layout .txt {
    padding-top: 5rem;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
}
#concept .inner .concept_img {
    width: 100%;
    height: 41rem;
    background: url("../images/img_concept.jpg") no-repeat center center / cover;
}

@media screen and (max-width: 768px) {
#concept .inner {
    max-width: none;
    padding-top: 3rem;
}
#concept .inner .layout {
    padding-top: 14rem;
    padding-bottom: 20rem;
}
#concept .inner .layout::after {
    background: url("../images/concept_bg_sp.jpg") no-repeat center center / cover;
}
#concept .inner .layout h3.ttl {
    padding-top: 4rem;
}
#concept .inner .layout .txt {
    padding-top: 3rem;
}

#concept .inner .concept_img {
    width: 100%;
    height: 21rem;
    background: url("../images/img_concept_sp.jpg") no-repeat center center / cover;
}
}



/* #design
----------------------------------------- */
#design {
    position: relative;
    z-index: 2;
}
#design::before {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    top: -8rem;
    left: 0;
    z-index: -1;
    background: url("../images/design_bg.svg") no-repeat center top / 100%;
    border-radius: 8rem 8rem 0 0;
}
#design::after {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    bottom: -8rem;
    left: 0;
    z-index: -1;
    background: url("../images/design_bg.svg") no-repeat center bottom/ 100%;
    border-radius: 0 0 8rem 8rem;
}

#design .inner {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

#design .layout {
    display: flex;
    flex-flow: column;
    gap: 6rem;
}

#design .layout > .con {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#design .layout > .con:nth-child(odd) {
    flex-flow: row-reverse;
}
#design .layout > .con .img_wrap {
    width: calc(650/1200*100%)
}
#design .layout > .con .txt_wrap  {
    width: calc(500/1200*100%);
    padding-left: 5rem;
    font-family: "Noto Sans JP", sans-serif;
}

#design .layout > .con_1 {
    flex-flow: column;
}
#design .layout > .con_2 {
}


@media screen and (max-width: 768px) {
#design::before {
    top: -3rem;
    background: url("../images/design_bg_sp.svg") no-repeat center top / 100%;
    border-radius: 3rem 3rem 0 0;
}
#design::after {
    bottom: -3rem;
    background: url("../images/design_bg_sp.svg") no-repeat center bottom/ 100%;
    border-radius: 0 0 3rem 3rem;
}

#design .inner {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

#design .layout {
    display: flex;
    flex-flow: column;
    gap: 4rem;
}

#design .layout > .con {
    width: 100%;
    display: flex;
    flex-flow: column;
}
#design .layout > .con:nth-child(even) {
    flex-flow: column;
}
#design .layout > .con:nth-child(odd) {
    flex-flow: column;
}
#design .layout > .con .img_wrap {
    width: 100%;
}
#design .layout > .con .txt_wrap  {
    width: 100%;
    padding-left: 0;
    margin-top: 1.5rem;
}
    
#design .layout > .con_2 {
}

}


/* #interior
----------------------------------------- */
#interior {
    position: relative;
    z-index: 1;
}
#interior::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: url("../images/interior_bg.svg") no-repeat center center/ 100%;
}

#interior .inner {
    max-width: none;
    padding-top: 20rem;
    padding-bottom: 20rem;
}

#interior .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 10rem;
}

#interior .layout > .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
#interior .layout > .con_1 {
    width: 65rem;
}
#interior .layout > .con_2 {
    width: 65rem;
}
#interior .layout > .con_3 {
    width: 100%;
}
#interior .layout > .con > .img_wrap  {
    margin-top: 3rem;
}
#interior .layout > .con > .txt_wrap  {
    margin-top: 3rem;
    font-family: "Noto Sans JP", sans-serif;
}
#interior .layout > .con > .txt_wrap .att {
    font-size: 1.4rem;
}

#interior .layout > .con .slider_wrap  {
    width: 100%;
    position: relative;
    margin-top: 5rem;
}
#interior .layout > .con .slider_wrap.color_slider_wrap  {
    margin-top: 3rem;
}
#interior .layout > .con .slider_wrap .color_slider {
    overflow: hidden;
}
.color_slider .swiper-wrapper,
.color_slider .swiper-slide,
.color_slider .swiper-slide .img_wrap {
	width: 100%;
}
.color_slider .swiper-slide .img_wrap img {
    width: 100%;
    aspect-ratio: 650 / 433;
    object-fit: cover;
}

.slider_wrap .swiper-slide .txt_wrap  {
    margin-top: 2rem;
    font-family: "Noto Sans JP", sans-serif;
}

#interior .slider_wrap .color_slider .pagination {
    position: relative;
    bottom: auto;
    left: auto;
    transform: translate(0,0);
    text-align: center;
    margin-top: 2rem;
}
#interior .slider_wrap .color_slider .pagination .swiper-pagination-bullet {
    width: 3rem;
    height: 3rem;
    position: relative;
    background-color: #73B585;
    opacity: 1;
}
#interior .slider_wrap .color_slider .pagination .swiper-pagination-bullet:nth-child(1) {
    background-color: #73B585;
}
#interior .slider_wrap .color_slider .pagination .swiper-pagination-bullet:nth-child(2) {
    background-color: #8CBCDB;
}
#interior .slider_wrap .color_slider .pagination .swiper-pagination-bullet:nth-child(3) {
    background-color: #A7ACA9;
}
#interior .slider_wrap .color_slider .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
    content: '';
    display: block;
    width: 4.4rem;
    height: 4.4rem;
    border: 2px solid #08872B;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

#interior .slider_wrap .color_slider .pagination .swiper-pagination-bullet:not(:first-child) {
    margin-left: 2rem;
}

@media screen and (max-width: 768px) {
#interior::after {
    background: url("../images/interior_bg_sp.svg") no-repeat center top / 100%;
}

#interior .inner {
    max-width: 33.5rem;
    padding-top: 9rem;
    padding-bottom: 9rem;
}

#interior .layout {
    gap: 6rem;
}

#interior .layout > .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
#interior .layout > .con_1 {
    width: 100%;
}
#interior .layout > .con_2 {
    width: 100%;
}
#interior .layout > .con_3 {
    width: 100%;
}
#interior .layout > .con > .img_wrap  {
    margin-top: 2rem;
}
#interior .layout > .con > .txt_wrap  {
    margin-top: 2rem;
}
#interior .layout > .con > .txt_wrap .att {
    font-size: 1.2rem;
}

#interior .layout > .con .slider_wrap  {
    margin-top: 4rem;
}
#interior .layout > .con .slider_wrap.color_slider_wrap  {
    margin-top: 2rem;
}
.color_slider .swiper-slide .img_wrap img {
    width: 100%;
    aspect-ratio: 335 / 223;
    object-fit: cover;
}

.slider_wrap .swiper-slide .txt_wrap  {
    margin-top: 1.5rem;
}

#interior .slider_wrap .color_slider .pagination {
    margin-top: 1.5rem;
}

}



/* #environment
----------------------------------------- */
#environment {
    position: relative;
    z-index: 2;
}
#environment::before {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    top: -8rem;
    left: 0;
    z-index: -1;
    background: url("../images/environment_bg.svg") no-repeat center top / 100%;
    border-radius: 8rem 8rem 0 0;
}
#environment::after {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    bottom: -8rem;
    left: 0;
    z-index: -1;
    background: url("../images/environment_bg.svg") no-repeat center bottom/ 100%;
    border-radius: 0 0 8rem 8rem;
}

#environment .inner {
    max-width: none;
    padding-top: 6rem;
    padding-bottom: 6rem;
}

#environment .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 10rem;
}

#environment .layout > .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
#environment .layout > .con_1 {
    width: 65rem;
}
#environment .layout > .con_1 .img_wrap {
    border-radius: 1.2rem;
    overflow: hidden;
}
#environment .layout > .con_2 {
    width: 100%;
    max-width: 120rem;
    margin: auto;
    margin-top: -4rem;
    display: flex;
    flex-flow: row-reverse;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#environment .layout > .con_2 .img_wrap {
    width: calc(650/1200*100%);
}
#environment .layout > .con_2 .txt_wrap  {
    width: calc(500/1200*100%);
    padding-left: 5rem;
    font-family: "Noto Sans JP", sans-serif;
}

#environment .layout > .con_3 {
    width: 100%;
}
#environment .layout > .con_4 {
    width: 65rem;
}
#environment .layout > .con_5 {
    width: 100%;
}
#environment .layout > .con > .img_wrap  {
    margin-top: 5rem;
}
#environment .layout > .con .txt_wrap  {
    margin-top: 2rem;
    font-family: "Noto Sans JP", sans-serif;
}

#environment .layout > .con .slider_wrap  {
    width: 100%;
    position: relative;
    margin-top: 5rem;
}

@media screen and (max-width: 768px) {

#environment::before {
    top: -3rem;
    background: url("../images/environment_bg_sp.svg") no-repeat center top / 100%;
    border-radius: 3rem 3rem 0 0;
}
#environment::after {
    bottom: -3rem;
    background: url("../images/environment_bg_sp.svg") no-repeat center bottom/ 100%;
    border-radius: 0 0 3rem 3rem;
}

#environment .inner {
    max-width: 33.5rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

#environment .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 6rem;
}

#environment .layout > .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
#environment .layout > .con_1 {
    width: 100%;
}
#environment .layout > .con_1 .img_wrap {
    border-radius: 0.8rem;
}
#environment .layout > .con_2 {
    margin-top: -2rem;
    display: flex;
    flex-flow: column;
}
#environment .layout > .con_2 .img_wrap {
    width: 100%;
}
#environment .layout > .con_2 .txt_wrap  {
    width: 100%;
    padding-left: 0;
    margin-top: 1.5rem;
}

#environment .layout > .con_3 {
    width: 100%;
}
#environment .layout > .con_4 {
    width: 100%;
}
#environment .layout > .con_5 {
    width: 100%;
}
#environment .layout > .con > .img_wrap  {
    margin-top: 2rem;
}
#environment .layout > .con .txt_wrap  {
    margin-top: 1rem;
}

#environment .layout > .con .slider_wrap  {
    margin-top: 4rem;
}
}



/* #safety
----------------------------------------- */
#safety {
    position: relative;
}
#safety::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: url("../images/safety_bg.svg") no-repeat center center/ 100%;
}

#safety .inner {
    padding-top: 20rem;
    padding-bottom: 20rem;
}

#safety .inner > .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 10rem;
    margin-top: 5rem;
}
#safety .inner > .layout > .con_2 {
    width: 65rem;
}
#safety .inner > .layout > .con_2 .img_wrap {
    margin-top: 5rem;
}
#safety .inner > .layout > .con_2 .txt_wrap {
    margin-top: 2rem;
    font-family: "Noto Sans JP", sans-serif;
}

#safety .layout .layout {
    display: flex;
    flex-flow: column;
    gap: 6rem;
    margin-top: 5rem;
}
#safety .layout .layout > .con {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#safety .layout .layout > .con:nth-child(even) {
    flex-flow: row-reverse;
}
#safety .layout .layout > .con .img_wrap {
    width: calc(650/1200*100%)
}
#safety .layout .layout > .con .txt_wrap  {
    width: calc(500/1200*100%);
    padding-left: 5rem;
    font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
#safety::after {
    background: url("../images/safety_bg_sp.svg") no-repeat center top/ 100%;
}

#safety .inner {
    padding-top: 9rem;
    padding-bottom: 9rem;
}

#safety .inner > .layout {
    gap: 6rem;
    margin-top: 2rem;
}
#safety .inner > .layout > .con_2 {
    width: 100%;
}
#safety .inner > .layout > .con_2 .img_wrap {
    margin-top: 2rem;
}
#safety .inner > .layout > .con_2 .txt_wrap {
    margin-top: 1rem;
}

#safety .layout .layout {
    gap: 6rem;
    margin-top: 5rem;
}
#safety .layout .layout > .con {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#safety .layout .layout > .con:nth-child(even) {
    flex-flow: column;
}
#safety .layout .layout > .con .img_wrap {
    width: 100%;
}
#safety .layout .layout > .con .txt_wrap  {
    width: 100%;
    padding-left: 0;
    margin-top: 1rem;
}
}


/* #operation_status
----------------------------------------- */
#operation_status {
    position: relative;
    z-index: 2;
    background-color: #F5F2E9;
}
#operation_status::before {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    top: -8rem;
    left: 0;
    z-index: -1;
    background-color: #F5F2E9;
    border-radius: 8rem 8rem 0 0;
}
#operation_status::after {
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    position: absolute;
    bottom: -8rem;
    left: 0;
    z-index: -1;
    background-color: #F5F2E9;
    border-radius: 0 0 8rem 8rem;
}

#operation_status .inner {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

#operation_status .inner > .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 10rem;
    margin-top: 6rem;
}
#operation_status .inner > .layout > .con_1 {
    width: 56rem;
    display: flex;
    flex-flow: column;
}
#operation_status .inner > .layout > .con_1 .bnr_wrap {
    margin-top: 5rem;
}
#operation_status .inner > .layout > .con_1 .txt_wrap {
    margin-top: 2rem;
    font-family: "Noto Sans JP", sans-serif;
}
#operation_status .inner > .layout > .con_1 .txt_wrap .att {
    font-size: 1.4rem;
}
#operation_status .inner > .layout > .con_1 .txt_wrap .org {
    font-weight: bold;
    color: #f17938;
}

@media screen and (max-width: 768px) {
#operation_status::before {
    top: -3rem;
    border-radius: 3rem 3rem 0 0;
}
#operation_status::after {
    bottom: -3rem;
    border-radius: 0 0 3rem 3rem;
}

#operation_status .inner {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

#operation_status .inner > .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 10rem;
    margin-top: 4rem;
}
#operation_status .inner > .layout > .con_1 {
    width: 100%;
    display: flex;
    flex-flow: column;
}
#operation_status .inner > .layout > .con_1 .bnr_wrap {
    margin-top: 2rem;
}
#operation_status .inner > .layout > .con_1 .txt_wrap {
    margin-top: 1rem;
}
#operation_status .inner > .layout > .con_1 .txt_wrap .att {
    font-size: 1.2rem;
}
}


/* #relation
----------------------------------------- */
#relation {
    position: relative;
}

#relation .inner {
    padding-top: 20rem;
    padding-bottom: 12rem;
}

#relation .inner > .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 10rem;
    margin-top: 6rem;
}
#relation .inner > .layout > .con {
    width: 65rem;
    display: flex;
    flex-flow: column;
}
#relation .inner > .layout > .con .bnr_wrap {
    margin-top: 5rem;
}
#relation .inner > .layout > .con .img_wrap {
    margin-top: 5rem;
}
#relation .inner > .layout > .con .txt_wrap {
    margin-top: 2rem;
    font-family: "Noto Sans JP", sans-serif;
}
#relation .inner > .layout > .con .txt_wrap .att {
    font-size: 1.4rem;
}

#relation .inner > .layout > .con .shop_btn_layout {
    width: 56rem;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 3rem;
    margin: auto;
    margin-top: 5rem;
}

#relation .inner > .layout > .con_2 {
    width: 56rem;
}


@media screen and (max-width: 768px) {
#relation .inner {
    padding-top: 9rem;
    padding-bottom: 6rem;
}

#relation .inner > .layout {
    gap: 6rem;
    margin-top: 6rem;
}
#relation .inner > .layout > .con {
    width: 100%;
}
#relation .inner > .layout > .con .bnr_wrap {
    margin-top: 2rem;
}
#relation .inner > .layout > .con .img_wrap {
    margin-top: 2rem;
}
#relation .inner > .layout > .con .txt_wrap {
    margin-top: 1rem;
}
#relation .inner > .layout > .con .txt_wrap .att {
    font-size: 1.2rem;
}

#relation .inner > .layout > .con .shop_btn_layout {
    width: 100%;
    column-gap: 1.5rem;
    margin: auto;
    margin-top: 3rem;
}

#relation .inner > .layout > .con_2 {
    width: 100%;
}
}


/* .slider_wrap
----------------------------------------- */
.img_slider {
	width: 100%;
    overflow: hidden;
}
.img_slider .swiper-wrapper,
.img_slider .swiper-slide,
.img_slider .swiper-slide .img_wrap {
	width: 100%;
}
.img_slider .swiper-slide {
	width: 65rem;
}
.img_slider .swiper-slide .img_wrap img {
    width: 100%;
    aspect-ratio: 650 / 433;
    object-fit: cover;
}

.slider_wrap .swiper-button-next {
    display: flex;
    top: 21.65rem;
    right: calc(50% - 33.5rem);
    width: 6rem;
    height: 6rem;
    transform: translate(100%,0);
}
.slider_wrap .swiper-button-prev {
    display: flex;
    top: 21.65rem;
    left: calc(50% - 33.5rem);
    width: 6rem;
    height: 6rem;
    transform: translate(-100%,0);
}
.slider_wrap .swiper-button-next svg {
    width: 100%;
}
.slider_wrap .swiper-button-prev svg {
    width: 100%;
}
.slider_wrap .swiper-button #arrow_icon .a {
    fill:rgba(255,255,255,0);
}
.slider_wrap .swiper-button #arrow_icon .a,
.slider_wrap .swiper-button #arrow_icon .b,
.slider_wrap .swiper-button #arrow_icon .c {
    transition: all .6s;
}

.swiper-button-prev:hover #arrow_icon .a,
.swiper-button-next:hover #arrow_icon .a {
    fill:#08872b;
}
.swiper-button-prev:hover #arrow_icon .c,
.swiper-button-next:hover #arrow_icon .c {
    fill:#FFFFFF;
}

.slider_wrap .swiper-button-next::after {
    display: none;
}
.slider_wrap .swiper-button-prev::after {
    display: none;
}

#type700 .slider_wrap .img_slider .pagination {
    width: 65rem;
    position: absolute;
    top: -1rem;
    bottom: auto;
    left: 50%;
    transform: translate(-50%,-100%);
    font-family: "Noto Sans JP", sans-serif;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#type700 .slider_wrap .img_slider .pagination .swiper-pagination-current {
    font-weight: 700;
    color: #08872B;
}
#type700 .slider_wrap .img_slider .pagination .swiper-pagination-total {
    
}
#type700 .slider_wrap .img_slider .pagination .slash {
    font-size: 1.2rem;
    margin: 0 1rem;
}


@media screen and (max-width: 768px) {

.img_slider .swiper-slide {
	width: 100%;
}
.img_slider .swiper-slide .img_wrap img {
    aspect-ratio: 335 / 223;
}

.slider_wrap .swiper-button-next {
    display: flex;
    top: 11.15rem;
    right: 4rem;
    width: 4.8rem;
    height: 4.8rem;
    transform: translate(100%,0);
}
.slider_wrap .swiper-button-prev {
    display: flex;
    top: 11.15rem;
    left: 4rem;
    width: 4.8rem;
    height: 4.8rem;
    transform: translate(-100%,0);
}

.slider_wrap .swiper-button #arrow_icon .a {
    fill:rgba(255,255,255,0.6);
}
.slider_wrap .swiper-button #arrow_icon .a,
.slider_wrap .swiper-button #arrow_icon .b,
.slider_wrap .swiper-button #arrow_icon .c {
    transition: all .6s;
}

.swiper-button-prev:hover #arrow_icon .a,
.swiper-button-next:hover #arrow_icon .a {
    fill:#08872b;
}
.swiper-button-prev:hover #arrow_icon .c,
.swiper-button-next:hover #arrow_icon .c {
    fill:#FFFFFF;
}

#type700 .slider_wrap .img_slider .pagination {
    width: 100%;
    position: absolute;
    top: -1rem;
    bottom: auto;
    left: 50%;
    transform: translate(-50%,-100%);
    font-family: "Noto Sans JP", sans-serif;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#type700 .slider_wrap .img_slider .pagination .slash {
    font-size: 1.0rem;
    margin: 0 1rem;
}
}


/* footer
----------------------------------------- */
#footer {
    color: #FFFFFF;
    background-color: #444444;
    border-radius: 8rem 8rem 0 0;
}
#footer .inner {
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    padding-top: 5em;
    padding-bottom: 5rem;
    position: relative;
    z-index: 3;
}

#footer #page_top {
    position: fixed;
    bottom: 2rem;
    right: 5.5rem;
    z-index: 10;
    opacity: 0;
    pointer-events: none;
    transition: all .6s;
}
body.is_show #footer #page_top {
    opacity: 1;
    pointer-events: inherit;
}
#footer #page_top a {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 0.3rem;
}
#footer #page_top a:hover {
    opacity: 1;
}
body.is_show #footer #page_top .train {
    transition: all .3s;
}
body.is_show #footer #page_top:hover .train {
    transform: translateY(-5px);
}

#footer .footer_layout {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
#footer .footer_layout .info {
}
#footer .footer_layout .info .logo {
    width: 15.9rem;
}
#footer .footer_layout .info .txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    letter-spacing: 0.01em;
    line-height: 1;
    font-weight: bold;
}
#footer .footer_layout .copy-right {
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    line-height: calc(17/12);
    font-weight: 400;
}

@media screen and (max-width: 768px) {
#footer {
    border-radius: 3rem 3rem 0 0;
}
#footer .inner {
    max-width: 33.5rem;
    margin: auto;
    padding-top: 3em;
    padding-bottom: 1rem;
}

#footer #page_top {
    width: 3.5rem;
    bottom: 1rem;
    right: 2rem;
}
body.is_show #footer #page_top {
    opacity: 1;
    pointer-events: inherit;
}
#footer #page_top a {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 0.15rem;
}
#footer #page_top a img {
    width: 100%;
    height: auto;
}

#footer .footer_layout {
    flex-flow: column;
    align-items: flex-start;
    gap: 5rem;
}
#footer .footer_layout .info .logo {
    width: 9.1rem;
}

#footer .footer_layout .copy-right {
    font-size: 1.2rem;
    font-weight: 400;
}
}


/*アニメーション*/
.anim {
  opacity: 0;
	-ms-filter: blur(1rem);
      filter: blur(1rem);
  transform: translateY(4rem);
  -webkit-transition: opacity 1.5s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.33, 1, 0.68, 1) 0.3s;
  -moz-transition: opacity 1.5s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, -moz-transform 1.5s cubic-bezier(0.33, 1, 0.68, 1) 0.3s;
  transition: opacity 1.5s cubic-bezier(0.5, 1, 0.89, 1) 0.3s, transform 1.5s cubic-bezier(0.33, 1, 0.68, 1) 0.3s;
}
.anim._do_anim {
  opacity: 1;
  filter: none;
  transform: none !important;
}
@media print {
  .anim {
    opacity: 1;
    transform: none;
	filter: none;
  }
}
