@charset "utf-8";
/*-----------
▽PC-CSS↓↓▽
-----------*/
*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}

em {
	font-style: normal;
	font-weight: 700;
}

ul, ol {
	list-style: none;
}

img {
	max-width: 100%;
	width: 100%;
	height: auto;
	text-decoration: none;
}


/*block*/
.block_pc{
	display: block;
}
.block_tb_sp{
    display: none;
}
.block_tb{
    display: none;
}
.block_sp{
    display: none;
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
/*tb display:block*/
.block_pc{
    display: none;
}
.block_tb_sp{
    display: block;
}
.block_tb{
    display: block;
}
.block_sp{
    display: none;
}
}
/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
/*sp display:block*/
.block_pc_tb{
    display: none;
}
.block_tb{
    display: none;
}
.block_sp{
    display: block;
}
}

/*-----------
content
-------------*/
body {
	font-size: 100%;
	color: #000;
	font-family:  "Noto Sans", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	-webkit-text-size-adjust: 100%;
	position: relative;
	background: #fff;
	font-optical-sizing: auto;
	overflow-x: hidden;
}


/*----------
 header
------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 0px; /*topのanimetion用*/
	z-index: 300;
	background: rgba(255, 255, 255, 0);
    background: linear-gradient( 90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 100%);
	transition: 
	height 0.5s ease,
	background 0.5s ease;
}

header.clone-nav {
	height: 70px;
	background: linear-gradient( 90deg, rgba(0, 64, 151, 1) 0%, rgba(0, 91, 171, 1) 30%, rgba(0, 152, 68, 1) 70%, rgba(0, 152, 68, 1) 100% );
	transition: 
	height 0.5s ease,
	background 0.5s ease;
}

.header_inner {
	position: relative;
	width: 100%;
	height: 100%;
    z-index: 200;
}

