﻿/*----------------------------------------
全体
----------------------------------------*/

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.png) 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: #004aad;
	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: #004aad;
	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: #004aad;
	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%);
}

/*----------------------------------------
TOPページ
----------------------------------------*/

/*----------------------------------------
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%;
}


/*----------------------------------------
2025年7月制作分 追加
----------------------------------------*/
.container {
	margin-top: 14vw;
}
.fs54 {
	font-size: 10.479vw;
}
.fs46 {
	font-size: 8vw;
}
.fs42 {
	font-size: 7.8vw;
}
.fs40-2 {
	font-size: 7.5vw;
}
.fs39 {
	font-size: 7.2vw;
}
.fs36 {
	font-size: 7.036vw;
}
.fs35 {
	font-size: 6.737vw;
}
.fs33 {
	font-size: 6.437vw;
}
.fs30-2 {
	font-size: 6.287vw;
}
.fs29 {
	font-size: 5.5vw;
}
.fs27 {
	font-size: 5.24vw;
}
.fs26 {
	font-size: 4.8vw;
}
.fs25 {
	font-size: 4.8vw;
}
.fs23-2 {
	font-size: 4.416vw;
}
.fs22 {
	font-size: 4.192vw;
}
.fs21 {
	font-size: 4.042vw;
}
.fs19 {
	font-size: 3.743vw;
}
.fs18-2 {
	font-size: 3.6vw;
}
.fs18 {
	font-size: 3.6vw;
}
.fs17 {
	font-size: 3.6vw;
}
.fs16 {
	font-size: 3.6vw;
}
.fs15-2 {
	font-size: 3.5vw;
}
.fs14 {
	font-size: 3.4vw;
}
.fs12 {
	font-size: 3.3vw;
}

.br17 {
	border-radius: 2.545vw;
}
.br09 {
	border-radius: 1.347vw;
}

.flex-w45 {
	width: 100%;
}
.flex-w55 {
	width: 100%;
	padding: 4vw 0;
}

.p-a-1 {
	font-size: 6vw;
	width: 3.5em;
	height: 3.5em;
}

.btn-1 {
	font-size: 5vw;
	margin-bottom: 3vw;
}
.btn-1 + .btn-1 {
	margin-left: 0;
}
.btn-2 {
	font-size: 4.641vw;
}
.btn-3 {
	font-size: 6.138vw;
}

.dl dt {
	width: 100%;
	font-size: 4.79vw;
}
.dl dd {
	width: 100%;
	font-size: 5.6vw;
	padding: .25em 0 .3em .2em;
}
.bg-maru {
	width: 6.3em;
	height: 6.3em;
	font-size: 5.838vw;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3vw;
	margin-top: 3vw;
}

.mb30 {
	margin-bottom: 4vw !important;
}
.mt30 {
	margin-top: 4vw !important;
}
.mt10 {
	margin-top: 1.25vw !important;
}
.dl2 {
	font-size: 4.641vw;
	padding: .7em 0 3vw 5vw;
}
.page-top {
	font-size: 4.491vw;
}

.tab-mt {
	margin-top: 5vw;
}
.ml80 {
	margin-left: 3.5vw !important;
}