﻿/*----------------------------------------
全体
----------------------------------------*/

body {
	font-size: 4.5vw;
	line-height: 6.5vw;
	word-break: break-word;
	text-size-adjust: none;
}

.wrapper {
	margin: 0 auto;
	width: 95%;
}

.pc-left {
	float: none;
	margin: 0 auto;
}

.pc-right {
	float: none;
	margin: 0 auto;
}

.alignleft {
	float: none;
	margin: 0 auto;
}

.alignright {
	float: none;
	margin: 0 auto;
}

.pc-t-center {
	text-align: left !important;
}

.pc-of {
	overflow: visible;
}

a:hover img {
	opacity: 1;
}

a:hover .img-banner {
	opacity: 1;
}

a.bo {
	text-decoration: underline;
}

a.bo:hover {
	text-decoration: underline;
}

a.no-bo {
	text-decoration: underline;
}

a.no-bo:hover {
	text-decoration: underline;
}

.full-sp {
	height: auto;
	width: 100% !important;
}

.list {
	margin-bottom: 5vw;
}

.list li {
	margin-left: 4.5vw !important;
}

_::-webkit-full-page-media, _:future, :root .list li {
	margin-left: 5.75vw !important;
}

.num-list {
	margin-bottom: 5vw;
}

.num-list li {
	margin-left: 5vw !important;
}

_::-webkit-full-page-media, _:future, :root .num-list li {
	margin-left: 7vw !important;
}

.num-list li:nth-child(n+10) {
	margin-left: 7vw !important;
}

_::-webkit-full-page-media, _:future, :root .num-list li:nth-child(n+10) {
	margin-left: 9.5vw !important;
}

.num-list-2 {
	margin-bottom: 5vw;
}

.num-list-2 li {
	padding-left: 8.5vw !important;
}

.check-list {
	margin-bottom: 5vw;
}

.check-list li {
	margin-bottom: 2.5vw;
	min-height: 6vw;
	padding-left: 9vw;
}

.check-list li::before {
	border: 0.8vw solid #000;
	height: 6vw;
	top: 0.55vw;
	width: 6vw;
}

.check-list li::after {
	border-right: 1vw solid #ff0000;
	border-bottom: 1vw solid #ff0000;
	left: 3.5vw;
	height: 5vw;
	top: -0.2vw;
	width: 3vw;
}

.douga {
	margin: 0 auto;
	padding-top: 56.25%;
	position: relative;
	width: 100%;
}

.douga.vimeo {
	padding-top: 56.25%;
}

.douga iframe {
	left: 0;
	height: 100%;
	position: absolute;
	top: 0;
	width: 100%;
}

.douga img {
	height: auto;
	margin: 0 auto;
	width: 95%;
}

.text-base {
	padding-left: 4.5vw;
}

.text-base-2 {
	padding-left: 9vw;
}

.text-base-3 {
	padding-left: 13.5vw;
}

.text-base-4 {
	padding-left: 18vw;
}

.text-base-5 {
	padding-left: 22.5vw;
}

.pc {
	display: none;
}

.pc.tab {
	display: none;
}

.pc.tab.mobi {
	display: block;
}

.tab {
	display: none;
}

.tab.mobi {
	display: block;
}

.pc.mobi {
	display: block;
}

.mobi {
	display: block;
}

.m20 {
	margin: 2.5vw !important;
}

.mt20 {
	margin-top: 2.5vw !important;
}

.mb20 {
	margin-bottom: 2.5vw !important;
}

.no-mt20 {
	margin-top: -5vw !important;
}

.mt-20 {
	margin-top: 5vw !important;
}

.mb-20 {
	margin-bottom: 5vw !important;
}

.ml20 {
	margin-left: 2.5vw !important;
}

.mr20 {
	margin-right: 2.5vw !important;
}

.m40 {
	margin: 5vw !important;
}

.mt40 {
	margin-top: 5vw !important;
}

