@charset "utf-8";

/*
*********************************************************************************
/*
/* reset
/*
/*******************************************************************************/

html {
	font-size: 62.5%;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-y: scroll;
	margin: 0;
	padding: 0;
	border: 0;
	text-align: left;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
}

body,
select {
	font-family: var(--font-main);
	background: #fff;
	color: var(--main-font-color);
	font-size: 1.6rem;
	line-height: var(--default-line-height);
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: normal;
}

body {
	margin: 0;
	padding: 0;
	border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
th,
optgroup {
	font-weight: 400;
}

::-webkit-validation-bubble-heading {
	font-weight: normal;
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	-webkit-appearance: none;
}

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

address,
article,
aside,
blockquote,
canvas,
dd,
div,
dl,
dt,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hr,
li,
main,
nav,
noscript,
ol,
output,
p,
pre,
section,
table,
tfoot,
ul,
video,
audio,
caption,
details,
embed,
ins,
legend,
menu,
summary,
tbody,
td,
th,
thead,
tr,
small {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: bottom;
	font-size: 100%;
	list-style: none;
	letter-spacing: var(--default-letter-spacing);
	font-weight: 600;
}

a,
abbr,
acronym,
*:after,
b,
bdo,
*:before,
big,
br,
button,
cite,
code,
dfn,
em,
i,
img,
input,
kbd,
label,
map,
object,
q,
samp,
script,
select,
small,
span,
strong,
sub,
sup,
textarea,
time,
tt,
var,
applet,
audio,
del,
mark,
strike,
u {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: bottom;
	list-style: none;
}

em {
	font-style: normal;
}

address {
	font-weight: normal;
}

article,
aside,
canvas,
details,
figcaption,
figure,
header,
footer,
main,
menu,
nav,
section,
summary {
	display: block;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none;
}

input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	outline: none;
}

textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="search"],
input[type="reset"],
select {
	border: 0;
}

input[type="text"],
select,
textarea {
	border: 1px solid #ccc;
}

input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
	outline-offset: -2px;
}

input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
}

::-webkit-input-placeholder {
	color: #7f7f7f;
}

::-moz-placeholder {
	color: #7f7f7f;
}

:-moz-placeholder {
	color: #7f7f7f;
}

:-ms-input-placeholder {
	color: #7f7f7f;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

a:focus {
	outline: none;
}

img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: block;
}

sup {
	font-size: 72%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}

sub {
	font-size: 75%;
	vertical-align: baseline;
	position: relative;
}

strong {
	font-weight: bold;
}

a img {
	backface-visibility: hidden;
}

#wrapper {
	position: relative;
	overflow: clip;
}

.display_none {
	display: none !important;
}

/*
*********************************************************************************
/*
/* font / a
/*
/*******************************************************************************/

.kome {
	padding-left: 1em;
	text-indent: -1em;
}

.kome_block {
	padding-left: 1em;
	text-indent: -1em;
	display: block;
}

.kome * {
	text-indent: 0;
}

.txt_min {
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 Pr6 W6",
		"Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.hosoku {
	font-size: 1.3rem;
}

.txtb {
	font-size: 120%;
	vertical-align: baseline;
}

.txtms {
	font-size: 90%;
	vertical-align: baseline;
}

.txts {
	font-size: 70%;
	vertical-align: baseline;
}

.txtf {
	color: #ff0000;
}

.txtf02 {
	color: #ff0000;
}

.attxt {
	color: #ff0000;
}

.bold,
.strong {
	font-weight: bold;
}

a {
	text-decoration: underline;
	color: inherit;
	opacity: 1;
	transition: 0.5s ease;
}

img {
	image-rendering: -webkit-optimize-contrast;
}

.sent p+p,
.sent .pstyle+.pstyle,
.sent p+.pstyle,
.sent p+.pstyle {
	margin-top: 0.8em;
}

.txt_none {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
}

.tac {
	text-align: center !important;
}

.tal {
	text-align: left !important;
}

.tar {
	text-align: right !important;
}

[class^="iconfont_"]:before,
[class*=" iconfont_"]:before {
	vertical-align: baseline;
	text-decoration: none;
}

