@charset "UTF-8";
/* ----------------------------
    Reset style
---------------------------- */
html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,pre,code,blockquote,
a,em,img,strong,small,sub,sup,b,i,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,figcaption,figure,
footer,header,main,nav,section {
margin: 0;
padding: 0;
border: 0;
font: inherit;
vertical-align: baseline;
}
html {
-webkit-text-size-adjust: 100%;
box-sizing: border-box;
}
body {
font-family: "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif;
font-size: 1rem;
line-height: 1.6;
color: #333;
background-color: var(--base-color);
position: relative;
}
body::before {
content: "";
position: absolute;
inset: 0;
opacity: .26;
height: 100%;
background-color: var(--base-color);
background-image: url("../img/bg_multiply.png");
background-position: center;
background-blend-mode: multiply;
background-size: cover;
z-index: -1;
}
*, *::before, *::after {
box-sizing: inherit;
}
ul,ol {
list-style: none;
}
a {
text-decoration: none;
color: inherit;
transition: opacity .3s ease;
}
img, video {
max-width: 100%;
height: auto;
display: block;
}
strong {
font-weight: bold;
}
em {
font-style: normal;
}
table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
}
input,textarea,select,button {
font: inherit;
color: inherit;
border: none;
border-radius: 0;
background-color: transparent;
box-shadow: none;
appearance: none;
}
button,label {
cursor: pointer;
}
/* 2026/03/05 [SUK] UPD アクティブなのをわかりやすく outline: 0; */
input:focus, textarea:focus, select:focus, button:focus {
outline: 2;
}
/*----------------------------
	base layout
-----------------------------*/
.inner {
    width: 100%;
	max-width: calc((1068 / 16 * 1rem) + 12.8%);
    margin-left: auto;
	margin-right: auto;
	padding-left: 6.4%;
	padding-right: 6.4%;
}
.inner--medium {
	width: calc(100% - 12.8%);
	max-width: calc(840 / 16 * 1rem);
    margin-left: auto;
	margin-right: auto;
}
/*----------------------------
	header
-----------------------------*/
.header__top {
	background-color: #fff;
	display: flex;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	box-shadow: 0 2px 6px rgba(0 ,0, 0, .06);
	padding: var(--size-13) 2.666%;
}
.list--link {
	display: flex;
	gap: var(--size-10);
	margin-left: auto;
	font-size: var(--size-13);
	line-height: 1;
	transition: .3s;
}
.is--active .header__top > .list--link {
	opacity: 0;
	visibility: hidden;
}
.list--link a {
	padding: calc(7 / 16 * 1rem) 0 calc(6 / 16 * 1rem);
	width: calc(78 / 16 * 1rem);
	border-radius: var(--size-28);
	display: block;
	text-align: center;
}
.link--registration,.link--logout {
	background-color: #fff;
	color: var(--accent-color);
	border: 1px solid var(--accent-color);
}
.link--login {
	background-color: var(--green);
	border: 1px solid var(--accent-color);
	color: var(--accent-color);
}
.nav {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: calc(53 / 16 * 1rem);
	right: -100%;
	background-color: var(--base-color);
	transition: .4s;
	width: 100%;
	height: 100%;
	padding: var(--size-30) 6.4%;
	box-shadow: inset 0 2px 6px rgba(0 ,0, 0, .06);
}
.is--active .nav {
	opacity: 1;
	visibility: visible;
	right: 0;
}
.nav::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: .26;
	height: 100%;
	background-color: var(--base-color);
	background-image: url("../img/bg_multiply.png");
	background-position: center;
	background-blend-mode: multiply;
	background-size: cover;
	z-index: -1;
}
.nav .list--link {
	font-size: var(--size-20);
	justify-content: center;
	gap: var(--size-20);
	margin-bottom: var(--size-30);
}
.nav .list--link a {
	padding: var(--size-13) 0;
	width: calc(154 / 16 * 1rem);
	border-radius: var(--size-48);
}
.list--nav {
	font-size: var(--size-17);
	line-height: 1;
	border-top: 1px solid var(--gold);
	margin-bottom: var(--size-30);
}
.list--nav__item {
    border-bottom: 1px solid var(--gold);
}
.link--nav {
	display: block;
	padding: var(--size-23) var(--size-18) var(--size-23) 0;
}
.link--nav.icon--right::after {
    background-color: var(--main-color);
    right: var(--size-12);
}
.list--navsub {
	font-size: var(--size-13);
	line-height: 1;
}
.list--navsub__item + .list--navsub__item {
    margin-top: var(--size-18);
}
.link--navsub {
	padding-left: var(--size-16);
}
.link--navsub.icon--right::after {
    background-color: var(--main-color);
    left: 0;
    right: auto;
}
.menu {
	width: var(--size-26);
	height: var(--size-20);
	position: relative;
	margin-left: calc(11 / 16 * 1rem);
}
.menu__bar {
	background-color: var(--accent-color);
	width: 100%;
	height: max(2px,calc(2 / 16 * 1rem));
	border-radius: max(2px,calc(2 / 16 * 1rem));
	position: absolute;
	left: 0;
	transition: .3s;
}
.menu__bar:nth-child(1) {
	top: calc(1 / 16 * -1rem);
}
.menu__bar:nth-child(2) {
	top: calc(9 / 16 * 1rem);
}
.menu__bar:nth-child(3) {
	top: var(--size-19);
}
.is--active .menu__bar:nth-child(1) {
	transform: rotate(45deg);
	top: calc(9 / 16 * 1rem);
}
.is--active .menu__bar:nth-child(2) {
	background-color: transparent;
}
.is--active .menu__bar:nth-child(3) {
	transform: rotate(-45deg);
	top: calc(9 / 16 * 1rem);
}
.mainnav {
	padding-top: calc(68 / 16 * 1rem);
	padding-bottom: calc(6 / 16 * 1rem);
	background-color: #fff;
	font-size: var(--size-11);
	line-height: 1.454;
}
.list--mainnav {
	display: flex;
}
.list--mainnav__item {
	width: calc(100%/4);
}
.list--mainnav__item + .list--mainnav__item {
	border-left: 1px solid var(--gold);
}
.link--mainnav {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: calc(4 / 16 * 1rem);
	align-items: center;
	justify-content: space-between;
	height: 100%;
	padding-bottom: calc(6 / 16 * 1rem);
}
.link--mainnav.icon--clock {
	padding-bottom: 0;
}
.notice {
	background-color: var(--main-color);
	color: #fff;
	font-size: var(--size-17);
	line-height: 1;
	overflow: hidden;
	white-space: nowrap;
}
.notice a {
	padding-top: calc(6 / 16 * 1rem);
	padding-bottom: calc(3 / 16 * 1rem);
  	display: inline-block;
	overflow: hidden;
}
.notice .icon--notice::before {
	margin-right: 0.5em;
	display: inline-block;
	vertical-align: -1px;
}
.scroll {
  	animation: scroll 12s linear infinite;
}