.mb40 {
	margin-bottom: 5vw !important;
}

.ml40 {
	margin-left: 5vw !important;
}

.mr40 {
	margin-right: 5vw !important;
}

.m60 {
	margin: 7.5vw !important;
}

.mt60 {
	margin-top: 7.5vw !important;
}

.mt-60 {
	margin-top: 10vw !important;
}

.mb60 {
	margin-bottom: 7.5vw !important;
}

.mb-60 {
	margin-bottom: 10vw !important;
}

.ml60 {
	margin-left: 7.5vw !important;
}

.mr60 {
	margin-right: 7.5vw !important;
}

.m80 {
	margin: 10vw !important;
}

.mt80 {
	margin-top: 10vw !important;
}

.mb80 {
	margin-bottom: 10vw !important;
}

.ml80 {
	margin-left: 10vw !important;
}

.mr80 {
	margin-right: 10vw !important;
}

.m100 {
	margin: 12.5vw !important;
}

.mt100 {
	margin-top: 12.5vw !important;
}

.mb100 {
	margin-bottom: 12.5vw !important;
}

.ml100 {
	margin-left: 12.5vw !important;
}

.mr100 {
	margin-right: 12.5vw !important;
}

.p20 {
	padding: 2.5vw !important;
}

.pt20 {
	padding-top: 2.5vw !important;
}

.pb20 {
	padding-bottom: 2.5vw !important;
}

.pl20 {
	padding-left: 2.5vw !important;
}

.pr20 {
	padding-right: 2.5vw !important;
}

.p40 {
	padding: 5vw !important;
}

.pt40 {
	padding-top: 5vw !important;
}

.pb40 {
	padding-bottom: 5vw !important;
}

.pl40 {
	padding-left: 5vw !important;
}

.pr40 {
	padding-right: 5vw !important;
}

.p60 {
	padding: 7.5vw !important;
}

.pt60 {
	padding-top: 7.5vw !important;
}

.pb60 {
	padding-bottom: 7.5vw !important;
}

.pl60 {
	padding-left: 7.5vw !important;
}

.pr60 {
	padding-right: 7.5vw !important;
}

.p80 {
	padding: 10vw !important;
}

.pt80 {
	padding-top: 10vw !important;
}

.pb80 {
	padding-bottom: 10vw !important;
}

.pl80 {
	padding-left: 10vw !important;
}

.pr80 {
	padding-right: 10vw !important;
}

.p100 {
	padding: 12.5vw !important;
}

.pt100 {
	padding-top: 12.5vw !important;
}

.pb100 {
	padding-bottom: 12.5vw !important;
}

.pl100 {
	padding-left: 12.5vw !important;
}

.pr100 {
	padding-right: 12.5vw !important;
}

/*----------------------------------------
文字スタイル
----------------------------------------*/

.fs15 {
	font-size: 3.5vw !important;
	line-height: 5.5vw !important;
}

.fs23 {
	font-size: 5.5vw !important;
	line-height: 7.5vw !important;
}

.fs30 {
	font-size: 8vw !important;
	line-height: 10vw !important;
}

.fs40 {
	font-size: 9.5vw !important;
	line-height: 11.5vw !important;
}

.fs50 {
	font-size: 11vw !important;
	line-height: 13vw !important;
}

/*----------------------------------------
画像関連
----------------------------------------*/

/*----------------------------------------
header
----------------------------------------*/

.head-in {
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.6);
}

.head-in-logo {
	float: left;
	margin: 10px 0 10px 2.5vw;
	padding-left: 34px;
}

.head-in-logo-icon {
	width: 30px;
}

.head-in-logo-icon::before {
	background: url(images/logo.png) no-repeat;
	padding-bottom: 100%;
}

.head-in-logo .big {
	font-size: 20px;
	letter-spacing: 0.05vw;
}

