/* CSS Document */
/* -----------------------------------------
 *
 * Table of Contents:
 *
 * 0.0 - tags
 * 1.0 - Repeatable Patterns
 * 2.0 - Basic Layout
 * 3.0 - Page setting
 ----------------------------------------- */
/* -----------------------------------------

	0.0 - tags

-----------------------------------------*/
html {
	touch-action: manipulation;
}
body {
	-ms-content-zooming: none;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	color: #000;
	line-height: 1.6;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
}

.en{
	font-family: 'IBM Plex Sans', sans-serif;
}
a{
	text-decoration: none;
	color: #000;
}

img {
	vertical-align: bottom;
}
a:hover img {
	opacity: 0.8;
}
a img {
	transition: opacity 0.3s ease-out;
}

hr.dash{
	border-top: 1px dashed #aaa;
}
.sp {
	display: none;
}
.pc {
	display: block;
}
@media (max-width: 750px) {
	.sp {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
}
.mb-10 {margin-bottom: 10px;}
.mb-20 {margin-bottom: 20px;}
.mb-30 {margin-bottom: 30px;}
.mb-40 {margin-bottom: 40px;}
.mb-50 {margin-bottom: 50px;}
.mb-60 {margin-bottom: 60px;}
.mb-70 {margin-bottom: 70px;}
.mb-80 {margin-bottom: 80px;}
.mb-90 {margin-bottom: 90px;}
.mb-100 {margin-bottom: 100px;}
.mb-110 {margin-bottom: 110px;}
.mb-120 {margin-bottom: 120px;}
.mb-130 {margin-bottom: 130px;}
.mb-140 {margin-bottom: 140px;}
.mb-150 {margin-bottom: 150px;}
.mb-160 {margin-bottom: 160px;}
.mb-170 {margin-bottom: 170px;}
.mb-180 {margin-bottom: 180px;}
.mb-190 {margin-bottom: 190px;}
.mb-200 {margin-bottom: 200px;}
@media (max-width: 640px) {
	.mb-10 {margin-bottom:1.333333333vw;}
	.mb-20 {margin-bottom:2.666666667vw;}
	.mb-30 {margin-bottom:4vw;}
	.mb-40 {margin-bottom:5.333333333vw;}
	.mb-50 {margin-bottom:6.666666667vw;}
	.mb-60 {margin-bottom:8vw;}
	.mb-70 {margin-bottom:9.333333333vw;}
	.mb-80 {margin-bottom:10.66666667vw;}
	.mb-90 {margin-bottom:12vw;}
	.mb-100 {margin-bottom:13.33333333vw;}
	.mb-110 {margin-bottom:14.66666667vw;}
	.mb-120 {margin-bottom:16vw;}
	.mb-130 {margin-bottom:17.33333333vw;}
	.mb-140 {margin-bottom:18.66666667vw;}
	.mb-150 {margin-bottom:20vw;}
	.mb-160 {margin-bottom:21.33333333vw;}
	.mb-170 {margin-bottom:22.66666667vw;}
	.mb-180 {margin-bottom:24vw;}
	.mb-190 {margin-bottom:25.33333333vw;}
	.mb-200 {margin-bottom:26.66666667vw;}
}

/* -----------------------------------------
wrapper
-----------------------------------------*/
#wrapper {
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	margin: auto;
}

/* -----------------------------------------
gfooter
-----------------------------------------*/
#gfooter-wrap {
	/*position: relative;*/
	z-index: 3000;
	background: #fff;
	color: #333;
	font-size: 80%;
	padding: 20px 0;
	text-align: center;
	line-height: 1.4;
	position: absolute;
	bottom: 0;
	width: 100%;
}
#gfooter-wrap address {
	margin-top: 10px;
	font-style: normal;
}
@media screen and (max-width: 750px) {
	#gfooter-wrap {
		font-size: 2.4vw;
	}
}

/* -----------------------------------------
g-header
-----------------------------------------*/
#g-header-wrap {
	/*position: fixed;*/
	width: 100%;
	left: 0;
	top: 0;
	z-index: 1;
}
#g-header {
	position: relative;
	top: 0;
	width: 100%;
	z-index: 1;
	overflow: hidden;
	text-align: left;
	max-width: 750px;
	margin: auto;
}
#g-header .cf {
	background: #fff;
}
#g-header h1 {
	float: left;
	width: 188px;
}