.top_header_logo {
	position: absolute;
	top: 0;
	left: calc( 50% - 440px / 2 );
	width: 440px;
	height: 90px;
	margin: 0 auto;
}
.top_header_logo a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.clone_top_header_logo {
	position: absolute;
	top: 0;
	left: 30px;
	width: 358px;
	height: 100%;
	margin: 0;
}
.clone_top_header_logo a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
    transform: translateY(-100px);
}
.top_header_logo a img,
.clone_top_header_logo a img  {
	display: block;
	position: absolute;
	height: auto;
	pointer-events: none;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.top_header_logo a img {
	top: 50%;
	left: 0;
	width: 100%;
	transform: translate3d(-50%, -50%, 0);
	transform: translate3d(0, -50%, 0);
	opacity: 1;
	visibility: visible;
	transition: opacity 0.25s ease;
}
.clone_top_header_logo a img{
	top: 50%;
	left: 0;
	width: 100%;
	transform: translate3d(0, -50%, 0);
	opacity: 0;
	visibility: visible;
	transition: opacity 0.25s ease;
}

header.clone-nav .top_header_logo {
	opacity: 0;
	transform: translateY(-100px);
}
header.clone-nav .clone_top_header_logo a{
	transition: opacity 0.25s ease;
    transform: translateY(0);
}
header.clone-nav .clone_top_header_logo a img{
	opacity: 1;
	transition: opacity 0.25s ease;
}

/*-------
nav_open
--------*/
.icon-animation{
	display: flex;
	width: 50px;
	height: 50px;
	background: #fff;
	border-radius: 50px;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 500;
	cursor: pointer;
	justify-content: center;
	align-items: center;
	text-align: center;
	transition: all 0.5s ease 0s;
}
.clone-nav .icon-animation{
	width: 50px;
	height: 50px;
	top: 10px;
	right: 10px;
	transition: all 0.5s ease 0s;
}
.icon-animation:hover{
	background: #0059a6;
	transition: all 0.3s;
}
.icon-animation .nav_bar_inner{
	margin: auto 0 0;
}
.icon-animation .nav_bar{
	display: block;
	width: 20px;
	height: 2px;
	background: #0059a6;
	position: absolute;
	top: 48%;
	left: 60%;
	margin-left: -15px;
}
.icon-animation:hover .nav_bar{
	background: #fff;
}
.nav_open .nav_bar{
	transition: all 0.2s;
}

.nav_open .top {
	transform: translateY(-5px);
}
.nav_open .bottom {
	transform: translateY(5px);
}
.icon-animation.nav_close{
	background: #fff;
}
.icon-animation.nav_close:hover{
	background: #0059a6;
}
.icon-animation.nav_close .nav_bar{
	background: #0059a6;
}
.icon-animation.nav_close:hover .nav_bar{
	background: #fff;
}

.nav_open.nav_close .top {
	transform: rotate(-45deg) translateY(0px);
  }
.nav_open.nav_close .bottom {
	transform: rotate(45deg) translateY(0px);
}

/* menu_area */
.menu_area{
	display: block;
    width: 300px;
    height: 100vh;
	height: 100dvh;       
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: linear-gradient( 90deg, rgba(0, 152, 68, 1) 0%, rgba(0, 152, 68, 1) 100% );
    position: fixed;
    top: 0;
    right: 0;
    z-index: 400;
    opacity: 0;
    transform: translateX(100%);
    transition: 0.4s ease-in;
}
.nav_active .menu_area{
    opacity: 1;
    transform: translateX(0);
    transition: 0.4s ease-in-out;
}
.menu_bg{
	display: block;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    background: linear-gradient( 90deg, rgba(0, 64, 151, 0.4) 0%, rgba(0, 91, 171, 0.4) 30%, rgba(0, 152, 68, 0.4) 70%, rgba(0, 152, 68, 0.4) 100% );
    position: fixed;
    top: 0;
    right: 0;
    z-index: 300;
    opacity: 0;
    transform: translateX(100%);
    transition: 0.4s ease-in-out;
    cursor: pointer;
}
.nav_active .menu_bg{
    opacity: 1;
    transform: translateX(0);
    transition: 0.4s ease-in-out;
}

.menu_box{
    width: 100%;
    padding: 120px 40px 100px;
}
.menu_area_logo{
    display: none;
}
.menu_box01 li{
    width: 100%;
    height: 60px;
    border-bottom: 1px solid #fff;
}
.menu_box01 li a{
    width: 100%;
    height: 100%;
    line-height: 1em;
    color: #fff;
    font-size: 0.875em;
	font-weight: 700;
	font-style: normal;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    display: flex;
	align-items: center;
    padding: 25px 0 12px;
    transition: all 0.5s;
}
.menu_box01 li a:hover{
    color: #c39f35;
	color: #013c70;
    transition: all 0.3s;
}

.menu_box_logo{
    width: 120px;
    padding: 50px 0 0;
    margin: 0 auto;
}
.menu_box_logo a{
    width: 100%;
    display: block;
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
.top_header_logo {
    left: 20px;
    width: 148px;
}
.clone_top_header_logo {
	left: 20px;
	width: 148px;
}
.menu_area {
    z-index: 300;
}
.menu_bg{
    z-index: 250;
}
.menu_area_logo{
    position: absolute;
    top: 20px;
    left: 20px;
    width: 148px;
    height: 60px;
    display: block;
}
.icon-animation:hover,
.icon-animation.nav_close:hover{
	background: #fff;
}
.icon-animation:hover .nav_bar,
.icon-animation.nav_close:hover .nav_bar{
	background: #333;
}
}
/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
header.clone-nav {
    height: 60px;
}
.icon-animation,
.clone-nav .icon-animation{
    top: 5px;
    right: 10px;
}
.top_header_logo {
    left: 12px;
    height: 60px;
}
.clone_top_header_logo{
    left: 12px;
}
.menu_area {
    width: 100%;
}
.menu_area_logo{
    top: 12px;
    left: 12px;
}
}