.head-in-logo .mini {
	font-size: 13px;
	letter-spacing: 0.04vw;
	margin-top: 5px;
}

.head-in-new-logo {
	float: left;
	margin: 5px 0;
	margin-left: 2.5vw;
}

.head-in-new-logo:hover {
	opacity: 1;
}

.head-in-new-logo-in {
	width: 100px;
}

.head-in-new-logo-in .img-banner {
	background: url(images/logo-new.jpg) no-repeat;
	padding-bottom: 32.840%;
}

.head-in-new-logo .mini {
	font-size: 10px;
	letter-spacing: 0.04vw;
	margin-top: 5px;
}

.head-in-sp-menu-btn {
	box-sizing: border-box;
	cursor: pointer;
	display: block;
	float: right;
	height: 38px;
	margin: 10px 0;
	margin-right: 2.5vw;
	text-decoration: none;
	width: 38px;
}

.head-in-sp-menu-btn-in {
	box-sizing: border-box;
	display: block;
	height: 100%;
	padding-bottom: 16px;
	position: relative;
}

.head-in-sp-menu-btn-in::after {
	box-sizing: border-box;
	bottom: 0;
	color: #F63932;
	content: "MENU";
	font-weight: 700;
	font-size: 11px;
	line-height: 1;
	left: 0;
	position: absolute;
	right: 0;
	text-align: center;
	width: 100%;
}

.head-in-sp-menu-btn-in-in {
	box-sizing: border-box;
	display: block;
	height: 100%;
	position: relative;
}

.head-in-sp-menu-btn-in-in-line {
	background: #F63932;
	box-sizing: border-box;
	border-radius: 10px;
	display: block;
	left: 0;
	height: 4px;
	position: absolute;
	transition: all .4s;
	-webkit-transition: all .4s;
	width: 100%;
}

.head-in-sp-menu-btn-in-in-line:nth-child(1) {
	top: 0;
}

.head-in-sp-menu-btn-in-in-line:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.head-in-sp-menu-btn-in-in-line:nth-child(3) {
	bottom: 0;
}

.head-in-sp-menu-btn.active .head-in-sp-menu-btn-in-in-line:nth-of-type(1) {
	top: -12px;
	transform: translateY(20px) rotate(-45deg);
	-webkit-transform: translateY(20px) rotate(-45deg);
}

.head-in-sp-menu-btn.active .head-in-sp-menu-btn-in-in-line:nth-of-type(2) {
	opacity: 0;
}

.head-in-sp-menu-btn.active .head-in-sp-menu-btn-in-in-line:nth-of-type(3) {
	bottom: -10px;
	transform: translateY(-20px) rotate(45deg);
	-webkit-transform: translateY(-20px) rotate(45deg);
}

.head-sp {
	background: #fff;
	box-sizing: border-box;
	display: none;
	left: 0;
	position: fixed;
	top: 58px;
	width: 100%;
	z-index: 9998;
}

.head-sp-menu {
	box-sizing: border-box;
}

.head-sp-menu ul {
	box-sizing: border-box;
}

.head-sp-menu ul li {
	box-sizing: border-box;
	border-color: #ccc !important;
	border-bottom: 1px solid;
}

.head-sp-menu ul li a {
	box-sizing: border-box;
	color: #000;
	display: block;
	font-weight: 700;
	font-size: 4vw;
	line-height: 1.5;
	padding: 2.5vw;
	position: relative;
	text-decoration: none;
}