/* -----------------------------------------

	2.0 - Basic Layout

-----------------------------------------*/
#contents {
	margin: 0 auto;
	line-height: 1.55;
	font-size: 1.2vw;
	max-width: 100%;
	font-family: "M PLUS 1p", sans-serif;
	font-style: normal;
}
@media (max-width: 750px) {
	#contents {
		font-size: 2.59vw;
	}
}
#contents img {
	width: 100%;
}
#contents .w-750 {
	max-width: 750px;
	margin: auto;
}
#contents img {
	width: 100%;
}
li {
	list-style-type: none;
}
.fw-b {
	font-weight: 600;
}
.ta-c {
	text-align: center;
}
.attention-footer {
	font-size: 90%;
	margin: 0 0 6em;
}
.btn-top {
	text-align: center;
	font-weight: 500;
	margin-bottom: 3em;
}

.contents-footer{
	width: 76.2666%;
	margin-right: auto;
	margin-left: auto;
	padding: 3.5em 0 0;
}

.link_home{
	position: relative;
	border: 1px solid #707070;
}
.link_home a{
	font-family: 'IBM Plex Sans', sans-serif;
	color: #707070;
	display: block;
	font-size: 24px;
	font-weight: 500;
	padding: 5px 5%;
	position: relative;
	text-align: center;
}

.link_home a:after{
	content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 2px #707070;
	border-right: solid 2px #707070;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 3%;
	margin-top: -5px;
}

@media screen and (max-width: 750px) {
	.link_home a{
		padding: 2px 5%;
		font-size: 4.5vw;
	}
	.link_home a:after{
		width: 5px;
		height: 5px;
		right: 3%;
		margin-top: -2.5px;
	}
}

/* -----------------------------------------
page Layout
-----------------------------------------*/
#wrapper {
	padding-bottom: unset;
	margin-bottom: 0;
	line-break: strict;
}

#wrapper img {
	max-width: 100%;
	height: auto;
}
#contents {
	padding-bottom: 7.2vw;
	color: #545454;
	background-color: #fff;
}
#contents strong {
	font-weight: 700;
}

#contents * {
	box-sizing: border-box;
}

#contents .blackout {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0;
	pointer-events: none;
	z-index: 9999;
	transition: opacity .75s ease;
}
#contents .fade-out {
	opacity: 1;
	pointer-events: auto;
}

.wrap01 {
	display: flex;
	flex-wrap: wrap;
}
.wrap01.bC {
	justify-content: center;
}
.wrap01.between {
	justify-content: space-between;
}
.wrap01.aC {
	align-items: center;
}
.wrap01.aEnd {
	align-items: flex-end;
}
.wrap01.reverse {
	flex-direction: row-reverse;
}

.container01 {
	position: relative;
	padding: 0 3vw;
}
.heading01 {
	position: absolute;
	top: 4.1vw;
	left: 50%;
	translate: -50% 0;
	margin-left: 1.5vw;
	width: 37.8571vw;
}
.heading02 {
	margin-top: 2.0vw;
	color: #000;
	font-size: 1.5vw;
	font-weight: 700;
	text-align: center;
}

.columWrap01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.column01 {
	width: 45vw;
}
.column01.type02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: end;
	width: 84.76vw;
}

.column01.no02 {
	margin-top: 29.4vw;
}
.column01.no03 {
	margin-top: -22.61vw;
}
.column01.no04 {
	margin-top: 2.8vw;
}
.column01.no05 {
	margin-top: -10vw;
}
.column01.no06 {
	margin-top: 9vw;
}
.column01.no07 {
	margin-top: -18.45vw;
}

.column01 > .image01 {
	display: block;
	width: 36.42vw;
}
.column01 > .image03 {
	width: 39vw;
}
.column01 > .image04 {
	width: 36.42vw;
}