/* ニュースティッカーの動作 */
@keyframes scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}

/*----------------------------
	main contents
-----------------------------*/
.sec__title {
	font-size: var(--size-20);
	line-height: 1;
	margin-bottom: var(--size-40);
	color: var(--main-color);
	text-align: center;
}
.sec__title.mb--20 {
	margin-bottom: var(--size-20);
}
.sec__title.mb--24 {
	margin-bottom: var(--size-24);
}
.sec__title.align--l {
	text-align: left;
}
.sec__title--small {
	font-size: var(--size-20);
	margin-bottom: var(--size-40);
	color: var(--main-color);
	line-height: 1;
}
.sec__text {
	font-size: var(--size-17);
	line-height: 1.5294;
}
/*----------------------------
	赤背景＋６つの白いリンク
-----------------------------*/
.point {
	padding: calc(69 / 16 * 1rem) 4.5333% calc(69 / 16 * 1rem) 4.8%;
	margin-bottom: var(--size-40);
}
.point:has(.sec__title) {
	padding-top: var(--size-44);
	padding-bottom: calc(65 / 16 * 1rem);
}
.point .sec__title {
	color: #fff;
	width: 100%;
	font-size: var(--size-24);
	margin-bottom: var(--size-34);
}
.point__content + .point__content {
	margin-top: calc(45 / 16 * 1rem);
}
.point:has(.sec__title) .point__content + .point__content {
	margin-top: var(--size-36);
}
.point__title__outer {
	text-align: center;
	color: #fff;
}
.point__title {
	font-size: var(--size-20);
	margin-bottom: var(--size-10);
	line-height: 1;
}
.point__subtitle {
	font-size: var(--size-17);
	margin-bottom: var(--size-23);
	line-height: 1;
}
.point__text {
	color: #fff;
	text-align: center;
	font-size: var(--size-13);
	line-height: 1.6923;
	margin-bottom: var(--size-24);
}
.list--point {
	display: flex;
	justify-content: center;
	gap: 3.733%;
	font-size: var(--size-11);
}
.list--point__item {
	text-align: center;
}
.link--point {
	width: calc(100 / 16 * 1rem);
	height: calc(100 / 16 * 1rem);
	aspect-ratio: 1/1;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	border-radius: var(--size-10);
	box-shadow: var(--shadow-3-3-15-b) rgba(0, 0, 0, .1);
}
.link--point.icon--privatejet {
	padding-top: var(--size-18);
}
.link--point.icon--bullettrain,
.link--point.icon--hirecar {
	padding-top: var(--size-21);
}
.link--point.icon--midwife,
.link--point.icon--rental,
.link--point.icon--courier {
	padding-top: var(--size-13);
}
.link--point span {
	width: calc(100% - 1rem);
	margin-top: auto;
    margin-bottom: auto;
}
.link--point + .c--white {
	margin-top: calc(4 / 16 * 1rem);
}
/*----------------------------
	お見積もり
-----------------------------*/
.sec__title--estimate {
	font-size: var(--size-17);
	margin-bottom: var(--size-24);
	text-align: center;
}
.slash {
	line-height: 1;
	color: var(--main-color);
	position: relative;
	padding: 0 var(--size-8);
	margin: 0 auto calc(5 / 16 * 1rem);
	display: block;
	max-width: max-content;
}
.slash::before,
.slash::after {
	content: "";
	width: var(--size-1);
	height: var(--size-15);
	position: absolute;
	top: 0;
	margin: auto;
	background-color: var(--main-color);
}
.slash::before {
	left: calc(2 / 16 * 1rem);
	transform: rotate(-20deg);
}
.slash::after {
	right: calc(2 / 16 * 1rem);
	transform: rotate(20deg);
}
.ribbon img {
	margin: auto;
	max-width: calc(234 / 16 * 1rem);
}
.list--estimate {
	font-size: var(--size-17);
	line-height: 1.5294;
	max-width: max-content;
	margin: 0 auto var(--size-56);
}
.form__content + .form__content {
	margin-bottom: var(--size-40);
}
.form__content + .form__content::before {
	content: "";
	width: calc(65 / 16 * 1rem);
	height: var(--size-17);
	background: url(../img/arrow_bottom.png) center / 100% no-repeat;
	display: block;
	margin: var(--size-30) auto var(--size-23);
}
.form__label {
	display: block;
	font-size: var(--size-13);
	line-height: 1;
	margin-bottom: var(--size-8);
}
/*----------------------------
	キャンペーン・ニュース等
-----------------------------*/
.article {
	font-size: var(--size-13);
}
.article + .article {
	margin-top: var(--size-33);
	padding-top: var(--size-30);
	border-top: var(--size-1) solid var(--gold);
}
.article:last-of-type {
	margin-bottom: var(--size-45);
}
.article__link {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--size-18);
}
.article__category {
	background-color: #fff;
	color: var(--main-color);
	line-height: 1;
	padding: calc(5 / 16 * 1rem) var(--size-15) calc(4 / 16 * 1rem);
	border-radius: calc(22 / 16 * 1rem);
	min-width: calc(108 / 16 * 1rem);
	text-align: center;
}
.article__category.bg--gold {
	background-color: var(--gold);
	color: #fff;
}
.article__category.c--gold {
	color: var(--gold);
}
.article__date {
	font-family: var(--times-new-roman);
	font-style: italic;
	color: var(--gray);
}
.article__text {
	width: 100%;
	line-height: 1.6923;
	padding-right: var(--size-30);
}
.article__text.icon--right::after {
	background-color: var(--main-color);
	right: var(--size-11);
}
/*----------------------------
	里帰り応援きっぷとは？
-----------------------------*/
.sec--service {
	margin-bottom: calc(58 / 16 * 1rem);
}