[class*=" iconfont_"],
[class^="iconfont_"] {
	line-height: inherit;
}

/*
*********************************************************************************
/*
/* img
/*
/*******************************************************************************/
canvas.apng-image {
	width: 100%;
}

/*
*********************************************************************************
/*
/* option
/*
/*******************************************************************************/

.tal {
	text-align: left !important;
}

.tar {
	text-align: right !important;
}

.tac {
	text-align: center !important;
}

.clearfix:after,
.container:after {
	content: "";
	clear: both;
	display: block;
	height: 0;
	font-size: 0;
	visibility: hidden;
}

.oft {
	position: relative;
	display: block;
	overflow: hidden;
}

.oft img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

/*++++++++++++++++++++++++++++
m_youtube
++++++++++++++++++++++++++++*/
.youtube,
.p_youtube,
.m_youtube {
	position: relative;
	width: 100%;
	aspect-ratio: 560/315;
	margin-top: 4rem;
}

.youtube iframe,
.p_youtube iframe,
.m_youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/*++++++++++++++++++++++++++++
m_map
++++++++++++++++++++++++++++*/
.googlemap,
.m_map {
	position: relative;
	overflow: hidden;
	height: 100vw;
	margin-top: var(--under-box-mt);
}

.googlemap,
.m_map {

	iframe,
	object,
	embed {
		width: 100%;
		height: 100%;
	}
}

/*++++++++++++++++++++++++++++
variable
++++++++++++++++++++++++++++*/
/* v_col */
:root .v_col01 {
	--col: 1;
}

:root .v_col02 {
	--col: 2;
}

:root .v_col03 {
	--col: 3;
}

:root .v_col04 {
	--col: 4;
}

@media screen and (min-width: 600px) {

	/*++++++++++++++++++++++++++++
v_col_pc
++++++++++++++++++++++++++++*/
	:root .v_col01_pc {
		--col: 1;
	}

	:root .v_col02_pc {
		--col: 2;
	}

	:root .v_col03_pc {
		--col: 3;
	}

	:root .v_col04_pc {
		--col: 4;
	}

		:root .v_col05_pc {
		--col: 5;
	}

	.p_youtube,
	.m_youtube {
		max-width: 80rem;
		margin-left: auto;
		margin-right: auto;
	}


	/*++++++++++++++++++++++++++++
	m_map
	++++++++++++++++++++++++++++*/
	.m_map {
		height: 45rem;
	}
}

/*****************************
------------------------------
ふわっとフェードイン
------------------------------
*****************************/
.sa {
	opacity: 0;
	transition: all 0.9s ease;
}

.sa.show {
	opacity: 1;
	transform: none;
}

.sa--lr {
	transform: translate(-25px, 0);
}

.sa--rl {
	transform: translate(25px, 0);
}

.sa--up {
	transform: translate(0, 25px);
}

.sa--down {
	transform: translate(0, -25px);
}

.sa--scaleUp {
	transform: scale(0.5);
}

.sa--scaleDown {
	transform: scale(1.5);
}

.sa--rotateL {
	transform: rotate(180deg);
}