.column01 > .box01 {
	position: relative;
	margin-top: 2.3vw;
	padding-left: 14.2vw;
}
.column01 > .box01::before {
	position: absolute;
	top: 5.5vw;
	left: 0;
	width: 8.2vw;
	content: '';
	aspect-ratio: 69 / 41;
	background: url('../img/ic01.svg') no-repeat center center;
}
.column01 > .box01 > .title01 {
	width: 30vw;
}
.column01 > .box01 > .text01 {
	margin-top: 2vw;
	rotate: 0.3deg;
	text-align: justify;
}

.column01 > .box02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 2.3vw;
}
.column01 > .box02.type02 {
	flex-direction: row-reverse;
	width: 39vw;
}
.column01 > .box03 {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	width: 45.8vw;
}

.col01 {
	width: 65.78%;
}
.col01 > .text01 {
	rotate: 0.3deg;
	text-align: justify;
}

.col02 {
	margin-top: .2vw;
	width: 28.9%;
}
.col02 > .image01 {
	font-size: 0;
	text-align: right;
}
.col02 > .image01 {
	margin-left: auto;
	font-size: 0;
	text-align: right;
}
.col02 > .image01.w01 {
	width: 5.47vw;
}
.col02 > .image01.w02 {
	width: 9.7vw;
}
.col02 > .image01.w03 {
	width: 10.7vw;
}
.col02 > .image01.w04 {
	width: 8.4vw;
}

.col02 > .image02 {
	margin-top: 1.0vw;
	width: auto;
	height: .95vw;
	font-size: 0;
	text-align: right;
}

.col02 > .button01 {
	margin-top: 1.0vw;
}
.col02 > .button01 > a {
	transition: opacity .3s ease;
}

@media (any-hover: hover) {
	.col02 > .button01 > a:hover {
		opacity: .6;
	}
}

.col03 {
	width: 52.53%;
}
.col03 > .text01 {
	rotate: 0.3deg;
	text-align: justify;
}

.col04 {
	margin-top: .2vw;
	width: 37.8%;
}
.col04 > .image01 {
	font-size: 0;
}
.col04 > .image01.w01 {
	width: 15vw;
}

.col05 {
	width: 67.83%;
}
.col05 > .text01 {
	rotate: 0.3deg;
	text-align: justify;
}

.col06 {
	margin-top: .2vw;
	width: 28.4%;
}
.col06 > .image01 {
	font-size: 0;
}
.col06 > .image01.w01 {
	width: 11.42vw;
}

.col06 > .button01 {
	margin-top: 1.0vw;
}
.col06 > .button01 > a {
	transition: opacity .3s ease;
}

@media (any-hover: hover) {
	.col06 > .button01 > a:hover {
		opacity: .6;
	}
}

.col07 {
	position: relative;
	z-index: 2;
	margin-top: 6.78vw;
	margin-right: 6.66vw;
	width: 12.8vw;
}
.col07 > .image01 {
	margin: 0 auto;
	width: 6.66vw;
}

.col08 {
	position: relative;
	z-index: 2;
	margin-top: 6.78vw;
	width: 7.97vw;
}
.col08 > .image01 {
	margin: 0 auto;
	width: 6.66vw;
}
.col08 > .button01 {
	margin: 2.38vw auto 0;
	width: 5vw;
}

.section01 {
	margin-top: 10.11vw;
}

.section02 {
	margin-top: 8.33vw;
}
.headImg01 + .section02 {
	margin-top: 9.52vw;
}

.headImg01 {
	position: relative;
	margin: 0 auto;
	padding-left: 13.33vw;
	width: 51.78vw;
}
.headImg01::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 8.2vw;
	content: '';
	aspect-ratio: 69 / 40;
	background: url('../img/ic02.svg') no-repeat center center;
}

.headImg02 {
	position: relative;
	margin-left: 21.42vw;
	padding-left: 13.33vw;
	padding-bottom: 2.9vw;
	width: 54.16vw;
}
.headImg02::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 8.2vw;
	content: '';
	aspect-ratio: 69 / 41;
	background: url('../img/ic03.svg') no-repeat center center;
}

.subSection01 {
	position: relative;
	z-index: 2;
	margin-top: -.3vw;
	padding-left: 34.75vw;
	padding-right: 10.2vw;
}