.img--service {
	max-width: calc(564 / 16 * 1rem);
	width: 100%;
	margin: auto;
}
.content--service {
	border-top: var(--size-1) solid var(--gold);
}
.content--service + .content--service {
	border-bottom: var(--size-1) solid var(--gold);
}
.content--service__title {
	font-size: var(--size-17);
	line-height: 1.5294;
	text-align: center;
	position: relative;
	padding: var(--size-17) 0 var(--size-17);
}
.content--service .wrap {
	position: relative;
}
.content--service .wrap::before {
	content: "";
    width: 93.333%;
    height: var(--size-1);
    background-size: max(6px,calc(6 / 16 * 1rem)) var(--size-1);
    background-image: linear-gradient(to right, var(--gold) max(3px,calc(3 / 16 * 1rem)), transparent max(3px,calc(3 / 16 * 1rem)));
    background-repeat: repeat-x;
    background-position: left bottom;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.content--service__text {
	font-size: var(--size-17);
	line-height: 1.5294;
	margin-bottom: var(--size-24);
	padding-top: var(--size-20);
}
.list--service {
	padding-bottom: var(--size-29);
}
.list--service__item + .list--service__item {
	margin-top: var(--size-18);
}
.link--service {
	font-size: var(--size-20);
	background-color: #fff;
	display: block;
	border-radius: var(--size-10);
	line-height: 1.4;
	margin-bottom: var(--size-24);
	padding: var(--size-27) var(--size-30) var(--size-21) calc(76 / 16 * 1rem);
}
.link--service.icon--privatejet {
	padding: var(--size-22) var(--size-30) var(--size-18) calc(76 / 16 * 1rem);
}
.link--service.icon::before {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.link--service.icon--privatejet::before {
	left: var(--size-13);
	width: calc(58 / 16 * 1rem);
	height: var(--size-18);
}
.link--service.icon--bullettrain::before {
	left: var(--size-16);
	width: calc(51 / 16 * 1rem);
	height: var(--size-16);
}
.link--service.icon--hirecar::before {
	left: var(--size-18);
	width: var(--size-48);
	height: var(--size-21);
}
.link--service.icon--midwife::before {
	left: var(--size-26);
	width: calc(29 / 16 * 1rem);
	height: var(--size-43);
}
.link--service.icon--rental::before {
	left: var(--size-19);
}
.link--service.icon--courier::before {
	left: var(--size-17);
	width: var(--size-44);
	height: var(--size-42);
}
.link--service.icon--right::after {
	right: var(--size-14);
}
.link--service .fs--small {
	font-size: var(--size-13);
	line-height: 1.6923;
	display: block;
	margin-bottom: max(2px,calc(2 / 16 * 1rem));
}
.sec--service .list {
	line-height: 1.5;
}
.sec--service .list__item + .list__item {
	padding-top: var(--size-10);
	margin-top: var(--size-10);
	border-top: var(--size-1) solid var(--gold);
}
.sec--service .list__item::before {
	content: "";
	width: var(--size-16);
	height: var(--size-16);
	background-color: #fff;
	border-radius: 50%;
	top: calc(3 / 16 * 1rem);
}
.sec--service .list__item + .list__item::before {
	top: calc(13 / 16 * 1rem);
}
/*----------------------------
	新規会員登録
-----------------------------*/
.sec--registration {
	width: 91.4666%;
	margin: 0 auto var(--size-64);
}
.sec--registration .sec__text {
	margin-bottom: var(--size-60);
}
/*----------------------------
	よくあるご質問
-----------------------------*/
.faq {
	border-top: var(--size-1) solid var(--gold);
}
.faq:last-of-type {
	border-bottom: var(--size-1) solid var(--gold);
	margin-bottom: var(--size-40);
}
.faq__question {
	list-style: none;
	padding: var(--size-21) calc(63 / 16 * 1rem) var(--size-21) calc(66 / 16 * 1rem);
	display: flex;
	gap: var(--size-24);
	width: 100%;
	text-align: left;
}
.faq__question::before {
	content: "Q";
	font-family: var(--times-new-roman);
	color: var(--main-color);
	font-size: var(--size-24);
	line-height: 1;
	position: absolute;
	left: var(--size-24);
	top: 0;
	bottom: 0;
	margin: auto;
	height: max-content;
}
.icon--plus { position: relative; }
.icon--plus::after {
	content: "";
	position: absolute;
	right: var(--size-16);
	top: 0;
	bottom: 0;
	margin: auto;
	width: var(--size-36);
	height: var(--size-36);
	border: var(--size-1) solid var(--main-color);
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-image: linear-gradient(var(--main-color), var(--main-color)),linear-gradient(var(--main-color), var(--main-color));
	background-size: 12px 2px, 2px 12px;
	transition: background-size .3s ease;
	pointer-events: none;
}
.is--open .icon--plus::after {
	background-size: 12px 2px, 0 0;
}
.faq__answer {
	position: relative;
	font-size: var(--size-13);
}
[data-accordion-body] {
	overflow: hidden;
	height: 0;
	transition: .4s;
	opacity: 0;
}
.is--open [data-accordion-body] {
	opacity: 1;
}
.faq__answer::before {
	content: "";
	width: 93.333%;
	height: var(--size-1);
	background-size: max(6px,calc(6 / 16 * 1rem)) var(--size-1);
	background-image: linear-gradient(to right, var(--gold) max(3px,calc(3 / 16 * 1rem)), transparent max(3px,calc(3 / 16 * 1rem)));
	background-repeat: repeat-x;
	background-position: left bottom;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.faq__answer__inner {
	padding: var(--size-19) 6.4% var(--size-14);
}
.faq__answer a {
	font-size: var(--size-13);
}
.faq__answer .title {
	color: var(--main-color);
}
/*----------------------------
	tab
-----------------------------*/
.tab__contents,
.def__line.tab__contents {
	display: none;
}
.tab__contents.is--active,
.def__line.tab__contents.is--active {
	display: block;
}
/*----------------------------
	totop
-----------------------------*/
.totop {
	font-family: var(--times-new-roman);
	color: var(--accent-color);
	line-height: 1;
	width: var(--size-80);
	height: var(--size-80);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: .3s;
	position: fixed;
	z-index: 100;
	bottom: var(--size-20);
	right: var(--size-20);
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	gap: calc(9 / 16 * 1rem);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-3-3-15-b) rgba(0, 0, 0, .05);
}
.totop.is--show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.totop.is--absolute {
	position: absolute;
}
.totop::before {
	content: "";
	width: var(--size-20);
	height: var(--size-10);
	background: url(../img/icon_top.png) center / 100% no-repeat;
	display: block;
}

/*----------------------------
	footer
-----------------------------*/
.footer {
	border-radius: var(--size-80) var(--size-80) 0 0!important;
	margin-top: calc(168 / 16 * 1rem);
	padding-top: calc(49 / 16 * 1rem);
}
.footer .logo {
	display: block;
	max-width: max-content;
	margin: var(--size-18) auto var(--size-45);
}
.footer .list--link {
	margin-bottom: var(--size-30);
	font-size: var(--size-17);
	justify-content: center;
	gap: var(--size-20);
}
.footer .list--link a {
	padding: var(--size-15) 0 var(--size-14);
	width: calc(154 / 16 * 1rem);
}
.list--footer {
	border-top: 1px solid #fff;
	font-size: var(--size-17);
	line-height: 1;
	margin-bottom: var(--size-13);
}
.list--footer__item {
	border-bottom: 1px solid #fff;
}
.link--footer {
	color: #fff;
	display: block;
	padding: var(--size-23) var(--size-18) var(--size-23) 0;
}
.link--footer.icon--right::after {
	background-color: #fff;
	right: var(--size-12);
}
.list--footersub {
	color: #fff;
	font-size: var(--size-13);
	line-height: 1;
	margin-bottom: var(--size-39);
}
.list--footersub__item + .list--footersub__item {
	margin-top: var(--size-18);
}
.link--footersub {
	padding-left: var(--size-16);
}
.link--footersub.icon--right::after {
	background-color: #fff;
	left: 0;
	right: auto;
}
.copyright__outer {
	background-color: #fff;
	text-align: center;
	font-size: var(--size-17);
	line-height: 1;
	padding: var(--size-12) 6.4% var(--size-11);
}
/*----------------------------
	下層タイトル
-----------------------------*/
.kaso-mv {
	color: #fff;
	background-color: var(--main-color);
	border-radius: 0 0 calc(80 / 16 * 1rem) calc(80 / 16 * 1rem);
	line-height: 1;
	margin-bottom: var(--size-32);
	padding: var(--size-10) 6.666% var(--size-31);
}
.kaso-mv-nologin {
	margin-top: 48px;
	color: #fff;
	background-color: var(--main-color);
	border-radius: 0 0 calc(80 / 16 * 1rem) calc(80 / 16 * 1rem);
	line-height: 1;
	margin-bottom: var(--size-32);
	padding: var(--size-10) 6.666% var(--size-31);
}
.breadcrumb {
	display: flex;
	font-size: var(--size-11);
	margin-bottom: var(--size-21);
}
.breadcrumb__item {
	display: flex;
}
.breadcrumb__item + .breadcrumb__item::before {
	content: ">";
	color: #fff;
	margin-left: calc(6 / 16 * 1rem);
	margin-right: calc(6 / 16 * 1rem);
}
.link--breadcrumb {
	border-bottom: var(--size-1) solid #fff;
	display: block;
}
.kaso-mv__title {
	font-size: var(--size-24);
	text-align: center;
}
/*----------------------------
	slider
-----------------------------*/
.slick-arrow,
.swiper-button {
	background: rgba(250, 121, 116 , .6);
	border-radius: 50%;
	width: var(--size-42);
	height: var(--size-42);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	font-size: 0;
	z-index: 1;
}
.swiper-button svg {
	display: none;
}
.slick-arrow::before,
.swiper-button::before {
	content: "";
	width: var(--size-14);
	height: var(--size-14);
	border-bottom: var(--size-1) solid #fff;
	position: absolute;
	inset: 0;
	margin: auto;
}
.slick-prev::before,
.swiper-button-prev::before {
	border-left: var(--size-1) solid #fff;
	transform: rotate(45deg);
	right: calc(7 / 16 * -1rem);
}
.slick-next::before,
.swiper-button-next::before {
	border-right: var(--size-1) solid #fff;
	transform: rotate(-45deg);
	left: calc(7 / 16 * -1rem);
}
/*----------------------------
	media query
-----------------------------*/
@media screen and (min-width: 768px){
	/*----------------------------
		base layout
	-----------------------------*/
	.inner {
		padding-left: 2.222%;
		padding-right: 2.222%;
		max-width: calc((1068 / 16 * 1rem) + 4.444%);
	}
	.inner--medium {
		width: calc(100% - 4.444%);
	}
	/*----------------------------
		header
	-----------------------------*/
	.header { background-color: #fff; }
	.sitetitle {
		width: calc(283 / 16 * 1rem);
	}
	.sitetitle img {
		width: 100%;
	}
	.header__top {
		gap: 2.777%;
		padding: var(--size-15) 2.222% var(--size-14);
		min-height: calc(80 / 16 * 1rem);
	}
	.header__top > .list--link {
		font-size: var(--size-16);
		gap: var(--size-16);
	}
	.header__top > .list--link a {
		padding: var(--size-14) 0 var(--size-16);
		width: calc(120 / 16 * 1rem);
	}
	.list--link a,
	.link--navsub,
	.link--nav,
	.link--mainnav.icon::before {
		transition: .3s;
	}
	.link--registration:hover,
	.link--logout:hover {
		background-color: var(--green);
	}
	.link--login:hover {
		background-color: var(--green2);
		border-color: var(--green2);
		color: #fff;
	}
	.link--navsub:hover,
	.link--nav:hover {
		color: var(--accent-color);
		text-decoration: underline;
	}
	.nav {
		top: var(--size-80);
	}
	.link--nav.icon--right:hover::after,
	.link--mainnav.icon:hover::before {
		background-color: var(--green2);
	}
	.mainnav {
		padding-top: calc(94 / 16 * 1rem);
		padding-bottom: var(--size-10);
		max-width: calc(1088 / 16 * 1rem);
		margin: auto;
		font-size: var(--size-18);
		line-height: 1.3333;
	}
	.link--mainnav {
		flex-direction: row;
		justify-content: center;
		gap: var(--size-16);
		padding-top: var(--size-18);
		padding-bottom: var(--size-18);
		transition: .3s;
	}
	.link--mainnav.icon--clock {
		padding-top: 0;
	}
	.link--mainnav:hover {
		color: var(--accent-color);
	}
	.notice { text-align: center; }
	.notice a {
		font-size: var(--size-20);
		padding-top: calc(9 / 16 * 1rem);
		padding-bottom: calc(8 / 16 * 1rem);
	}
	/*----------------------------
		main contents
	-----------------------------*/
	.sec__title {
		font-size: var(--size-28);
		margin-bottom: var(--size-64);
	}
	.sec__title--small {
		margin-bottom: var(--size-48);
	}
	/*----------------------------
		赤背景＋６つの白いリンク
	-----------------------------*/
	.point {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: calc(72 / 16 * 1rem);
		padding: calc(107 / 16 * 1rem) 2.222% calc(103 / 16 * 1rem);
		margin-bottom: var(--size-96);
	}
	.point:has(.sec__title) {
		padding-top: calc(62 / 16 * 1rem);
		padding-bottom: calc(58 / 16 * 1rem);
		row-gap: 0;
	}
	.point .sec__title {
		font-size: var(--size-36);
		margin-bottom: calc(54 / 16 * 1rem);
		line-height: 1;
	}
	.point__title {
		font-size: var(--size-28);
		margin-bottom: var(--size-12);
	}
	.point__subtitle {
		font-size: var(--size-20);
		margin-bottom: var(--size-32);
	}
	.point__text {
		font-size: var(--size-16);
		margin-bottom: var(--size-26);
	}
	.point__content + .point__content {
		margin-top: 0!important;
	}
	.list--point {
		font-size: var(--size-16);
		gap: var(--size-33);
	}
	.link--point {
		width: calc(160 / 16 * 1rem);
		height: calc(160 / 16 * 1rem);
		line-height: 1.5;
		transition: .3s;
	}
	.link--point:hover {
		opacity: .7;
	}
	.link--point.icon--privatejet {
		line-height: 1.3125;
		padding-top: var(--size-29);
	}
	.link--point.icon--bullettrain,
	.link--point.icon--hirecar {
		padding-top: var(--size-38);
	}
	.link--point.icon--midwife,
	.link--point.icon--rental,
	.link--point.icon--courier {
		padding-top: var(--size-22);
	}
	.list--point .c--white {
		font-size: var(--size-14);
		margin-top: var(--size-10);
	}
	/*----------------------------
		お見積り
	-----------------------------*/
	.sec--estimate.inner {
		max-width: calc((979 / 16 * 1rem) + 4.444%);
	}
	.sec__title--estimate {
		font-size: var(--size-22);
		margin-bottom: var(--size-48);
	}
	.slash {
		padding: 0 var(--size-18);
		margin-bottom: var(--size-11);
		font-size: var(--size-20);
	}
	.slash::before,.slash::after {
		height: var(--size-20);
	}
	.ribbon img {
		max-width: calc(351 / 16 * 1rem);
	}
	.list--estimate {
		font-size: var(--size-20);
		margin-bottom: var(--size-64);
	}
	.sec--estimate .form {
		display: flex;
		flex-wrap: wrap;
	}
	.form__content {
		width: 44.943%;
	}
	.form__content + .form__content {
		position: relative;
		margin-left: 10.112%;
		margin-bottom: var(--size-96);
	}
	.form__content + .form__content::before {
		background: url(../img/arrow_right.png) center / 100% no-repeat;
		width: var(--size-21);
		height: calc(73 / 16 * 1rem);
		position: absolute;
		left: -14%;
	}
	.form__label {
		font-size: var(--size-16);
		margin-bottom: var(--size-16);
	}
	.form__select {
		font-size: var(--size-16);
		padding: var(--size-29) var(--size-38) var(--size-25);
		background-size: var(--size-18);
		transition: .3s;
		cursor: pointer;
	}
	.form__select:hover {
		background-color: var(--green);
		border-color: var(--accent-color);
		color: var(--accent-color);
	}
	/*----------------------------
		キャンペーン・ニュース等
	-----------------------------*/
	.article {
		max-width: calc(1068 / 16 * 1rem);
		margin-left: auto;
		margin-right: auto;
		font-size: var(--size-16);
		gap: var(--size-24);
	}
	.article + .article {
		margin-top: var(--size-31);
		padding-top: var(--size-31);
	}
	.article:first-of-type {
		padding-top: calc(5 / 16 * 1rem);
		padding-top: 0;
	}
	.article:last-of-type {
		margin-bottom: var(--size-64);
	}
	.article__link {
		transition: .3s;
		padding: var(--size-12) 0;
	}
	.article__link:hover {
		background-color: #fff;
	}
	.article__category {
		min-width: calc(160 / 16 * 1rem);
		padding-top: calc(8 / 16 * 1rem);
		padding-bottom: calc(8 / 16 * 1rem);
		transition: .3s;
	}
	.sec--campaign .article__link:hover .article__category,
	.sec--info .article__link:hover .article__category {
		background-color: var(--main-color);
		color: #fff;
	}
	.sec--news .article__link:hover .article__category {
		background-color: var(--green);
		color: var(--accent-color);
	}
	.article__date {
		font-size: var(--size-18);
	}
	.article__text {
		width: auto;
		flex: 1;
		margin-left: var(--size-36);
		padding-right: calc(84 / 16 * 1rem);
		line-height: 1.5;
	}
	.article__link:hover .article__text {
		text-decoration: underline;
	}
	.article__text.icon--right::after {
		right: var(--size-28);
	}
	/*----------------------------
		里帰り応援きっぷとは？
	-----------------------------*/
	.sec--service {
		margin-bottom: calc(115 / 16 * 1rem);
	}
	.sec--service > .inner {
		display: flex;
		justify-content: space-between;
		margin-bottom: calc(115 / 16 * 1rem);
	}
	.sec--service .sec__text {
		width: 42.509%;
		font-size: var(--size-20);
		line-height: 1.5;
	}
	.img--service {
		width: 52.808%;
		margin-right: 0;
	}
	.content--service {
		border-top: none;
	}
	.content--service + .content--service {
		border: none;
		margin-top: calc(132 / 16 * 1rem);
	}
	.content--service .wrap {
		height: auto !important;
		overflow: visible !important;
		transition: none !important;
	}
	.content--service__title {
		padding: 0!important;
		font-size: var(--size-22);
		margin-bottom: var(--size-14)!important;
	}
	.content--service__title::after,
	.content--service .wrap::before {
		content: none;
	}
	.content--service__text.inner {
		max-width: calc((737 / 16 * 1rem) + 4.444%);
		margin-bottom: calc(70 / 16 * 1rem);
		font-size: var(--size-20);
		padding-top: 0;
	}
	.list--service {
		display: flex;
		justify-content: space-between;
		padding-bottom: 0;
	}
	.list--service__item {
		width: 31.647%;
	}
	.list--service__item + .list--service__item {
		margin-top: 0;
	}
	.link--service {
		padding: var(--size-34) var(--size-20) var(--size-24);
		text-align: center;
		line-height: 1;
		transition: .3s;
	}
	.link--service:hover {
		opacity: .7;
	}
	.link--service.icon--privatejet {
		padding: var(--size-30) var(--size-20) var(--size-24);
	}
	.link--service.icon--midwife,
	.link--service.icon--rental,
	.link--service.icon--courier {
		padding-top: var(--size-20);
	}
	.link--service.icon::before {
		position: static;
	}
	.link--service.icon--privatejet::before {
		width: calc(115 / 16 * 1rem);
		height: var(--size-35);
		margin-bottom: var(--size-26);
	}
	.link--service.icon--bullettrain::before {
		width: calc(89 / 16 * 1rem);
		height: var(--size-27);
		margin-bottom: var(--size-30);
	}
	.link--service.icon--hirecar::before {
		width: calc(75 / 16 * 1rem);
		height: var(--size-32);
		margin-bottom: var(--size-25);
	}
	.link--service.icon--midwife::before {
		width: var(--size-39);
		height: calc(57 / 16 * 1rem);
		margin-bottom: var(--size-14);
	}
	.link--service.icon--rental::before {
		margin-bottom: var(--size-17);
	}
	.link--service.icon--courier::before {
		width: calc(58 / 16 * 1rem);
		height: var(--size-56);
		margin-bottom: var(--size-14);
	}
	.link--service.icon--right::after {
		right: var(--size-16);
	}
	.link--service .fs--small {
		font-size: var(--size-14);
		margin-bottom: calc(5 / 16 * 1rem);
	}
	.sec--service .list {
		line-height: 1.5;
	}
	.sec--service .content--service:last-child{
		border-bottom: none;
	}

	/*----------------------------
		新規会員登録
	-----------------------------*/
	.sec--registration {
		margin: 0 auto var(--size-96);
	}
	.sec--registration .sec__title {
		margin-bottom: var(--size-64);
	}
	.sec--registration .sec__text {
		max-width: calc(676 / 16 * 1rem);
		margin: 0 auto calc(88 / 16 * 1rem);
		font-size: var(--size-20);
		line-height: 1.5;
	}
	/*----------------------------
		よくあるご質問
	-----------------------------*/
	.sec--faq .sec__text {
		max-width: calc((980 / 16 * 1rem) + 4.444%);
		font-size: var(--size-20);
		line-height: 1.5;
		margin-bottom: calc(103 / 16 * 1rem);
	}
	.faq {
		max-width: calc(1068 / 16 * 1rem);
		width: calc(100% - 4.444%);
		margin: auto;
	}
	.faq:last-of-type {
		margin-bottom: var(--size-64);
	}
	.faq__question {
		cursor: pointer;
		padding: var(--size-34) calc(90 / 16 * 1rem);
		font-size: var(--size-20);
	}
	.faq__question::before {
		font-size: var(--size-28);
		left: var(--size-44);
	}
	.icon--plus::after {
		right: var(--size-45);
	}
	.faq__answer {
		font-size: var(--size-16);
		line-height: 1.5;
	}
	.faq__answer__inner {
		padding: var(--size-19) calc(172 / 16 * 1rem) var(--size-31) calc(90 / 16 * 1rem);
	}
	.faq__answer a {
		font-size: var(--size-16);
	}
	/*----------------------------
		tab
	-----------------------------*/
	.def__line.tab__contents.is--active {
		display: flex;
	}
	/*----------------------------
		totop
	-----------------------------*/
	.totop {
		width: calc(120 / 16 * 1rem);
		height: calc(120 / 16 * 1rem);
		font-size: var(--size-24);
		right: var(--size-40);
	}
	.totop::before {
		width: var(--size-30);
		height: var(--size-15);
	}
	/*----------------------------
		footer
	-----------------------------*/
	.footer {
		margin-top: calc(216 / 16 * 1rem);
		border-radius: calc(264 / 16 * 1rem) calc(264 / 16 * 1rem) 0 0!important;
		padding-top: calc(91 / 16 * 1rem);
	}
	.footer .inner {
		display: grid;
		align-items: start;
		max-width: calc((890 / 16 * 1rem) + 4.444%);
		grid-template-columns: calc(365 / 16 * 1rem) 1fr;
		column-gap: var(--size-80);
	}
	.footer .logo {
		grid-row: 1/2;
		grid-column: 1/2;
		margin: var(--size-32) 0 calc(78 / 16 * 1rem);
	}
	.footer .logo img {
		width: calc(365 / 16 * 1rem);
	}
	.footer .list--link {
		grid-row: 2/3;
		grid-column: 1/2;
		margin-left: 0;
		width: calc(365 / 16 * 1rem);
		margin-bottom: var(--size-18);
	}
	.footer .list--link a {
		padding: var(--size-17) 0;
		width: calc(172 / 16 * 1rem);
		font-size: var(--size-20);
	}
	.list--footer {
		grid-row: 1/3;
		grid-column: 2/3;
		margin-bottom: 0;
		font-size: var(--size-18);
		line-height: 1.333;
	}
	.link--footer {
		padding: var(--size-29) var(--size-28) var(--size-29) 0;
		transition: .3s;
	}
	.link--footer:hover {
		background: rgba(255, 255, 255, .6);
	}
	.link--footer.icon--right::after {
		right: var(--size-28);
	}
	.list--footersub {
		grid-row: 3/4;
		grid-column: 1/3;
		display: flex;
		justify-content: space-between;
		margin-top: calc(100 / 16 * 1rem);
		margin-bottom: calc(93 / 16 * 1rem);
		font-size: var(--size-16);
	}
	.list--footersub__item + .list--footersub__item {
		margin-top: 0;
	}
	.link--footersub,
	.link--footersub.icon--right::after {
		transition: .3s;
	}
	.link--footersub:hover {
		color: var(--accent-color);
		text-decoration: underline;
	}
	.link--footersub.icon--right::after {
		width: calc(6 / 16 * 1rem);
		height: var(--size-12);
	}
	.link--footersub.icon--right:hover::after {
		background-color: var(--green2);
	}
	.copyright__outer {
		font-size: var(--size-16);
		padding: var(--size-23) 2.222% var(--size-25);
	}
	/*----------------------------
		下層タイトル
	-----------------------------*/
	.kaso-mv {
		color: #fff;
		background-color: var(--main-color);
		border-radius: 0 0 calc(150 / 16 * 1rem) calc(150 / 16 * 1rem);
		margin-bottom: var(--size-72);
		padding: var(--size-20) 2.222% var(--size-32);
	}
	.kaso-mv-nologin {
		margin-top: 81px;
		color: #fff;
		background-color: var(--main-color);
		border-radius: 0 0 calc(150 / 16 * 1rem) calc(150 / 16 * 1rem);
		margin-bottom: var(--size-72);
		padding: var(--size-20) 2.222% var(--size-32);
	}
	.breadcrumb {
		font-size: var(--size-14);
		margin-bottom: var(--size-36);
	}
	.kaso-mv__title {
		font-size: var(--size-36);
		margin-left: calc(154 / 16 * 1rem);
		text-align: left;
	}
	/*----------------------------
		slider
	-----------------------------*/
	.slick-arrow,
	.swiper-button {
		width: var(--size-60);
		height: var(--size-60);
	}
}
@media screen and (min-width: 1280px){
	.header__top > .list--link {
		order: 3;
		margin-left: 0;
	}
	.header__top > .list--link a {
		padding: var(--size-14) 0 var(--size-16);
	}
	.nav {
		opacity: 1;
		visibility: visible;
		position: static;
		margin-left: auto;
		padding: 0;
		background: transparent;
		box-shadow: none;
		width: auto;
	}
	.nav::before {
		content: none;
	}
	.nav .list--link,
	.nav .list--navsub,
	.menu {
		display: none;
	}
	.list--nav {
		display: flex;
		gap: var(--size-28);
		margin-bottom: 0;
		font-size: var(--size-16);
		border-top: none;
	}
	.list--nav__item {
		border-bottom: none;
	}
	.link--nav {
		padding: 0 var(--size-10) 0 0;
	}
	.link--nav.icon--right::after {
		right: 0;
		width: calc(6 / 16 * 1rem);
		height: var(--size-12);
	}
}