.sa--rotateR {
	transform: rotate(-180deg);
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
animation
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
@keyframes opacityOn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes opacityOff {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

@keyframes widthToMax {
	0% {
		width: 0;
	}

	100% {
		width: 100%;
	}
}

@keyframes arrowAnime {
	0% {
		opacity: 1;
		transform: translate(0);
	}

	49% {
		opacity: 0;
		transform: translateX(40%);
	}

	51% {
		opacity: 0;
		transform: translateX(-40%);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
余白
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.mb00 {
	margin-bottom: 0 !important;
}

.mt00 {
	margin-top: 0 !important;
}

.mtll {
	margin-top: 15vw !important;
}

.mbll {
	margin-bottom: 15vw !important;
}

.ptll {
	padding-top: 15vw !important;
}

.pbll {
	padding-bottom: 15vw !important;
}

.mtl {
	margin-top: 13vw !important;
}

.mbl {
	margin-bottom: 13vw !important;
}

.ptl {
	padding-top: 13vw !important;
}

.pbl {
	padding-bottom: 13vw !important;
}

.mtml {
	margin-top: 8vw !important;
}

.mbml {
	margin-bottom: 8vw !important;
}

.ptml {
	padding-top: 8vw !important;
}

.pbml {
	padding-bottom: 8vw !important;
}

.mtm {
	margin-top: 7vw !important;
}

.mbm {
	margin-bottom: 7vw !important;
}

.ptm {
	padding-top: 7vw !important;
}

.pbm {
	padding-bottom: 7vw !important;
}

.mtms {
	margin-top: 5vw !important;
}

.mbms {
	margin-bottom: 5vw !important;
}

.ptms {
	padding-top: 5vw !important;
}

.pbms {
	padding-bottom: 5vw !important;
}

.mts {
	margin-top: 3vw !important;
}

.mbs {
	margin-bottom: 3vw !important;
}

.pts {
	padding-top: 3vw !important;
}

.pbs {
	padding-bottom: 3vw !important;
}

.mtss {
	margin-top: 1vw !important;
}

.mbss {
	margin-bottom: 1vw !important;
}

.ptss {
	padding-top: 1vw !important;
}

.pbss {
	padding-bottom: 1vw !important;
}

:root {
	--important-gutter-half: 0px;
}

.v_gutter_half {
	--important-gutter-half: 0.5vw;
}

.v_gutter_half_zero {
	--important-gutter-half: 0px;
}

.mt01 {
	margin-top: calc(1vw + var(--important-gutter-half)) !important;
}

.mt02 {
	margin-top: calc(2vw + var(--important-gutter-half)) !important;
}

.mt03 {
	margin-top: calc(3vw + var(--important-gutter-half)) !important;
}

.mt04 {
	margin-top: calc(4vw + var(--important-gutter-half)) !important;
}

.mt05 {
	margin-top: calc(5vw + var(--important-gutter-half)) !important;
}

.mt06 {
	margin-top: calc(6vw + var(--important-gutter-half)) !important;
}

.mt07 {
	margin-top: calc(7vw + var(--important-gutter-half)) !important;
}

.mt08 {
	margin-top: calc(8vw + var(--important-gutter-half)) !important;
}

.mt09 {
	margin-top: calc(9vw + var(--important-gutter-half)) !important;
}

.mt10 {
	margin-top: calc(10vw + var(--important-gutter-half)) !important;
}

.mt11 {
	margin-top: calc(11vw + var(--important-gutter-half)) !important;
}

.mt12 {
	margin-top: calc(12vw + var(--important-gutter-half)) !important;
}

.mt13 {
	margin-top: calc(13vw + var(--important-gutter-half)) !important;
}

.mt14 {
	margin-top: calc(14vw + var(--important-gutter-half)) !important;
}

.mt15 {
	margin-top: calc(15vw + var(--important-gutter-half)) !important;
}

.mb01 {
	margin-bottom: calc(1vw + var(--important-gutter-half)) !important;
}

.mb02 {
	margin-bottom: calc(2vw + var(--important-gutter-half)) !important;
}

.mb03 {
	margin-bottom: calc(3vw + var(--important-gutter-half)) !important;
}

.mb04 {
	margin-bottom: calc(4vw + var(--important-gutter-half)) !important;
}

.mb05 {
	margin-bottom: calc(5vw + var(--important-gutter-half)) !important;
}

.mb06 {
	margin-bottom: calc(6vw + var(--important-gutter-half)) !important;
}

.mb07 {
	margin-bottom: calc(7vw + var(--important-gutter-half)) !important;
}

.mb08 {
	margin-bottom: calc(8vw + var(--important-gutter-half)) !important;
}

.mb09 {
	margin-bottom: calc(9vw + var(--important-gutter-half)) !important;
}

.mb10 {
	margin-bottom: calc(10vw + var(--important-gutter-half)) !important;
}

.mb11 {
	margin-bottom: calc(11vw + var(--important-gutter-half)) !important;
}

.mb12 {
	margin-bottom: calc(12vw + var(--important-gutter-half)) !important;
}

.mb13 {
	margin-bottom: calc(13vw + var(--important-gutter-half)) !important;
}

.mb14 {
	margin-bottom: calc(14vw + var(--important-gutter-half)) !important;
}

.mb15 {
	margin-bottom: calc(15vw + var(--important-gutter-half)) !important;
}

@media screen and (min-width: 600px) {
	.mtll {
		margin-top: 120px !important;
	}

	.mbll {
		margin-bottom: 120px !important;
	}

	.ptll {
		padding-top: 120px !important;
	}

	.pbll {
		padding-bottom: 120px !important;
	}

	.mtl {
		margin-top: 80px !important;
	}

	.mbl {
		margin-bottom: 80px !important;
	}

	.ptl {
		padding-top: 80px !important;
	}

	.pbl {
		padding-bottom: 80px !important;
	}

	.mtml {
		margin-top: 60px !important;
	}

	.mbml {
		margin-bottom: 60px !important;
	}

	.ptml {
		padding-top: 60px !important;
	}

	.pbml {
		padding-bottom: 60px !important;
	}

	.mtm {
		margin-top: 30px !important;
	}

	.mbm {
		margin-bottom: 30px !important;
	}

	.ptm {
		padding-top: 30px !important;
	}

	.pbm {
		padding-bottom: 30px !important;
	}

	.mtms {
		margin-top: 20px !important;
	}

	.mbms {
		margin-bottom: 20px !important;
	}

	.ptms {
		padding-top: 20px !important;
	}

	.pbms {
		padding-bottom: 20px !important;
	}

	.mts {
		margin-top: 20px !important;
	}

	.mbs {
		margin-bottom: 20px !important;
	}

	.pts {
		padding-top: 20px !important;
	}

	.pbs {
		padding-bottom: 20px !important;
	}

	.mtss {
		margin-top: 10px !important;
	}

	.mbss {
		margin-bottom: 10px !important;
	}

	.ptss {
		padding-top: 10px !important;
	}

	.pbss {
		padding-bottom: 10px !important;
	}

	:root {
		--important-gutter-half: 0px;
	}

	.v_gutter_half {
		--important-gutter-half: 5px;
	}

	.mt01 {
		margin-top: calc(10px + var(--important-gutter-half)) !important;
	}

	.mt02 {
		margin-top: calc(20px + var(--important-gutter-half)) !important;
	}

	.mt03 {
		margin-top: calc(30px + var(--important-gutter-half)) !important;
	}

	.mt04 {
		margin-top: calc(40px + var(--important-gutter-half)) !important;
	}

	.mt05 {
		margin-top: calc(50px + var(--important-gutter-half)) !important;
	}

	.mt06 {
		margin-top: calc(60px + var(--important-gutter-half)) !important;
	}

	.mt07 {
		margin-top: calc(70px + var(--important-gutter-half)) !important;
	}

	.mt08 {
		margin-top: calc(80px + var(--important-gutter-half)) !important;
	}

	.mt09 {
		margin-top: calc(90px + var(--important-gutter-half)) !important;
	}

	.mt10 {
		margin-top: calc(100px + var(--important-gutter-half)) !important;
	}

	.mt11 {
		margin-top: calc(110px + var(--important-gutter-half)) !important;
	}

	.mt12 {
		margin-top: calc(120px + var(--important-gutter-half)) !important;
	}

	.mt13 {
		margin-top: calc(130px + var(--important-gutter-half)) !important;
	}

	.mt14 {
		margin-top: calc(140px + var(--important-gutter-half)) !important;
	}

	.mt15 {
		margin-top: calc(150px + var(--important-gutter-half)) !important;
	}

	.mb01 {
		margin-bottom: calc(10px + var(--important-gutter-half)) !important;
	}

	.mb02 {
		margin-bottom: calc(20px + var(--important-gutter-half)) !important;
	}

	.mb03 {
		margin-bottom: calc(30px + var(--important-gutter-half)) !important;
	}

	.mb04 {
		margin-bottom: calc(40px + var(--important-gutter-half)) !important;
	}

	.mb05 {
		margin-bottom: calc(50px + var(--important-gutter-half)) !important;
	}

	.mb06 {
		margin-bottom: calc(60px + var(--important-gutter-half)) !important;
	}

	.mb07 {
		margin-bottom: calc(70px + var(--important-gutter-half)) !important;
	}

	.mb08 {
		margin-bottom: calc(80px + var(--important-gutter-half)) !important;
	}

	.mb09 {
		margin-bottom: calc(90px + var(--important-gutter-half)) !important;
	}

	.mb10 {
		margin-bottom: calc(100px + var(--important-gutter-half)) !important;
	}

	.mb11 {
		margin-bottom: calc(110px + var(--important-gutter-half)) !important;
	}

	.mb12 {
		margin-bottom: calc(120px + var(--important-gutter-half)) !important;
	}

	.mb13 {
		margin-bottom: calc(130px + var(--important-gutter-half)) !important;
	}

	.mb14 {
		margin-bottom: calc(140px + var(--important-gutter-half)) !important;
	}

	.mb15 {
		margin-bottom: calc(150px + var(--important-gutter-half)) !important;
	}

	.mt00_pc {
		margin-top: 0 !important;
	}

	.mt01_pc {
		margin-top: calc(10px + var(--important-gutter-half)) !important;
	}

	.mt02_pc {
		margin-top: calc(20px + var(--important-gutter-half)) !important;
	}

	.mt03_pc {
		margin-top: calc(30px + var(--important-gutter-half)) !important;
	}

	.mt04_pc {
		margin-top: calc(40px + var(--important-gutter-half)) !important;
	}

	.mt05_pc {
		margin-top: calc(50px + var(--important-gutter-half)) !important;
	}

	.mt06_pc {
		margin-top: calc(60px + var(--important-gutter-half)) !important;
	}

	.mt07_pc {
		margin-top: calc(70px + var(--important-gutter-half)) !important;
	}

	.mt08_pc {
		margin-top: calc(80px + var(--important-gutter-half)) !important;
	}

	.mt09_pc {
		margin-top: calc(90px + var(--important-gutter-half)) !important;
	}

	.mt10_pc {
		margin-top: calc(100px + var(--important-gutter-half)) !important;
	}

	.mt11_pc {
		margin-top: calc(110px + var(--important-gutter-half)) !important;
	}

	.mt12_pc {
		margin-top: calc(120px + var(--important-gutter-half)) !important;
	}

	.mt13_pc {
		margin-top: calc(130px + var(--important-gutter-half)) !important;
	}

	.mt14_pc {
		margin-top: calc(140px + var(--important-gutter-half)) !important;
	}

	.mt15_pc {
		margin-top: calc(150px + var(--important-gutter-half)) !important;
	}

	.mb00_pc {
		margin-bottom: 0 !important;
	}

	.mb01_pc {
		margin-bottom: calc(10px + var(--important-gutter-half)) !important;
	}

	.mb02_pc {
		margin-bottom: calc(20px + var(--important-gutter-half)) !important;
	}

	.mb03_pc {
		margin-bottom: calc(30px + var(--important-gutter-half)) !important;
	}

	.mb04_pc {
		margin-bottom: calc(40px + var(--important-gutter-half)) !important;
	}

	.mb05_pc {
		margin-bottom: calc(50px + var(--important-gutter-half)) !important;
	}

	.mb06_pc {
		margin-bottom: calc(60px + var(--important-gutter-half)) !important;
	}

	.mb07_pc {
		margin-bottom: calc(70px + var(--important-gutter-half)) !important;
	}

	.mb08_pc {
		margin-bottom: calc(80px + var(--important-gutter-half)) !important;
	}

	.mb09_pc {
		margin-bottom: calc(90px + var(--important-gutter-half)) !important;
	}

	.mb10_pc {
		margin-bottom: calc(100px + var(--important-gutter-half)) !important;
	}

	.mb11_pc {
		margin-bottom: calc(110px + var(--important-gutter-half)) !important;
	}

	.mb12_pc {
		margin-bottom: calc(120px + var(--important-gutter-half)) !important;
	}

	.mb13_pc {
		margin-bottom: calc(130px + var(--important-gutter-half)) !important;
	}

	.mb14_pc {
		margin-bottom: calc(140px + var(--important-gutter-half)) !important;
	}

	.mb15_pc {
		margin-bottom: calc(150px + var(--important-gutter-half)) !important;
	}
}