/*----------
 kasou header
------------*/
.kasou header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	z-index: 300;
	background: linear-gradient( 90deg, rgba(0, 64, 151, 1) 0%, rgba(0, 91, 171, 1) 30%, rgba(0, 152, 68, 1) 70%, rgba(0, 152, 68, 1) 100% );
	transition: 
	height 0.5s ease,
	background 0.5s ease;
}
.kasou header.clone-nav {
	height: 70px;
	background: linear-gradient( 90deg, rgba(0, 64, 151, 1) 0%, rgba(0, 91, 171, 1) 30%, rgba(0, 152, 68, 1) 70%, rgba(0, 152, 68, 1) 100% );
	transition: 
	height 0.5s ease,
	background 0.5s ease;
}
.kasou .header_inner {
	position: relative;
	width: 100%;
	height: 100%;
    z-index: 200;
}
.kasou .top_header_logo {
	position: absolute;
	top: 0;
	left: 30px;
	width: 440px;
	height: 100%;
	margin: 0 auto;
	transition: width 0.5s ease;
}
.kasou .top_header_logo a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.kasou .clone-nav .top_header_logo{
    width: 358px;
	transition: width 0.5s ease;
}
.kasou .top_header_logo a img {
	display: block;
	position: absolute;
	height: auto;
	pointer-events: none;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.kasou .top_header_logo a img {
	top: 50%;
	left: 0;
	width: 100%;
	transform: translate3d(-50%, -50%, 0);
	transform: translate3d(0, -50%, 0);
	opacity: 1;
	visibility: visible;
	transition: opacity 0.25s ease;
}
.kasou header.clone-nav .top_header_logo {
	opacity: 1;
	transform: translateY(0px);
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
.kasou .top_header_logo {
    left: 20px;
    width: 148px;
}
.kasou header.clone-nav .top_header_logo {
    left: 20px;
    width: 148px;
}
}
/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
.kasou header {
    height: 60px;
}
.kasou header.clone-nav {
    height: 60px;
}

.kasou .top_header_logo {
    left: 12px;
    height: 60px;
}
.kasou header.clone-nav .top_header_logo{
    left: 12px;
}
}

/*-----------
 go_top 
 -----------*/
.go_top{
	width: 37px;
	margin: 0 auto;
}
.go_top a{
	width: 100%;
	transition: opacity 0.5s ease;
}
.go_top a:hover{
	opacity: 0.7;
	transition: opacity 0.3s ease;
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
.go_top {
	width: 50px;
	padding: 0 0 50px;
}
}
/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
.go_top {
    padding: 0 0 30px;
}
}

/*-----------
footer
-----------*/
footer{
	width: 100%;
	padding: 22px 0 0;
	--f-accent: #0059a6;
	--f-arw: #000;          /* 通常時の矢印色 */
	--f-arw-hover: #fff;

}
.footer_inner{
	width: 644px;
	margin: 0 auto;
}
.footer_nav_box{
	width: 100%;
}
.footer_inner ul{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footer_inner ul li{
	width: 292px;
	height: 37px;
	border-bottom: 1px dotted #000;
}
.footer_inner ul li a{
	width: 100%;
	height: 100%;
	line-height: 37px;
    color: #000;
    font-size: 0.875em;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
	padding: 0 9px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.footer_inner ul li a span{
	position: relative;
	z-index: 2;
}
.footer_inner ul li a span .arw{
	width: 5px;
	height: auto;
	display: block;
	position: relative;
	z-index: 2;
	overflow: visible;
	color: var(--f-arw);
	transition: color .3s ease;
}
.footer_inner ul li a span .arw polyline{
	fill: none;
	stroke: currentColor;
	stroke-width: .65;
	stroke-miterlimit: 10;
}

/* line-animation */
.footer_inner ul li a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 2px;
	background: var(--f-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
}
.footer_inner ul li a:hover::after{
	transform: scaleX(1);
}

/* 矢印-animation */
.footer_inner ul li a span::before{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--f-accent);
	transform: translate(-50%, -50%) scale(0);
	transition: transform .3s ease .08s;
	z-index: 1;
}
.footer_inner ul li a:hover span::before{
	transform: translate(-50%, -50%) scale(1);
}
.footer_inner ul li a:hover span .arw{
	color: var(--f-arw-hover);
}

.footer_logo_nisyo a{
	width: 242px;
	margin: 0 auto;
	display: block;
	padding: 34px 0 37px;
}
.copy{
	width: 100%;
	height: 74px;
	background: #e3e3e3;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 5%;
}
small{
    font-size: 0.625em;
	line-height: 1.3em;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
footer{
	background: #e3e3e3;
}
.footer_inner {
	width: 80%;
}
.footer_inner ul li{
	width: 100%;
	height: 45px;
}
.footer_logo_nisyo a{
	padding: 34px 0 0;
}
}
/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
.footer_inner {
    width: 84%;
  }
}