.head-sp-menu ul li a::after {
	box-sizing: border-box;
	color: #F63932;
	content: "\f054";
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	font-size: 5vw;
	line-height: 1;
	position: absolute;
	right: 2.5vw;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.head-in-in-tel-num-in-text {
	padding-left: 4.5vw;
}
.head-in-in-tel-num-in-text-icon {
	width: 3.5vw;
}

/*----------------------------------------
TOPページ
----------------------------------------*/
.main {
	padding-top: 14vw;
}
.flex {
	display: block;
}
.flex [class^="flex-w"],
.flex [class^="flex-col-"] {
	width: 100%;
	margin-left: 0;
	padding-left: 0;
}
.h1 {
	font-size: 4.571vw;
}
.fz80 { font-size: 11.429vw; }
.fz72 { font-size: 10.286vw; }
.fz56 { font-size: 8vw; }
.bg_01 {
	padding: 5vw 0 9vw 5vw;
}
.text-dot::before {
	font-size: 2.286vw;
}
.content-inner-min {
	width: 100%;
}
.fz48 { font-size: 6.8vw; }
.fz44 { font-size: 6.6vw; }
.fz40 { font-size: 6.2vw; }
.fz36 { font-size: 5.6vw; }
.fz32 { font-size: 5.4vw; }
.fz30 { font-size: 5vw; }
.fz28 { font-size: 4.8vw; }
.fz26 { font-size: 4.6vw; }
.fz24 { font-size: 4.4vw; }
.fz20 { font-size: 4.2vw; }
.fz18 { font-size: 4vw; }
.fz16 { font-size: 3.8vw; }
.br08 { border-radius: 1.6vw; }
.br16 { border-radius: 3.2vw; }
.br24 { border-radius: 4.8vw; }
.br50 { border-radius: 1em; }
.br16-top {
	border-top-left-radius: 3.2vw;
	border-top-right-radius: 3.2vw;
}
.br16-right {
	border-top-right-radius: 3.2vw;
	border-bottom-right-radius: 3.2vw;
}
.br16-left {
	border-top-left-radius: 3.2vw;
	border-bottom-left-radius: 0;
	border-top-right-radius: 3.2vw;
}
.br24-right {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.arrow::before {
	width: 4.8vw;
	height: 4.8vw;
	right: 3.2vw;
}
.arrow::after {
	width: 1.6vw;
	height: 1.8vw;
	right: 4.8vw;
}
.arrow.arrow-min::before {
	width: 4.8vw;
	height: 4.8vw;
	right: 3.2vw;
}
.arrow.arrow-min::after {
	width: 1.6vw;
	height: 1.8vw;
	right: 4.8vw;
}
.arrow.arrow-min-red::before {
	width: 4.8vw;
	height: 4.8vw;
	right: 2vw;
}
.arrow.arrow-min-red::after {
	width: 1.6vw;
	height: 1.8vw;
	right: 3.6vw;
}
.arrow.arrow-min-blue::before {
	width: 4.8vw;
	height: 4.8vw;
	right: 3.2vw;
}
.arrow.arrow-min-blue::after {
	width: 1.6vw;
	height: 1.8vw;
	right: 4.8vw;
}
.arrow-step::after {
	width: 12.4vw;
	height: 3.6vw;
	bottom: -7.2vw;
}
.btn_03 {
	border-width: 1px;
}
.btn_04 {
	border-width: 1px;
}
.btn_01 span {
	padding: 1em 2em;
}
.pl30 { padding-left: 6vw; }
.pb30 { padding-bottom: 6vw; }
.pb15 { padding-bottom: 3vw; }
.pt70 { padding-top: 8vw; }
.pt30 { padding-top: 6vw; }
.pt15 { padding-top: 3vw; }
.mt70 { margin-top: 8vw; }
.mt50 { margin-top: 10vw; }
.mt30 { margin-top: 6vw; }
.mt25 { margin-top: 5vw; }
.mt15 { margin-top: 3vw; }
.mt10 { margin-top: 2vw; }
.mt05 { margin-top: 1vw; }
.mb10 { margin-bottom: 2vw; }
.box-1 {
	padding: 1% 5% 5%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.box-2 {
	min-height: 4.2em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.box-3 {
	padding: 7% 5% 4%;
}
.box-4 {
	padding: 4% 4% 4% 5%;
}
.box-5 {
	padding: 3.8% 3.5% 6% 4.5%;
}
.box-7 {
	padding: 7% 5% 3%;
}
.box-8 {
	padding: 5%;
}
.box-inner-2 {
	display: inline-block;
	margin-bottom: 1vw;
}
.dl {
	margin-left: 5vw;
}
.dl dt {
	font-size: 3.6vw;
}
.dl dd {
	font-size: 4.8vw;
}
.dl2 dt {
	font-size: 4vw;
	width: 100%;
}
.dl2 dd {
	font-size: 3.6vw;
	width: 100%;
	padding: 0;
}
.dl3 {
	padding: 1.5em 0;
}
.dl3 dt {
	float: none;
	font-size: 4vw;
}
.dl3 dd {
	font-size: 4.8vw;
	padding: .4em 1em 1em;
}
.dl4 dt {
	font-size: 4vw;
}
.dl4 dd {
	font-size: 4.8vw;
}
.icon_01 {
	width: 24vw;
}
.step-1 img {
	left: -3vw;
	top: -4vw;
	width: 14.4vw;
}
.tab-nml {
	margin-left: 0;
}
.sp-mt { margin-top: 5vw !important; }
.sp-mt2 { margin-top: 10vw !important; }
.sp-mt3 { margin-top: 3vw !important; }
.img_05 {
	width: 100%;
}
.img_company_01 {
	height: 57.6vw;
	margin-left: auto;
	margin-right: auto;
}

/*----------------------------------------
404ページ
----------------------------------------*/

/*----------------------------------------
sidebar
----------------------------------------*/

/*----------------------------------------
footer
----------------------------------------*/

.foot-in .wrapper {
	padding: 7.5vw 0;
}

.foot-in-logo-main-in-in {
	font-size: 5.5vw;
	letter-spacing: 0.08vw;
}

.foot-in-logo-sub {
	margin-top: 1.5vw;
}

.foot-in-logo-sub-in-in {
	font-size: 4vw;
	letter-spacing: 0.05vw;
}

.foot-in-text {
	font-size: 4vw;
	letter-spacing: 0.04vw;
	margin-top: 5vw;
}

.foot-in-title {
	border-top: 1px solid;
	border-bottom: 1px solid;
	margin: 5vw 0 0;
	padding: 2.5vw 0;
}

.foot-in-title-in-in {
	font-size: 4vw;
	letter-spacing: 0.05vw;
}

.foot-in-title-in-in .text {
	display: block;
}

.foot-in-title-in-in .text::before {
	content: none;
}

.foot-in-title + .of.flex-center {
	display: block;
}

.foot-in-tel {
	float: none;
	margin-top: 5vw;
	width: 100%;
}

.foot-in-tel-num {
	text-align: center;
}

.foot-in-tel-num-in {
	font-size: 9vw;
	letter-spacing: -0.01vw;
}

.foot-in-tel-num-in-text {
	padding-left: 7.5vw;
}

.foot-in-tel-num-in-text-icon {
	width: 6vw;
}

.foot-in-tel-num-in-text-icon::before {
	background: url(images/icon-tel-2.png) no-repeat;
	padding-bottom: 100%;
}

.foot-in-tel-num-in-text a {
	color: #fff;
	text-decoration: none;
}

.foot-in-tel-text {
	font-size: 4vw;
	letter-spacing: 0.01vw;
	margin-top: 1.5vw;
}

.foot-in-mail-btn {
	float: none;
	margin: 5vw auto 0;
	text-align: center;
}

.foot-in-mail-btn-in {
	font-size: 4.75vw;
	letter-spacing: -0.01vw;
}

.foot-in-mail-btn-in-text {
	padding-left: 6.5vw;
}

.foot-in-mail-btn-in-text-icon {
	width: 5vw;
}

.foot-in-mail-btn-in-text-icon::before {
	background: url(images/icon-mail.png) no-repeat;
	padding-bottom: 75%;
}