.subSection01 > .image01 {
	position: absolute;
	top: 5.6vw;
	left: 1.1vw;
	width: 28.57vw;
}
.subSection01 > .image01 > .icon01 {
	display: block;
	position: absolute;
	top: -3vw;
	left: 2.17vw;
	rotate: 0.3deg;
	color: #000;
	font-size: 1.785vw;
}

.subSection01 > .image02 {
	position: relative;
	display: block;
	margin-top: 1.6vw;
	margin-left: -1.3vw;
	width: 57.92vw;
}
.subSection01 > .image02 > .icon01 {
	display: block;
	position: absolute;
	top: 3.6vw;
	left: 1.54vw;
	rotate: 0.3deg;
	color: #000;
	font-size: 1.785vw;
}

.catch01 {
	margin-top: 2vw;
	color: #545454;
	font-size: 1.5vw;
	font-weight: 700;
	text-align: center;
}
.catch02 {
	color: #545454;
	font-weight: 700;
	rotate: .3deg;
}

.img01 {
	position: relative;
}
.img01 > .icon01 {
	position: absolute;
	top: -6.5vw;
	right: 4.2vw;
	width: 6.9vw !important;
}

.txt01 {
	margin-top: 2vw;
	text-align: center;
	rotate: 0.3deg;
}
.txt02 {
	position: relative;
	z-index: 2;
	margin-top: 2vw;
	rotate: 0.3deg;
	text-align: justify;
}
.txt02 > .font01 {
	display: block;
	font-size: 1.07vw;
	line-height: 1.4;
}

.notes01 {
	margin-top: 4vw;
	color: #000;
	font-size: 1.0vw;
	text-align: center;
	rotate: 0.3deg;
}

.btn01 {
	margin: 2vw auto 0;
	width: 13.023vw;
}
.btn01 > a {
	transition: opacity .3s ease;
}

@media (any-hover: hover) {
	.btn01 > a:hover {
		opacity: .6;
	}
}

.list01 {
	display: flex;
	justify-content: center;
	margin-top: 2.38vw;
	column-gap: 2.73vw;
}
.list01 > li {
	width: 5vw;
}

.bnr01 {
	margin: 5.47vw auto 0;
	width: 26.19vw;
}

.bnr02 {
	margin: 5.47vw auto 0;
	width: 38vw;
}