/*---------------
cont_btn
-----------------*/
.cont_btn{
    display: flex;
    justify-content: center;
    align-items: center;
}
.cont_btn a{
    color: #fff;
    font-size: 0.9375em;
    line-height: 1.3em;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
    padding: 0 30px 0 25px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff;
    text-align: center;
    position: relative;
}
.cont_btn span{
    width: 6px;
    position: absolute;
    top: calc( 50% - 10px / 2 );
    right: 13px;
	z-index: 2;
}
.cont_btn span .arw{
    display: block;
    width: 6px;
    height: auto;
    position: relative;
    z-index: 2;
    overflow: visible;
    color: var(--arw);
    transition: color .3s ease, transform .3s ease;
}
.cont_btn span .arw polyline{
    fill: none;
    stroke: currentColor;
    stroke-width: .65;
    stroke-miterlimit: 10;
}

/*
cont_future_inner02
*/
.cont_future_inner02 .cont_btn{
    --fu-fill: #fff;
    --fu-arw: transparent;
    --fu-arw-hover: #1c0144;
}
.cont_future_inner02 .cont_btn a{
    color: #fff;
    border: 1px solid #fff;
    overflow: hidden;
    z-index: 0;
    transition: color .35s ease;
}
.cont_future_inner02 .cont_btn a::before{
    content: "";
    position: absolute;
    inset: 0;
    background: var(--fu-fill);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .4s cubic-bezier(.4,0,.2,1);
    z-index: -1;
}
.cont_future_inner02 .cont_btn a:hover{
    color: #1c0144; 
}
.cont_future_inner02 .cont_btn a:hover::before{
    transform: scaleX(1);
    transform-origin: left center;
}
/* 矢印 色変更＋右へスライド */
.cont_future_inner02 .cont_btn a:hover span .arw{
    color: var(--fu-arw-hover);
}

/*
 cont_btn_blue
 */
.cont_btn_blue{
	--blue-fill: #fff;
    --blue-arw: #0059a6;
    --blue-arw-hover: #0059a6;
}
.cont_btn_blue a{
    color: #fff;
	border: 1px solid #0059a6;
    overflow: hidden;
    z-index: 0;
    transition: color .35s ease;
}
.cont_btn_blue span{
    width: 6px;
    top: calc( 50% - 10px / 2 );
}
.cont_btn_blue a::before{
    content: "";
    position: absolute;
    inset: 0;
    background: var(--blue-fill);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .4s cubic-bezier(.4,0,.2,1);
    z-index: -1;
}
.cont_btn.cont_btn_blue a:hover{
    color: #0059a6;
}
.cont_btn_blue a:hover::before{
    transform: scaleX(1);
    transform-origin: left center;
}
/* 矢印 色変更＋右へスライド */
.cont_btn_blue a:hover span .arw{
    color: var(--blue-arw-hover);
}


/*
history_btn
*/
.history_btn{
    width: 224px;
	--his-fill: #0059a6;
    --his-arw: #000;
    --his-arw-hover: #fff;
}
.history_btn a{
    width: 100%;
	height: 44px;
    background: #fff;
    color: #000;
    font-size: 0.85375em;
    line-height: 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.18em;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
	overflow: hidden;
    z-index: 0;
    transition: color .35s ease;
}
.history_btn span{
    position: absolute;
    top: calc( 50% - 12px / 2 );
    right: 20px;
    width: 7px;
	z-index: 2;
}
.history_btn span .arw{
    display: block;
    width: 6px;
    height: auto;
    position: relative;
    z-index: 2;
    overflow: visible;
    color: var(--his-arw);
    transition: color .3s ease, transform .3s ease;
}
.history_btn span .arw polyline{
    fill: none;
    stroke: currentColor;
    stroke-width: .65;
    stroke-miterlimit: 10;
}

.history_btn a::before{
    content: "";
    position: absolute;
    inset: 0;
    background: var(--his-fill);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .4s cubic-bezier(.4,0,.2,1);
	height: 100%;
    z-index: -1;
}
.history_btn a:hover{
    color: #fff;
}
.history_btn a:hover::before{
    transform: scaleX(1);
    transform-origin: left center;
}
/* 矢印 色変更＋右へスライド */
.history_btn a:hover span .arw{
    color: var(--his-arw-hover);
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
.history_btn span {
	right: 15px;
}
.history_btn {
    width: 100%;
    display: flex;
    justify-content: center;
}
.history_btn01 {
    padding: 0 0 30px;
}
.history_btn a {
    width: 200px;
}
}

