@charset "UTF-8";
/* CSS Document */

/*
			セクション間余白
----------------------------------------------------------- */
section {
	padding: 120px 0;
}

/*
			色関連
----------------------------------------------------------- */
.color_wt {color: #fff;}
.color_01 {color: #49a2c3;}
.color_02 {color: #231815;}
.bg_01 {background-color: #daf2fd;}
.bg_02 {background-color: #49a2c3;}
/*
			リンク色
----------------------------------------------------------- */
a:link,a:visited {color: inherit;}

/*
			Page Top
----------------------------------------------------------- */
.pagetop a {
	background-color: #153aa1;
	filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.3));
}

/*
			OTHER
----------------------------------------------------------- */
.sec-bg {
	background: linear-gradient(-270deg, #3f88af, #6cb6d0, #3f88af);
}
.sec-head_en {
	font-size: 60px;
	opacity: .3;
}
.sec_srl {
	padding-top: 53px;
	margin-top: -53px;
}
/*
			CTA
----------------------------------------------------------- */
.cta {
	background: url(../img/sec07_bg.png) no-repeat center center / cover;
}
.cta_wrap {
	width: 55%;
	margin-left: auto;
}
.cta h2 {
	font-size: 40px;
	text-align: left;
}
.cta h2:not(:first-of-type) {
	background-color: #fff;
	width: fit-content;
	padding-inline: 5px;
}
/*
			CTA 02
----------------------------------------------------------- */
.cta_02 {
	background: url(../img/sec09_bg.png) no-repeat center center / cover;
}
.cta_02 .cta_wrap {
	width: 55%;
	margin-left: unset;
}
.cta h2 {
	font-size: 40px;
	text-align: left;
}
.cta_02 h2:not(:first-of-type) {
    background-color: unset;
}
.cta_02 h2:nth-child(odd) {
	background-color: #fff;
}


/*
			HEADER
----------------------------------------------------------- */
header {
	height: 53px;
	background-color: #fff;
	position: fixed;
	width: 100%;
	z-index: 99999;
	top: 0;
	left: 0;
}
header::after {
	content: '';
	position: absolute;
	background-color: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(5px);
	width: 100vw;
	height: 100vh;
	z-index: -1;
	top: 53px;
	left: 0;
	transform: translateX(120%);
	transition: all .4s ease 0s;
}
header.is-open::after {
	transform: translateX(0);
}
header .container,
.header_inner {
	height: 100%;
}
.header_inner,
.header_menu li a {
	display: flex;
	align-items: center;
}
.header_inner {
	justify-content: space-between;
}
.header_logo {
	width: 143px;
}
.header_menu {
	display: flex;
	align-items: center;
	gap: 30px;
	font-size: 13px;
}
.header_menu a {
	gap: 10px;
	font-size: 13px;
}
.header_drawers {
	position: relative;
	width: 21px;
	height: 10px;
}
.header_drawers span {
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #333333;
	transition: all .4s ease 0s;
}
.header_drawers span:nth-child(1) {
	top: 0;
}
.header_drawers span:nth-child(2) {
	top: 8px;
}
.header_drawers.is-open span {
	top: 50%;
}
.header_drawers.is-open span:nth-child(1) {
	transform: rotate(20deg) translateY(-50%);
}
.header_drawers.is-open span:nth-child(2) {
	transform: rotate(-20deg) translateY(-50%);
}
.header_menu_links {
	transform: translateX(105%);
	position: absolute;
	width: 45vw;
	height: 100vh;
	background-color: #fff;
	top: 53px;
	right: calc((100vw - 930px) / -2);
	padding: 75px 30px 60px;
	z-index: 1;
	transition: transform .4s ease 0s;
}
.header_menu_links.is-open {
	transform: translateX(0);
}
.header_menu_links li:not(:first-of-type) {
	margin-top: 10px;
}
.header_menu_links a {
	padding-block: 15px;
	font-size: 16px;
}

.note-mark {
	vertical-align: super;
}
/* .header_menu_icons {
	display: flex;
	align-items: center;
	gap: 30px;
}
.header_menu_icons a {
	padding-block: 0;
}
.header_menu_icons i {
	color: #000;
	font-size: 23px;
} */
/*
			FV
----------------------------------------------------------- */
.fv {
	margin-top: 53px;
	background: url(../img/pc_fv_bg.png) no-repeat center center / cover;
	color: #fff;
}
.fv_scroll {
	position: relative;
	width: 82px;
	height: 82px;
	border: 1px solid #fff;
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fv_scroll::after {
	content: '';
	position: absolute;
	width: 1px;
	height: 60px;
	background-color: #fff;
	bottom: -60px;
	left: 50%;
	transform: translateX(-50%);
}
/*
			SEC01
----------------------------------------------------------- */
.sec01_box {
	background-color: unset;
	border: 2px solid #fff;
	border-radius: 20px;
	width: 75%;
	margin-inline: auto;
}
.sec01_box-head {
	background-color: #fff;
	line-height: 1.5;
	padding-inline: 15px;
	width: fit-content;
	margin-inline: auto;
	font-size: 35px;
}
.sec01_item {
	position: relative;
	z-index: 1;
}
.sec01_item > p {
	position: absolute;
	right: 0;
	top: 0;
	width: fit-content;
	margin-left: auto;
	z-index: -1;
}
.sec01_item-box {
	width: 60%;
	background-color: rgba(255, 255, 255, .95);
}
.sec01_item-sub {
	font-weight: 100;
}
.sec01_item-box h3 {
	border-bottom: 1px solid #ccc;
}
/*
			SEC02
----------------------------------------------------------- */
.sec02_wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}
.sec02_box {
	margin-bottom: 0;
}
.sec02_box-wrap p:nth-child(2) {
	letter-spacing: 0;
}
.sec02_box-wrap h3 {
	line-height: 1.416;
}
.sec02_txt {
	line-height: 1.7;
}
.sec02_txt span {
	background-color: #49a2c3;
	padding-inline: 5px;
	margin-right: 10px;
}

/*
			SEC03
----------------------------------------------------------- */
.font_ll {
	font-size: 38px;
}

.sec03 h2 span {
	background-color: #fff;
	display: inline-block;
	padding-inline: 5px;
	padding-bottom: 5px;
	margin-inline: 5px;
}
.sec03_box-wrap {
	display: flex;
}
.sec03_box {
	position: relative;
	z-index: 1;
}
.sec03_box::after {
	content: '';
	position: absolute;
	top: 0;
	z-index: -1;
}
.sec03_box::after {
	right: 0;
	width: 372px;
	height: 100%;
}

.sec03_box04-01,
.sec03_box04-02 {
	width: 50%;
}
.sec03_box04-01 .sec03_box-contents,
.sec03_box04-02 .sec03_box-contents {
	width: 100%;
	line-height: 1.5;
}
.sec03_box04-01 {
	background: url(../img/pc_sec03_img04.png) no-repeat center center / cover;
}
.sec03_box04-02 {
	background: url(../img/pc_sec03_img05.png) no-repeat center center / cover;
}
.sec03_txt {
	line-height: 1.6;
}
.sec03_txt span {
	background-color: #fff;
	padding-inline: 5px;
}

/*
			SEC04
----------------------------------------------------------- */
.sec04_box-wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}
.sec04_box {
	border-radius: 10px;
	margin-bottom: 0;
}
.sec04_box-head {
	position: relative;
	padding-left: 15px;
}
.sec04_box-head h3,
.sec04_box-head p {
	line-height: 1;
}
.sec04_box-head::before {
	content: '';
	position: absolute;
	height: 100%;
	width: 2px;
	background-color: #fff;
	left: 0;
	top: 0;
}
/*
			SEC05
----------------------------------------------------------- */
.sec05 {
	padding-top: 0px;
}

.sec05_item {
	position: relative;
	z-index: 1;
}
.sec05_item:nth-child(odd) .sec05_item-box {
	margin-left: auto;
}
.sec05_item img {
	position: absolute;
	width: fit-content;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
}
.sec05_item:nth-child(odd) img {
	left: 0;
	right: unset;
}
.sec05_item-box {
	background: rgba(255, 255, 255, .95);
	width: 70%;
}
.sec05_item-sub {
	position: relative;
	padding-left: 15px;
	line-height: 1;
}
.sec05_item-sub::before {
	content: '';
	position: absolute;
	height: 100%;
	width: 4px;
	background-color: #49a2c3;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.sec05_item h3 {
	position: relative;
	width: fit-content;
	background-color: #49a2c3;
}
.sec05_item h3:before {
	content: '';
	position: absolute;
	width: 60px;
	height: 100%;
	background-color: #49a2c3;
	left: -60px;
	top: 0;
}
.sec05_item-txt {
	border-bottom: 2px dotted #49a2c3;
}
.sec05_item-price {
	line-height: 1.4;
}

/*
			SEC06
----------------------------------------------------------- */
.sec06_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}
.sec06_wrap p {
	padding: 20px;
	padding-left: 30px;
	border: 2px solid #49a2c3;
	border-radius: 45px;
}
.sec06_wrap p:last-child {
	grid-column: 1 / 3;
}
.sec06_wrap p i {
	padding-right: 5px;
}
.sec06 > p {
	line-height: 1.6;
}
.sec06 span {
	background-color: #49a2c3;
	padding-inline: 5px;
}

/*
			SEC08
----------------------------------------------------------- */
.sec08 .white_box_s {
	margin-bottom: 15px;
}
.sec08_q-wrap,
.sec08_a-wrap,
.sec08_txt-wrap {
	display: flex;
	gap: 20px;
}
.sec08_q-wrap {
	display: flex;
	justify-content: space-between;
	cursor: pointer;
}
.sec08_q-wrap,
.sec08_txt-wrap {
	align-items: center;
}
.sec08_txt-wrap {
	width: calc(100% - 44px);
}
.js_a-inner {
	display: none;
}
.sec08_a-wrap {
	border-top: 1px solid #ccc;
}
.sec08_icon {
	position: relative;
	width: 24px;
	height: 24px;
}
.sec08_icon::before,
.sec08_icon::after {
	content: '';
	position: absolute;
	width: 24px;
	height: 4px;
	background-color: #49a2c3;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.sec08_icon::after {
	transform: translateY(-50%) rotate(90deg);
	transition: all .4s ease 0s;
}
.sec08_icon.is-open::after {
	transform: translateY(-50%) rotate(0);
}

/*
			SEC09
----------------------------------------------------------- */
.sec09_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}
.sec09_box {
	margin-bottom: 0;
	padding: 60px;
}
.sec09_box-wrap p:nth-child(2) {
	letter-spacing: 0;
}
.sec09_box-wrap h3 {
	line-height: 1.416;
}
.sec09_txt {
	line-height: 1.7;
}
.sec09_txt span {
	padding-inline: 5px;
	margin-right: 10px;
}

/* ボタン */
.sec09 .shop-button {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  padding: 14px 20px;

  border: 2px solid #49a2c3;
  border-radius: 999px;

  color: #49a2c3;
  text-decoration: none;
  font-size: 20px;

  transition: 0.3s;
}

.sec09 .shop-button .arrow {
	position: absolute;
	right: 20px;
	font-size: 24px;
	top: 50%;
	transform: translateY(-50%);
}

/* 区切り線 */
.divider {
	width: 120px;
	height: 1px;
	background: #2a1f1a;
	margin: 20px auto;
	margin-bottom: 30px;
}

/* hover */
.sec09 .shop-button:hover {
	background: #49a2c3;
	color: #fff;
}
.sec09_logo-svg {
	width: 90px;
    height: auto;
	margin: auto;
}

/*
			FOOTER
----------------------------------------------------------- */
.footer_logo {
	width: 42px;
}
.footer_wrap {
	display: flex;
	width: 50%;
	justify-content: space-between;
	color: #000;
}
.footer_item li:not(:first-child) {
	padding-top: 15px;
}
.footer_copy {
	font-weight: 400;
}