@media screen and (max-width: 750px) {
	#wrapper {
		margin-bottom: 0;
	}
	#contents {
		padding-bottom: 12.96vw;
	}

	.container01 {
		padding: 0;
	}
	.heading01 {
		top: 22.59vw;
		margin-left: 3.1vw;
		width: 63.08vw;
	}
	.heading02 {
		margin-top: 4.9vw;
		font-size: 3.58vw;
	}

	.column01 {
		width: 100vw;
	}
	.column01.type02 {
		width: 100%;
	}

	.column01.no02 {
		margin-top: 6.17vw;
	}
	.column01.no03 {
		margin-top: 6.17vw;
	}
	.column01.no04 {
		margin-top: 6.17vw;
	}
	.column01.no05 {
		margin-top: 6.17vw;
	}
	.column01.no06 {
		margin-top: 6.17vw;
	}
	.column01.no07 {
		margin-top: 6.17vw;
	}

	.column01 > .image01 {
		width: 68.5vw;
	}
	.column01 > .image02 {
		margin: 0 auto;
		width: 79.62vw;
	}
	.column01 > .image03 {
		width: 100%;
	}
	.column01 > .image04 {
		margin: 0 auto;
		width: 79.62vw;
	}

	.column01 > .box01 {
		position: relative;
		margin-top: 6.17vw;
		padding-left: 30.3vw;
	}
	.column01 > .box01::before {
		top: 2.3vw;
		left: 10.12vw;
		width: 14.8vw;
	}
	.column01 > .box01 > .title01 {
		padding-right: 6.17vw;
		width: 100%;
	}
	.column01 > .box01 > .text01 {
		margin-top: 4.9vw;
		padding-right: 6.17vw;
		width: 100%;
	}

	.column01 > .box02 {
		margin: 6.17vw auto 0;
		width: 83.33vw;
	}
	.column01 > .box02.type02 {
		width: 83.33vw;
	}
	.column01 > .box03 {
		margin: 6.17vw auto 0;
		width: 83.33vw;
	}

	.col01 {
		width: 61.48%;
	}

	.col02 {
		margin-top: .2vw;
		width: 34.07%;
	}
	.col02 > .image01.w01 {
		width: 11.85vw;
	}
	.col02 > .image01.w02 {
		width: 20.74vw;
	}
	.col02 > .image01.w03 {
		width: 22.71vw;
	}
	.col02 > .image01.w04 {
		width: 18.02vw;
	}

	.col02 > .image02 {
		margin-top: 2.4vw;
		height: 2.0vw;
	}
	.col02 > .button01 {
		margin-top: 2.4vw;
	}

	.col03 {
		width: 59.07%;
	}
	.col04 {
		margin-top: .2vw;
		width: 36.8%;
	}
	.col04 > .image01.w01 {
		width: 29.62vw;
	}
	.col04 > .image02 {
		margin-top: 2.4vw;
		height: 2.0vw;
	}

	.col05 {
		width: 61.76%;
	}
	.col06 {
		margin-top: .2vw;
		width: 33.6%;
	}
	.col06 > .image01.w01 {
		width: 24.32vw;
	}
	.col06 > .image02 {
		margin-top: 2.4vw;
		height: 2.0vw;
	}
	.col06 > .button01 {
		margin-top: 2.4vw;
	}


	.col07 {
		margin-top: 9.01vw;
		margin-right: 9.01vw;
		width: 20vw;
	}
	.col07 > .image01 {
		margin: 0 auto;
		width: 12.22vw;
	}

	.col08 {
		margin-top: 9.01vw;
		width: 12.34vw;
	}
	.col08 > .image01 {
		margin: 0 auto;
		width: 12.34vw;
	}
	.col08 > .button01 {
		margin: 3.95vw auto 0;
		width: 7.77vw;
	}

	.section01 {
		margin-top: 8.64vw;
	}
	.section02 {
		margin-top: 12.34vw;
	}
	.headImg01 + .section02 {
		margin-top: 12.34vw;
	}

	.headImg01 {
		padding-top: 14.19vw;
		padding-left: 0;
		width: 80.86vw;
	}
	.headImg01::before {
		width: 14.8vw;
	}
	.headImg02 {
		margin: 0 auto;
		padding-top: 14.19vw;
		padding-left: 0;
		padding-bottom: 0;
		width: 86.41vw;
	}
	.headImg02::before {
		top: 0;
		left: 2.9vw;
		width: 14.8vw;
	}

	.subSection01 {
		margin: 4.6vw auto 0;
		padding-left: 0;
		padding-right: 0;
		width: 86.41vw;
	}

	.subSection01 > .image01 {
		position: absolute;
		top: auto;
		left: -4.6vw;
		bottom: -1.9vw;
		width: 44.9vw;
	}
	.subSection01 > .image01 > .icon01 {
		top: -5vw;
		left: 3.4vw;
		rotate: 0.3deg;
		color: #000;
		font-size: 3vw;
	}

	.subSection01 > .image02 {
		margin-top: 7.7vw;
		margin-left: 39.15vw;
		width: 51.72vw;
	}
	.subSection01 > .image02 > .icon01 {
		top: -4vw;
		left: .1vw;
		font-size: 3vw;
	}

	.catch01 {
		margin-top: 4.9vw;
		font-size: 2.59vw;
	}
	.catch02 {
		font-size: 2.19vw;
	}

	.img01 > .icon01 {
		display: none;
	}

	.txt01 {
		margin: 4.9vw auto 0;
		width: 80.24vw;
	}

	.txt02 {
		margin-top: 4.0vw;
		font-size: 2.19vw;
	}
	.txt02 > .font01 {
		font-size: 1.8vw;
	}

	.notes01 {
		margin: 7vw 3.5vw 0;
		font-size: 2.3vw;
	}

	.btn01 {
		margin-top: 3.7vw;
		width: 27.99vw;
	}

	.list01 {
		margin-top: 3.95vw;
		column-gap: 3.95vw;
	}
	.list01 > li {
		width: 7.77vw;
	}

	.bnr01 {
		margin-top: 8.39vw;
		width: 40.4vw;
	}

	.bnr02 {
		margin-top: 8.51vw;
		width: 59.13vw;
	}
}