/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
.cont_btn a{
	width: 300px;
}
.cont_btn span {
	width: 8px;
	top: calc( 50% - 14.5px / 2 );
	right: 10px;
}
.history_btn01 {
	padding: 0 0 20px;
}
.history_btn a{
	font-size: 0.75em; 
}
.history_btn_box.history_btn_box_sp{
	padding: 30px 0; 
}
}
/*-----------------------------440px-----*/
@media screen and (max-width: 440px) {
.cont_btn a{
	width: 100%;
	font-size: 0.75em;
	line-height: 1.35em;
}
}

/*
bokin_inner a .yajirusi_btn
*/
.bokin_inner a .yajirusi_btn{
    width:  100%;
    display: flex;
    justify-content: flex-end;
    --bokin-accent: #fff;
	--bokin-arw: #fff;
	--bokin-arw-hover: #0059a6;
}
.bokin_inner a .yajirusi_btn .ya_a {
    font-size: 0.75em;
    color: #fff;
    line-height: 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.18em;
    display: flex;
    justify-content: flex-end;
	align-items: center;
    padding: 16px 0;
    position: relative;
}
.bokin_inner a .yajirusi_btn .ya_a .svg_inner{
    position: relative;
	z-index: 2;
}
.bokin_inner a .yajirusi_btn .ya_a .svg_inner .arw{
	width: 6px;
	height: auto;
	display: block;
    margin: 0 0 0 13px;
	position: relative;
	z-index: 2;
	overflow: visible;
	color: var(--bokin-arw);
	transition: color .3s ease;
}
.bokin_inner a .yajirusi_btn .ya_a .svg_inner .arw polyline{
	fill: none;
	stroke: currentColor; 
	stroke-width: .65;
	stroke-miterlimit: 10;
}
.bokin_inner a .yajirusi_btn .ya_a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 5px;
	width: 100%;
	height: 1px;
	background: var(--bokin-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
}
.bokin_inner a:hover .yajirusi_btn .ya_a::after{
	transform: scaleX(1);
}
.bokin_inner a .yajirusi_btn .ya_a .svg_inner::before{
	content: "";
	position: absolute;
	left: calc( 50% + 6px );
	top: 50%;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--bokin-accent);
	transform: translate(-50%, -50%) scale(0);
	transition: transform .3s ease .08s;
	z-index: 1;
}
.bokin_inner a:hover .yajirusi_btn .ya_a .svg_inner::before{
	transform: translate(-50%, -50%) scale(1);
}
.bokin_inner a:hover .yajirusi_btn .ya_a .svg_inner .arw{
	color: var(--bokin-arw-hover);
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
.bokin_inner a .yajirusi_btn{
	justify-content: center;
}
.bokin_inner a .yajirusi_btn .ya_a .svg_inner .arw{
	padding: 2px 0 0;
}
}
/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
	.bokin_inner a .yajirusi_btn{
	justify-content: center;
}
}


/*
yajirusi_btn_en
*/
.yajirusi_btn_en{
    width:  100%;
    display: flex;
    justify-content: flex-start;
    --bokin-accent: #fff;
	--bokin-arw: #fff;
	--bokin-arw-hover: #0059a6;
}
.yajirusi_btn_en a {
	font-family: "EB Garamond", serif;
    font-size: 0.9375em;
    color: #fff;
    line-height: 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.18em;
    display: flex;
    justify-content: flex-end;
	align-items: center;
    padding: 16px 0;
    position: relative;
}
.yajirusi_btn_en a span{
    position: relative;
	z-index: 2;
}
.yajirusi_btn_en a span .arw{
	width: 6px;
	height: auto;
	display: block;
    margin: 0 0 0 13px;
	padding: 2px 0 0;
	position: relative;
	z-index: 2;
	overflow: visible;
	color: var(--bokin-arw);
	transition: color .3s ease;
}
.yajirusi_btn_en a span .arw polyline{
	fill: none;
	stroke: currentColor;
	stroke-width: .65;
	stroke-miterlimit: 10;
}

/*
line animation
*/
.yajirusi_btn_en a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 5px;
	width: 100%;
	height: 1px;
	background: var(--bokin-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
}
.yajirusi_btn_en a:hover::after{
	transform: scaleX(1);
}

/* 矢印 animation */
.yajirusi_btn_en a span::before{
	content: "";
	position: absolute;
	left: calc( 50% + 6px );
	top: 50%;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--bokin-accent);
	transform: translate(-50%, -50%) scale(0);
	transition: transform .3s ease .08s;
	z-index: 1;
}
.yajirusi_btn_en a:hover span::before{
	transform: translate(-50%, -50%) scale(1);
}
.yajirusi_btn_en a:hover span .arw{
	color: var(--bokin-arw-hover);
}
/*-----------------------------840px-----*/
@media screen and (max-width: 840px) {
.yajirusi_btn_en a span .arw{
padding: 2px 0 0;
}
}
/*-----------------------------640px-----*/
@media screen and (max-width: 640px) {
.yajirusi_btn_en a{
	font-size: 1em;
}
}

/*
yajirusi_btn_bw
*/
.yajirusi_btn_bw{
    --bw-accent: #0059a6;
	--bw-arw: #000;
	--bw-arw-hover: #fff;
    display: flex;
	align-items: center;
	justify-content: space-between;
}
.yajirusi_btn_bw a{
    font-family: "EB Garamond", serif;
    font-size: 0.9375em;
    letter-spacing: 0.095em;
    line-height: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #000;
    opacity: 1;
    position: relative;
    padding: 10px 0 0;
}
.yajirusi_btn_bw a span{
    position: relative;
	z-index: 2;
}
.yajirusi_btn_bw span .arw{
	width: 5px;
	height: auto;
	display: block;
	position: relative;
	z-index: 2;
	overflow: visible;
	color: var(--bw-arw); 
	transition: color .3s ease;
    margin: 0 0 0 13px;
    padding: 3px 0 0;
}
.yajirusi_btn_bw a span .arw polyline{
	fill: none;
	stroke: currentColor;
	stroke-width: .65;
	stroke-miterlimit: 10;
}
/* line animation */
.yajirusi_btn_bw a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 8px;
    bottom: -12px;
	width: 100%;
	height: 1px;
	background: var(--bw-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
}
.yajirusi_btn_bw a:hover::after{
	transform: scaleX(1);
} 
/* 矢印 animation */
.yajirusi_btn_bw a span::before{
	content: "";
	position: absolute;
	left: calc( 50% + 5px );
    top: calc( 50% + 2px );
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--bw-accent);
	transform: translate(-50%, -50%) scale(0);
	transition: transform .3s ease .08s;
	z-index: 1;
}
.yajirusi_btn_bw a:hover span::before{
	transform: translate(-50%, -50%) scale(1);
}
.yajirusi_btn_bw a:hover span .arw{
	color: var(--bw-arw-hover);
}

/*---------------------------
animation
----------------------------*/
/*------------
遅れて出てくるスクロールアニメーション 
js-event
-------------*/
/* blur */
.scrEventYG {
    opacity: 0;
    transform: translateY(0px);
	filter: blur(20px);
}
.startYG {
	opacity: 1;
    transform: translate(0, 0);
    filter: blur(0);
    transition:
    opacity 1s ease-out,
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    filter 2.5s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
}
/* blur btn */
.scrEventYG-btn {
    opacity: 0;
    transform: translateY(0px);
	filter: blur(20px);
}
.startYG-btn {
	opacity: 1;
    transform: translate(0, 0);
    filter: blur(0);
    transition:
    opacity 1s ease-out,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    filter 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}


.scrEventY {
    opacity: 0;
    transform: translateY(50px);
}
.scrEventY2 {
    opacity: 0;
    transform: translateY(-50px);
}

/* 発火後（全クラス共通） */
.startY, .startX {
    opacity: 1;
    transform: translate(0, 0);
	transition: opacity 0.8s ease-in, transform 0.8s ease;
}


/* js pararax */
.para {
	will-change: transform;
	display: inline-block;
}

/* css 遅れて出てくるanime */
.para .inner { display: block; width: 100%; height: auto; }

.para[data-reveal="true"] .inner {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.1s ease-in, transform 1.5s cubic-bezier(.22,.61,.36,1) .15s;
  will-change: transform, opacity;
}

.para[data-reveal="true"].is-in .inner {
  opacity: 1;
  transform: translateY(0);
}

/* no-anime*/
@media (prefers-reduced-motion: reduce) {
  .para .inner {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
