/*---------------------------------------
 Base
---------------------------------------*/
html,
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
	letter-spacing: 1px;
}

html {
	scroll-behavior: smooth;
}

.cmn_bloc,
.page_header,
#ac_navi,
#bgback,
#fixedbtn,
#modal,
footer,
.sp-navi {
	display: none !important;
}

.hiGo {
	font-family: hiragino-kaku-gothic-pron, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-style: normal;
	font-weight: 400;
}

.mincho {
	font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-style: normal;
	font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
p,
a,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

a {
	text-decoration: none;
}

button,
a:hover {
	cursor: pointer;
}

.inner {
	width: min(1000px, 98%);
	margin: 0 auto;
}

.marA {
	margin: 0 auto;
}

.txtC {
	text-align: center;
}

.flex {
	display: flex;
}

.fwrap {
	flex-wrap: wrap;
}

.justifyB {
	justify-content: space-between;
}

.justifyC {
	justify-content: center;
}

.alignC {
	align-items: center;
}

.w100 {
	width: 100%;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.col01 {
	color: #dd772a;
}

.col02 {
	color: #af0e0e;
}

.col03 {
	color: #92603d;
}

details:not(:last-child) {
	margin-bottom: 0 !important;
}

.hv {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.hv:hover {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

/*---------------------------------------
  header
  ---------------------------------------*/
header {
	padding: 13px 0 18px 0;
}

header .flex {
	gap: 8px;
}

header .btn a {
	position: relative;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: #196ab7;
	padding: 8px 42px;
	font-weight: bold;
	border-radius: 10px;
	box-shadow: 0px 3px 0px #000;
}

header .btn a:hover {
	top: 3px;
	box-shadow: none;
}

h1 {
	width: min(290px, 29vw);
	height: min(90px, 9vw);
}

h1 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/*---------------------------------------
  共通
---------------------------------------*/

/*--------------------------------------- title01 h2 ---------------------------------------*/
.title01 .title {
	background: url('/wp-content/uploads/2026/01/circle-icon.png') no-repeat center / contain;
	width: min(130px, 13vw);
	height: min(68px, 6.8vw);
	margin: 0 auto;
	color: #fff;
	font-size: min(18px, 1.8vw);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 0 0 0;
}

.title01 h2 {
	position: relative;
	text-align: center;
	font-size: min(38px, 3.8vw);
	font-weight: bold;
	border-top: 1px solid #4c311e;
	border-bottom: 1px solid #4c311e;
	padding: 23px 0;
	line-height: 50px;
}

.title01 h2::before {
	position: absolute;
	content: "";
	border-top: 3px solid #4c311e;
	top: -8px;
	left: 0;
	width: 100%;
}

.title01 h2::after {
	position: absolute;
	content: "";
	border-bottom: 3px solid #4c311e;
	bottom: -8px;
	left: 0;
	width: 100%;
}

.title01 h2 span {
	display: block;
	font-size: min(24px, 2.4vw);
	font-weight: 500;
}

/*--------------------------------------- title02 h2 ---------------------------------------*/
.title02 h2 {
	position: relative;
	font-size: 35px;
	text-align: center;
	padding: 0 0 12px 0;
	border-bottom: 4px solid #f6f6f6;
}

.title02 h2::after {
	position: absolute;
	content: "";
	bottom: -4px;
	left: calc(50% - 34px);
	width: 66px;
	height: 4px;
	background: #dd772a;
}

.title02 h3 {
	position: relative;
	font-size: 35px;
	text-align: center;
	padding: 0 0 12px 0;
	border-bottom: 4px solid #f6f6f6;
	color: #92603d;
}

.title02 h3::after {
	position: absolute;
	content: "";
	bottom: -4px;
	left: 50%;
	transform: translateX(-50%);
	width: 66px;
	height: 4px;
	background: #dd772a;
}

/*--------------------------------------- induction ---------------------------------------*/
.induction {
	position: relative;
	background: #4c311e;
	padding: 30px 0 35px 0;
}

.induction::after {
	position: absolute;
	content: "";
	bottom: -33px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 125px solid transparent;
	border-right: 125px solid transparent;
	border-top: 33px solid #4c311e;
	z-index: 1;
}

.induction .mainBox {
	position: relative;
	width: 459px;
}

.induction .mainBox::before {
	position: absolute;
	content: "";
	background: url('/wp-content/uploads/2026/01/ind-icon-01.png') no-repeat center / contain;
	width: 41px;
	height: 108px;
	top: 16px;
	left: -69px;
}

.induction .mainBox::after {
	position: absolute;
	content: "";
	background: url('/wp-content/uploads/2026/01/ind-icon-02.png') no-repeat center / contain;
	width: 41px;
	height: 108px;
	top: 16px;
	right: -69px;
}

.induction .mainBox img {
	width: 100%;
	height: auto;
}

.induction .mainBox p {
	color: #ffffff;
	font-size: min(25px, 2.5vw);
	font-weight: bold;
	letter-spacing: 2px;
	margin: 12px 0 0 0;
}

.induction .contactThree {
	margin: 45px 0 0 0;
}

/*--------------------------------------- contactThree ---------------------------------------*/
.contactThree {
	color: #fff;
}

.contactThree a {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
}

.contactThree .telBox:hover {
	opacity: 0.7;
}

.contactThree .telBox {
	background: #dd772a;
	box-shadow: 0px 5px 0px #2e1d12;
	width: 48%;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 477 / 110;
}

.contactThree .telBox>div {
	height: 100%;
	padding: min(10px, 1vw) min(15px, 1.5vw);
	box-sizing: border-box;
}

.contactThree .telBox .fBig {
	font-size: min(38px, 3.8vw);
}

.contactThree .telBox .point01 {
	color: #dd772a;
	background: #fff;
	border-radius: 12px;
	padding: 4px 0;
}

.contactThree .telBox .point01,
.contactThree .telBox .point02 {
	font-size: min(14px, 1.4vw);
}

.contactThree .mailBox {
	background: #af0e0e;
	box-shadow: 0px 5px 0px #2e1d12;
	position: relative;
	width: 48%;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 477 / 110;
}

.contactThree .mailBox>div {
	height: 100%;
	padding: min(10px, 1vw) min(15px, 1.5vw);
	box-sizing: border-box;
}

.contactThree .mailBox .mail {
	margin: 8px 0 0 0;
}

.contactThree .mailBox p {
	font-size: min(18px, 1.8vw);
}

.contactThree .mailBox .fukidashi {
	position: relative;
	color: #af0e0e;
	background: #fff;
	border-radius: 50px;
	margin: 0 0 0 10px;
	padding: 0 15px;
	font-weight: bold;
}

.contactThree .mailBox .fukidashi::after {
	position: absolute;
	content: "";
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 8px solid #fff;
}

.contactThree .lineBox {
	background: #0dbf0d;
	box-shadow: 0px 5px 0px #003163;
}

.contactThree .fBig {
	font-weight: bold;
}

.contactThree .icon {
	margin: 0 12px 0 0;
}

.contactThree .mailBox .fBig,
.contactThree .lineBox .fBig {
	font-size: min(28px, 2.8vw);
}

.contactThree .telBox .fBig,
.contactThree .mailBox .fBig,
.contactThree .lineBox .fBig {
	letter-spacing: 1.5px;
}

/*--------------------------------------- alert ---------------------------------------*/
.alert {
	position: relative;
	background: #af0e0e;
	padding: 42px 0 32px 0;
}

.alert::after {
	position: absolute;
	border: 1px solid #fff;
	content: "";
	top: 8px;
	bottom: 8px;
	left: 8px;
	right: 8px;
}

.alert .alertIcon {
	margin: 0 34px 0 0;
	width: min(104px, 10.4vw);
	aspect-ratio: 104 / 89;
}

.alert .alertIcon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.alert .txtBox {
	text-align: center;
}

.alert .txtBox .txt01 {
	color: #af0e0e;
	background: #fff;
	font-size: min(33px, 3.2vw);
	font-weight: bold;
	padding: 4px 60px;
	border-radius: 27px;
	width: fit-content;
	margin: 0 auto;
}

.alert .txtBox .txt02 {
	color: #fff;
	font-size: min(38px, 3.6vw);
	font-weight: bold;
	margin: 12px 0 0 0;
}

/*--------------------------------------- meritBox ---------------------------------------*/
.meritBox {
	margin: 95px 0 0 0;
}

.meritBox .box01,
.meritBox .box02,
.meritBox .box03 {
	position: relative;
	background: #fff;
	box-shadow: 0 0 6px rgba(0, 0, 0, .1);
	padding: 0 min(10px, 1vw);
	border-radius: 10px;
	height: min(500px, 50vw);
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	box-sizing: border-box;
	width: 31.5%;
}

.meritBox .box01::after,
.meritBox .box02::after,
.meritBox .box03::after {
	position: absolute;
	content: "";
	top: 0;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: min(120px, 12vw);
	height: min(120px, 12vw);
}

.meritBox .box01 .img,
.meritBox .box02 .img,
.meritBox .box03 .img,
.meritBox .box04 .img {
	margin: min(85px, 8.5vw) 0 0 0;
}

.meritBox .box01 .img img,
.meritBox .box02 .img img,
.meritBox .box03 .img img,
.meritBox .box04 .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.meritBox .box01 .txt,
.meritBox .box02 .txt,
.meritBox .box03 .txt,
.meritBox .box04 .txt {
	margin: min(15px, 1.5vw) 0 0 0;
	font-size: min(30px, 3vw);
	font-weight: bold;
}

/*--------------------------------------- accordion01 ---------------------------------------*/
.accordion01 {
	margin: 0 auto;
	margin-top: 30px;
}

.accordion01 .accordion_title {
	position: relative;
	width: 233px;
	height: 57px;
	border-radius: 6px;
	margin: 0 auto;
	border: none;
	display: block;
	cursor: pointer;
	color: #fff;
	text-align: center;
	background: #dd772a;
	font-size: 18px;
	padding: 0;
}

.accordion01 summary.accordion_title::-webkit-details-marker {
	display: none;
}

.accordion01 .accordion_title::before {
	content: "詳細はこちら";
	position: absolute;
	top: 24%;
	right: 30%;
}

.accordion01 .accordion_title::after {
	content: "";
	position: absolute;
	top: 43%;
	right: 23%;
	pointer-events: none;
	width: 7px;
	height: 7px;
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
}

.accordion01 .accordion_contents {
	background: #fff;
	margin: 54px 0 0 0;
	border: 2px solid #8a9ed0;
	text-align: start;
	padding: 25px 100px;
	font-size: 24px;
	font-weight: bold;
}

.accordion01 .accordion_contents li:first-child {
	margin: 0;
}

.accordion01 .accordion_contents li {
	margin: 20px 0 0 0;
}

.accordion01 .accordion_contents li .img {
	margin: 0 10px 0 0;
}

.accordion01[open] .accordion_title::before {
	content: "閉じる";
	right: 41%;
}

.accordion01[open] .accordion_title::after {
	transform: translateY(-25%) rotate(-45deg);
	top: 49%;
	right: 32%;
}

/*--------------------------------------- accordion03 ---------------------------------------*/
.accordion03 {
	width: 100%;
	border: 1px solid #92603d;
}

.accordion03 summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 16px 32px;
	background: #92603d;
	color: #fff;
	font-size: min(22px, 2.2vw);
	font-weight: bold;
	cursor: pointer;
}

.accordion03>div::-webkit-details-marker {
	display: none;
}

.accordion03 summary::after {
	transform: translateY(-25%) rotate(45deg);
	width: min(15px, 1.5vw);
	height: min(15px, 1.5vw);
	margin-left: 10px;
	border-bottom: min(3px, 0.3vw) solid #fff;
	border-right: min(3px, 0.3vw) solid #fff;
	content: '';
	transition: transform .3s;
}

.accordion03[open] summary::after {
	transform: rotate(225deg);
}

.accordion03 summary span {
	margin: 0 20px 0 0;
	padding: 5px 30px 5px 0;
	border-right: 1px solid #fff;
	font-size: min(36px, 3.6vw);
}

.accordion03 summary strong {
	flex: 1;
	font-size: min(22px, 2.2vw);
	FONT-WEIGHT: 500;
}

.accordion03 p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 25px 40px;
	background: #fff;
	font-size: min(18px, 1.8vw);
	transition: transform .5s, opacity .5s;
	line-height: 1.56;
}

.accordion03[open] p {
	transform: none;
	opacity: 1;
}

/*---------------------------------------
  firstView
---------------------------------------*/
#firstView {
	background: url('/wp-content/uploads/2026/01/fv-bg-pc.jpg') no-repeat center / cover;
}

#firstView .fBox {
	gap: 3px;
	align-items: end;
}

#firstView .txtBox {
	padding: 38px 0 30px 0;
	flex: 1;
}

#firstView .con01 .bigTxt {
	position: relative;
	text-align: center;
	letter-spacing: 3px;
	font-size: min(71px, 6.3vw);
	font-weight: bold;
	border-top: 1px solid #dd772a;
	border-bottom: 1px solid #dd772a;
	margin: 0 0 8px 0;
}

#firstView .con01 .bigTxt::before {
	position: absolute;
	content: "";
	border-top: 3px solid #dd772a;
	top: -8px;
	left: 0;
	width: 100%;
}

#firstView .con01 .bigTxt::after {
	position: absolute;
	content: "";
	border-bottom: 3px solid #dd772a;
	bottom: -8px;
	left: 0;
	width: 100%;
}

#firstView .con01 .bigTxt p {
	text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
}

#firstView .con01 .bigTxt .mini {
	font-size: 50px;
}

#firstView .con01 .norTxt {
	margin: 22px 0 0 0;
	font-size: min(34px, 2.8vw);
	font-weight: bold;
}

#firstView .con01 .norTxt p {
	text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
}

#firstView .con01 .norTxt .mini {
	font-size: 25px;
}

#firstView .con02 {
	margin: 24px 0 0 0;
	gap: 10px;
}

#firstView .con02 .box01,
#firstView .con02 .box02,
#firstView .con02 .box03,
#firstView .con02 .box04 {
	width: calc(50% - 5px);
	background: #fff;
	border: 2px solid #93603d;
	border-radius: 10px;
	padding: 6px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: min(110px, 11vw);
	text-align: center;
	box-sizing: border-box;
}

#firstView .con02 .box01,
#firstView .con02 .box02 {
	font-size: min(36px, 3vw);
}

#firstView .con02 .box04 {
	font-size: min(30px, 2.6vw);
}

#firstView .con02 .box03 {
	font-size: min(28px, 2.5vw);
}

#firstView .con02 .mini01 {
	font-size: min(24px, 2.1vw);
}

#firstView .con02 .mini02 {
	font-size: min(16px, 1.3vw);
}

#firstView .con02 .box01 .txt,
#firstView .con02 .box02 .txt,
#firstView .con02 .box03 .txt,
#firstView .con02 .box04 .txt {
	flex: 1;
	border-left: 1px solid #e2e2e2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-weight: bold;
}

#firstView .con02 .box01 div,
#firstView .con02 .box02 div,
#firstView .con02 .box03 div,
#firstView .con02 .box04 div,
#firstView .con02 .box01 .txt,
#firstView .con02 .box02 .txt,
#firstView .con02 .box03 .txt,
#firstView .con02 .box04 .txt {
	height: 100%;
}

#firstView .con02 .box01 .icon,
#firstView .con02 .box02 .icon,
#firstView .con02 .box03 .icon,
#firstView .con02 .box04 .icon {
	margin: 0 min(5px, 0.5vw);
	width: min(60px, 6vw);
	aspect-ratio: 1 / 1;
}

#firstView .con02 .box01 .icon img,
#firstView .con02 .box02 .icon img,
#firstView .con02 .box03 .icon img,
#firstView .con02 .box04 .icon img {
	height: 100%;
	width: 100%;
	object-fit: contain;
}

#firstView .con02 .box02 .mini {
	font-size: 16px;
}

#firstView .irstView__image {
	width: min(332px, 33.2vw);
	height: min(516px, 51.6vw);
	position: relative;
}

#firstView .irstView__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#firstView .irstView__image figcaption {
	position: absolute;
	z-index: 2;
	text-align: right;
	bottom: 20px;
	right: 0;
	color: #fff;
	font-size: min(16px, 1.5vw);
	text-shadow: 2px 2px 1px #000, -2px 2px 1px #000, 2px -2px 1px #000, -2px -2px 1px #000, 2px 0px 1px #000, 0px 2px 1px #000, -2px 0px 1px #000, 0px -2px 1px #000;
}

#firstView .irstView__image figcaption strong {
	display: block;
	font-size: 1.25em;
	padding: min(5px, 0.5vw) 0 0 0;
}

/*---------------------------------------
  sec01
---------------------------------------*/
#sec01 {
	background: #f2f2f2;
	padding: 90px 0;
}

#sec01 .con01 {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 6px rgba(0, 0, 0, .1);
	padding: 23px 57px 40px 57px;
}

#sec01 .con01 .txtImg {
	display: block;
	margin: 0 auto;
	width: min(680px, 68vw);
}

#sec01 .con01 .txtImg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec01 .con01 .titleTxt {
	color: #fff;
	background: #93603d;
	border-radius: 10px;
	font-size: min(30px, 3vw);
	font-weight: bold;
	margin: 20px 0 0 0;
	padding: 15px 0;
}

#sec01 .con01 ul {
	margin: 20px 0 0 0;
}

#sec01 .con01 ul li {
	font-size: min(25px, 2.5vw);
	font-weight: bold;
	padding: 12px 0;
	border-bottom: 1px solid #b3b3b3;
}

#sec01 .con01 ul li:last-child {
	border-bottom: none;
}

#sec01 .con01 ul li .img {
	margin: 0 min(26px, 2.6vw) 0 min(110px, 11vw);
	display: inline-block;
	width: min(26px, 2.6vw);
	aspect-ratio: 26 / 21;
}

#sec01 .con01 ul li .img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec01 .triangle01 {
	width: min(277px, 27.7vw);
	aspect-ratio: 416 / 51;
	margin: auto;
}

#sec01 .triangle01 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec01 .alert {
	margin: 45px 0 0 0;
}

#sec01 .con02 {
	margin: 65px 0 30px 0;
}

#sec01 .con02 .meritBox .box01::after {
	background: url('/wp-content/uploads/2026/01/sec01-merit-01.png') no-repeat center / cover;
}

#sec01 .con02 .meritBox .box02::after {
	background: url('/wp-content/uploads/2026/01/sec01-merit-02.png') no-repeat center / cover;
}

#sec01 .con02 .meritBox .box03::after {
	background: url('/wp-content/uploads/2026/01/sec01-merit-03.png') no-repeat center / cover;
}

#sec01 .con03 {
	margin: 42px 0 0 0;
}

#sec01 .con03 .txt01 {
	font-size: min(30px, 3vw);
	font-weight: bold;
}

#sec01 .con03 .txt02 {
	position: relative;
	font-size: min(34px, 3.4vw);
	font-weight: bold;
	background: linear-gradient(transparent 60%, #f2e400 0%);
	display: inline;
}

/*---------------------------------------
  sec02
---------------------------------------*/
#sec02 {
	padding: 90px 0 70px 0;
}

#sec02 .meritBox .box01,
#sec02 .meritBox .box02,
#sec02 .meritBox .box03 {
	height: min(579px, 57.9vw);
}

#sec02 .con01 {
	margin: 65px 0 30px 0;
}

#sec02 .con01 .meritBox .box01::after {
	background: url('/wp-content/uploads/2026/01/sec02-merit-01.png') no-repeat center / cover;
}

#sec02 .con01 .meritBox .box02::after {
	background: url('/wp-content/uploads/2026/01/sec02-merit-02.png') no-repeat center / cover;
}

#sec02 .con01 .meritBox .box03::after {
	background: url('/wp-content/uploads/2026/01/sec02-merit-03.png') no-repeat center / cover;
}

#sec02 .triangle01 {
	width: min(277px, 27.7vw);
	aspect-ratio: 416 / 51;
	margin: auto;
}

#sec02 .triangle01 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec02 .con02 {
	margin: 42px 0 0 0;
}

#sec02 .con02 .txt01 {
	font-size: min(30px, 3vw);
	font-weight: bold;
}

#sec02 .con02 .txt02 {
	position: relative;
	font-size: min(34px, 3.4vw);
	font-weight: bold;
	background: linear-gradient(transparent 60%, #f2e400 0%);
	display: inline;
}

/*---------------------------------------
  sec03
---------------------------------------*/
#sec03 {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f6f6f6 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f6f6f6 calc(100% - 1px));
	background-size: 13px 13px;
	background-repeat: repeat;
	background-position: center center;
	padding: 95px 0 75px 0;
}

#sec03 .con01 {
	margin: 50px 0 0 0;
}

#sec03 .con01 .box01,
#sec03 .con01 .box02,
#sec03 .con01 .box03 {
	background: #92603d;
	padding: 4px;
}

#sec03 .con01 .box02,
#sec03 .con01 .box03 {
	margin: min(70px, 7vw) 0 0 0;
}

#sec03 .con01 .ttlBox {
	color: #fff;
	background: #92603d;
	padding: 20px 15px;
}

#sec03 .con01 .ttlBox .txt01 {
	font-size: min(21px, 2.1vw);
	font-weight: 500;
	color: #92603d;
	background: #fff;
	margin: 0 22px 0 0;
	padding: 10px 26px;
	height: fit-content;
}

#sec03 .con01 .ttlBox h3 {
	font-size: min(30px, 3vw);
}

#sec03 .con01 .detail {
	display: flex !important;
	background: #fff;
	padding: 38px 20px;
	gap: 35px;
}

#sec03 .con01 .detail.sp {
	display: none !important;
}

#sec03 .con01 .detail h4 {
	font-size: min(20px, 2vw);
	color: #92603d;
	border-bottom: 1px solid #92603d;
	padding: 0 4px 4px;
}

#sec03 .con01 .detail h4 .icon {
	margin: 0 12px 0 0;
	position: relative;
	bottom: -4px;
}

#sec03 .con01 .detail .txtBox p {
	margin: 20px 13px;
	font-size: min(18px, 1.8vw);
	line-height: 1.5;
}

#sec03 .con01 .detail .box:first-child {
	margin: 0;
}

#sec03 .con01 .detail .box {
	margin: 30px 0 0 0;
}

#sec03 .con01 .imgBox img {
	display: block;
	margin: 0 auto;
}

#sec03 .con01 .imgBox p {
	color: #92603d;
	border: 2px solid #92603d;
	text-align: center;
	padding: 5px 0;
	width: 180px;
	font-size: min(18px, 1.8vw);
	border-radius: 20px;
}

#sec03 .con02 {
	margin: 36px 0 0 0;
}

#sec03 .con02 img {
	display: block;
	margin: 0 auto;
}

#sec03 .con02 .board {
	position: relative;
	display: block;
	width: 100%;
	height: 190px;
}

#sec03 .con02 .board .board01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 98%;
	height: 93%;
	border: 1px solid #92603d;
}

#sec03 .con02 .board .board02 {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 98%;
	height: 93%;
	border: 1px solid #92603d;
	background: #f2eae5;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#sec03 .con02 .board .board02 .txt01 {
	font-size: min(28px, 2.8vw);
	font-weight: bold;
}

#sec03 .con02 .board .board02 .txt02 {
	position: relative;
	font-size: min(39px, 3.9vw);
	font-weight: bold;
}

#sec03 .con02 .board .board02 .txt02 span {
	background: linear-gradient(transparent 60%, #f2e400 0%);
	display: inline;
}

/*---------------------------------------
  sec04
  ---------------------------------------*/
#sec04 {
	padding: 70px 0 90px 0;
	background: #f2f2f2;
}

#sec04 .box01 {
	margin: 52px 0 0 0;
}

#sec04 .box01,
#sec04 .box02,
#sec04 .box03,
#sec04 .box04,
#sec04 .box05 {
	position: relative;
	background: linear-gradient(140deg, #624735 13%, #4c311e 13%);
	padding: 20px;
}

#sec04 .box01::before,
#sec04 .box02::before,
#sec04 .box03::before,
#sec04 .box04::before,
#sec04 .box05::before {
	font-size: min(46px, 4.6vw);
	position: absolute;
	content: "1";
	top: 18px;
	left: 25px;
	font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	color: #fff;
}

#sec04 .box02::before {
	content: "2";
}

#sec04 .box03::before {
	content: "3";
}

#sec04 .box04::before {
	content: "4";
}

#sec04 .box05::before {
	content: "5";
}

#sec04 h3 {
	color: #fff;
	font-size: min(32px, 3.2vw);
	text-align: center;
}

#sec04 .detail {
	background: #fff;
	border-radius: 20px;
	margin: 25px 0 0 0;
	padding: 20px;
	gap: 28px;
}

#sec04 .detail .txtBox .ttl {
	position: relative;
}

#sec04 .detail .txtBox .ttl::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: #92603d;
	z-index: 0;
}

#sec04 .detail .txtBox .ttl h4 {
	font-size: min(26px, 2.6vw);
	color: #92603d;
	position: relative;
	width: fit-content;
	background: #fff;
	padding: 0 20px 0 0;
	z-index: 1;
}

#sec04 .detail .txtBox .txt {
	margin: 20px 0 0 0;
}

#sec04 .detail .txtBox .txt p {
	font-size: min(20px, 2vw);
	line-height: 1.5;
}

#sec04 .triangle02 {
	width: min(118px, 11.8vw);
	aspect-ratio: 118 / 33;
	margin: 20px auto;
}

#sec04 .triangle02 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/*---------------------------------------
  sec05
---------------------------------------*/
#sec05 {
	padding: 70px 0 100px 0;
}

#sec05 .con01 {
	margin: 40px 0 0 0;
	box-shadow: 0 0 6px rgba(0, 0, 0, .1);
	border-radius: 20px;
	padding: min(10px, 1vw) min(32px, 3.2vw) min(20px, 2vw) min(32px, 3.2vw);
}

#sec05 .con01 .img {
	width: min(120px, 12vw);
	aspect-ratio: 1 / 1;
}

#sec05 .con01 .img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec05 .con01 .txtBox {
	flex: 1;
}

#sec05 .con01 .box01,
#sec05 .con01 .box02,
#sec05 .con01 .box03 {
	border-bottom: 1px solid #dadada;
	padding: min(40px, 4vw) 0;
	gap: min(26px, 2.6vw);
}

#sec05 .con01 .box03 {
	border-bottom: none;
}

#sec05 .con01 .txtBox h3 {
	font-size: min(34px, 3.4vw);
	font-weight: bold;
}

#sec05 .con01 .txtBox p {
	font-size: min(19px, 1.9vw);
	margin: 16px 0 0 0;
	line-height: 1.47;
}

#sec05 .triangle01 {
	width: min(277px, 27.7vw);
	aspect-ratio: 416 / 51;
	margin: 40px auto 40px;
}

#sec05 .triangle01 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec05 .con02 .box01 {
	margin: 65px 0 0 0;
	padding: 30px 75px 35px;
	border: 5px solid #dd772a;
	background: #f9f2ed;
}

#sec05 .con02 .box01 .free {
	border-bottom: 1px solid #d1a827;
	text-align: center;
}

#sec05 .con02 .box01 .free p {
	font-size: min(70px, 7vw);
	line-height: 1;
	padding: 0 0 15px 0;
	font-weight: 600;
}

#sec05 .con02 .box01 .free .f01 {
	font-size: min(140px, 14vw);
}

#sec05 .con02 .box01 .free .f02 {
	font-size: min(54px, 5.4vw);
}

#sec05 .con02 .box01 .freeTxt {
	margin: 40px 0 0 0;
	font-size: min(20px, 2vw);
}

#sec05 .con02 .triangle02 {
	width: min(118px, 11.8vw);
	aspect-ratio: 118 / 33;
	margin: 35px auto 25px;
}

#sec05 .con02 .triangle02 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec05 .con02 .box02,
#sec05 .con02 .box03,
#sec05 .con02 .box04 {
	background: #dd772a;
	padding: 5px;
}

#sec05 .con02 h3 {
	font-size: min(38px, 3.8vw);
	text-align: center;
	color: #fff;
	padding: 30px 0;
}

#sec05 .con02 .txtBox {
	background: #f9f2ed;
	padding: min(40px, 4vw) min(80px, 7vw);
	text-align: center;
}

#sec05 .con02 .box01 .txtBox .money p {
	font-size: min(32px, 3.2vw);
}

#sec05 .con02 .box01 .txtBox .txt {
	font-size: min(16px, 1.6vw);
	line-height: 30px;
}

#sec05 .con02 .txtBox .money p {
	font-size: min(38px, 3.8vw);
	line-height: 45px;
	FONT-WEIGHT: 600;
	letter-spacing: 0.1em;
	padding: 0 0 15px 0;
}

#sec05 .con02 .txtBox .txt {
	font-size: min(20px, 2vw);
}

#sec05 .con02 .txtBox .txt .small {
	font-size: 0.75em;
}

#sec05 .con02 .txtBox .f01 {
	font-size: min(80px, 8vw);
}

#sec05 .con02 .txtBox .f02 {
	font-size: min(32px, 3.2vw);
}

#sec05 .con02 .txtBox .money01 {
	border-bottom: 1px solid #d1a827;
	padding: 0 0 20px 0;
}

#sec05 .con02 .txtBox .money02 {
	padding: 25px 0 0 0;
}

/*---------------------------------------
  sec06
---------------------------------------*/
#sec06 {
	background: #f9f2ed;
	padding: 85px 0 100px 0;
}

#sec06 .conts {
	margin: 45px 0 0 0;
	display: flex;
	flex-direction: column;
	gap: min(24px, 2.4vw);
}

/*---------------------------------------
  sec07
---------------------------------------*/
#sec07 {
	padding: 65px 0 120px 0;
}

#sec07 .title02 {
	margin: 0 0 50px 0;
}

#sec07 .con01 {
	margin: 80px 0 0 0;
}

#sec07 .sec07__img {
	width: min(362px, 44vw);
	margin: 0 auto;
}

#sec07 .sec07__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sec07 .sec07__img figcaption {
	text-align: center;
	font-size: min(16px, 1.6vw);
	padding: 10px 0 0 0;
}

#sec07 .sec07__img figcaption strong {
	display: block;
	color: #dd772a;
	font-size: 1.625em;
	padding: 10px 0 0 0;
}

#sec07 table {
	margin: 80px 0 0 0;
	width: 100%;
	font-size: min(19px, 1.9vw);
}

#sec07 table th {
	font-weight: 500;
	border-bottom: 1px solid #92603d;
	padding: 20px;
	text-align: start;
	color: #92603d;
}

#sec07 table td {
	border-bottom: 1px solid #c2c2c2;
	padding: 20px;
}

#sec07 .con02 {
	margin: 80px 0 0 0;
}

#sec07 .con02 p {
	padding: 20px;
	font-size: min(19px, 1.9vw);
}

#sec07 .con03 {
	margin: 80px 0 0 0;
}

#sec07 .map {
	height: min(400px, 40vw);
}

/*---------------------------------------
  contact
---------------------------------------*/
#contact {
	padding: 60px 0;
	background: #f9f2ed;
}

#contact .progressBox {
	position: relative;
	display: flex;
	align-items: center;
	width: 386px;
	height: 48px;
	background: #92603d;
	margin: 70px auto 55px auto;
	border: 1px solid #92603d;
	border-radius: 5px;
	font-size: 0;
}

#contact .progressBox .step {
	position: absolute;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	color: #92603d;
	background-color: #fff;
	margin: 0;
	clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 15% 50%, 0% 0%);
	top: 0;
	left: calc(50% - 71px);
	width: 142px;
	height: 48px;
	z-index: 0;
}

#contact .progressBox .step.active {
	color: #fff;
	background-color: #92603d;
}

#contact .progressBox .step:first-child {
	top: 0;
	left: 0;
	clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 0% 50%, 0% 0%);
	z-index: 1;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

#contact .progressBox .step:last-child {
	top: 0;
	right: 0;
	left: auto;
	clip-path: polygon(100% 0%, 100% 50%, 100% 100%, 0% 100%, 15% 50%, 0% 0%);
	z-index: 1;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

#contact .form-group>p {
	background: #fff;
	margin: 10px 0 0 0;
	padding: min(25px, 2.5vw) min(45px, 4vw);
	display: flex;
	align-items: center;
}

#contact label {
	font-size: min(18px, 1.8vw);
	font-weight: bold;
	width: 30%;
}

#contact input,
#contact textarea {
	border: 1px solid #e0e0e0;
	border-radius: 3px;
	font-size: min(18px, 1.8vw);
	font-weight: bold;
	padding: min(16px, 1.6vw);
	box-sizing: border-box;
	width: 100%;
}

#contact .required {
	font-size: min(13px, 1.3vw);
	color: #df4648;
	border: 1px solid #df4648;
	border-radius: 6px;
	margin: 0 0 0 15px;
	padding: min(3px, 0.3vw) min(16px, 1.6vw);
	font-weight: normal;
}

#contact .error {
	color: #df4648;
	padding: 4px 45px 0 45px;
}

#contact button {
	position: relative;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: #dd772a;
	padding: 30px 100px 25px 100px;
	font-size: 24px;
	font-weight: bold;
	border: none;
	border-radius: 6px;
	box-shadow: 0px 3px 0px #000;
	margin: 0 auto;
	margin-top: 30px;
}

#contact button::after {
	content: '';
	position: relative;
	transform: translateY(-25%) rotate(-45deg);
	width: 8px;
	height: 8px;
	right: -65px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
}

#contact button:hover {
	top: 3px;
	box-shadow: none;
}

#contact .txtBox {
	margin: 35px 0 0 0;
	font-size: 13px;
	line-height: 28px;
}

.wpcf7-form-control-wrap {
	flex: 1;
}

#contact .form-btn {
	background: #dd772a;
	box-shadow: 0px 5px 0px #2e1d12;
	width: 45.9%;
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	aspect-ratio: 459 / 81;
	margin: min(30px, 3vw) auto 0;
}

#contact .form-btn:after {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
	position: absolute;
	right: min(35px, 3.5vw);
	top: 50%;
	transform: translateY(-50%);
}

#contact .form-btn input {
	background: none;
	font-size: min(24px, 2.4vw);
	color: #fff;
	position: absolute;
	width: 100%;
	height: 100%;
	border: none;
	padding: 0;
	cursor: pointer;
}
.form-btn__container {
    display: flex;
    gap: 2%;
}
#contact .form-btn.return {
    background: #939393;
}
#contact .form-btn.return p {
    background: none;
    font-size: min(24px, 2.4vw);
    color: #fff;
    position: absolute;
    width: 100%;
    height: 100%;
    border: none;
    padding: 0;
    cursor: pointer;
    display: grid;
    place-content: center;
    font-weight: bold;
}
#contact .form-btn.return:after {
    content: "\f104";
    left: min(35px, 3.5vw);
	right:inherit;
}
/*---------------------------------------
  induction
---------------------------------------*/
#induction {
	position: fixed;
	z-index: 9999;
	width: 100%;
	left: 0;
	bottom: 0;
	background: #ebebeb;
	padding: 15px 0;
	box-sizing: border-box;
}

#induction .inner {
	width: min(800px, 90%);
}

#induction .contactThree .telBox .fBig {
	font-size: min(32px, 3.2vw);
}

#induction .contactThree .telBox .point01,
#induction .contactThree .telBox .point02 {
	font-size: min(13px, 1.3vw);
}

#induction .contactThree .telBox>div {
	padding: min(4px, 0.4vw) min(10px, 1vw);
}

#induction.pc {
	display: block;
}

#induction.sp {
	display: none;
}

#induction .contactThree {
	margin: 0;
}

#induction .contactThree .telBox,
#induction .contactThree .mailBox,
#induction .contactThree .lineBox {
	box-shadow: 0px 4px 0px #7e745f;
}

#induction .contactThree .mailBox p {
	font-size: min(15px, 1.5vw);
}

#induction .contactThree .telBox .point01 {
	font-size: min(12px, 1.2vw);
	letter-spacing: 0;
	padding: 2px 0;
}

#induction .contactThree .telBox .w100.flex {
	margin: -7px 0;
}

#induction .contactThree .mailBox .fBig,
#induction .contactThree .lineBox .fBig {
	font-size: min(24px, 2.4vw);
}

#induction .contactThree .mailBox .mail {
	margin: -4px 0 0 0;
}

#induction .contactThree .mailBox .fukidashi {
	padding: 2px 10px;
	margin: 0 0 0 8px;
}

#induction .contactThree .mailBox .fukidashi::after {
	right: 44%;
}

/*---------------------------------------
  footer
---------------------------------------*/
.lp-isanbunkatsu-footer {
	width: 100%;
	color: #fff;
	background: #92603d;
	font-size: 12px;
	text-align: center;
	margin: 0 0 120px 0;
	padding: 12px 0;
	display: block !important;
}

/*--------------------------------------------------------------------------------------------------------
   sp
--------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 600px) {

	.inner {
		width: 92%;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

/*---------------------------------------
  header
---------------------------------------*/

	header {
		padding: 4vw 0;
	}

	h1 {
		width: 55vw;
		height: 15vw;
	}

/*---------------------------------------
  共通
---------------------------------------*/

/*--------------------------------------- title01 h2 ---------------------------------------*/
	.title01 h2 {
		font-size: 5.5vw;
		padding: 3vw 0;
		line-height: 1.3;
	}

	.title01 h2 span {
		font-size: 3.2vw;
		padding: 2vw 0 0 0;
	}

	.title01 .title {
		width: 20.8vw;
		height: 10.88vw;
		font-size: 2.6vw;
		position: relative;
		top: 0;
		padding: 2vw 0 0 0;
	}

	.title01 h2::before {
		border-top-width: 2px;
		top: -5px;
	}

	.title01 h2::after {
		border-bottom-width: 2px;
		bottom: -5px;
	}

/*--------------------------------------- title02 h2 ---------------------------------------*/
	.title02 h2,
	.title02 h3 {
		font-size: 5.2vw;
	}

	.title02 h3::after {
		bottom: -3px;
		width: 9vw;
		height: 3px;
	}

/*--------------------------------------- induction ---------------------------------------*/
	#firstView+.induction::after {
		content: none;
	}

	.induction .contactThree {
		margin: 2rem 0 0 0;
	}

	.induction .mainBox {
		width: 80%;
	}

	.induction .mainBox p {
		font-size: 3.8vw;
		margin: 1vw 0 0 0;
	}

	.induction .contactThree {
		gap: 1rem;
	}

	.induction .mainBox::before {
		left: -9vw;
	}

	.induction .mainBox::after {
		right: -9vw;
	}

	.induction .mainBox::before,
	.induction .mainBox::after {
		top: 2vw;
		width: 6.15vw;
		height: 16.2vw;
	}

/*--------------------------------------- contactThree ---------------------------------------*/
	.contactThree .icon {
		margin: 0 6px 0 0;
	}

	.contactThree .mailBox .fukidashi {
		margin: 0 0 0 2px;
		padding: 5px;
	}

	.contactThree .telBox .fBig {
		font-size: 7vw;
	}

	.contactThree .mailBox .fBig,
	.contactThree .lineBox .fBig {
		font-size: 6vw;
	}

	.contactThree .telBox .point01 {
		font-size: 0.7rem;
		width: fit-content;
		margin: 0 auto;
		padding: 4px 10px;
	}

	.contactThree .mailBox p {
		font-size: 3.6vw;
	}

	.contactThree .telBox,
	.contactThree .mailBox,
	.contactThree .lineBox {
		width: 100%;
	}

	.contactThree .telBox>div {
		padding: 2vw 2vw;
	}

	.contactThree .mailBox>div {
		padding: 2vw 2vw;
	}

	.contactThree .telBox .point01,
	.contactThree .telBox .point02 {
		font-size: 3vw;
		width: 100%;
		padding: 0.5vw 0;
		letter-spacing: 0;
	}

	.contactThree .mailBox .mail {
		margin: 0;
	}

	.contactThree .mailBox .fukidashi {
		padding: 0 14px;
		border-radius: 8px;
	}

	.contactThree .mailBox .fukidashi::after {
		right: 47%;
	}

/*--------------------------------------- alert ---------------------------------------*/
	.alert .txtBox .txt01 {
		padding: 1vw 3vw;
		font-size: 4vw;
	}

	.alert .txtBox .txt02 {
		margin: 1vw 0 0 0;
		font-size: 5.5vw;
	}

	.alert .txtBox .txt02 span {
		display: block;
	}

	.alert .alertIcon {
		width: 15%;
		height: auto;
		margin: 0;
	}

	.alert {
		justify-content: space-between;
		padding: 4vw 3vw;
	}

	.alert .txtBox {
		flex: 1;
	}

	.alert::after {
		top: 1vw;
		bottom: 1vw;
		left: 1vw;
		right: 1vw;
	}

/*--------------------------------------- meritBox ---------------------------------------*/
	.meritBox .box01 .img img,
	.meritBox .box02 .img img,
	.meritBox .box03 .img img,
	.meritBox .box04 .img img {
		width: 100%;
		height: auto;
	}

	.meritBox {
		margin: 14vw 0 0 0;
	}

	.meritBox .box01,
	.meritBox .box02,
	.meritBox .box03 {
		width: 48%;
		padding: 0 1.5vw 5vw 1.5vw;
		height: auto;
	}

	.meritBox .box01 .txt,
	.meritBox .box02 .txt,
	.meritBox .box03 .txt,
	.meritBox .box04 .txt {
		font-size: 4.1vw;
	}

	.meritBox .box01 .img,
	.meritBox .box02 .img,
	.meritBox .box03 .img,
	.meritBox .box04 .img {
		margin: 11vw 0 0 0;
	}

	.meritBox .box01::after,
	.meritBox .box02::after,
	.meritBox .box03::after {
		width: 17vw;
		height: 17vw;
	}

/*--------------------------------------- accordion01 ---------------------------------------*/
	.accordion01 .accordion_contents {
		padding: 2rem 4rem;
	}

	.accordion01 .accordion_contents {
		padding: 1rem 2rem;
		font-size: 1.6rem;
		margin: 1.5rem 0 0 0;
	}

	.accordion01 .accordion_title {
		width: 50%;
		height: 10vw;
		border-radius: 3px;
		font-size: 3.6vw;
	}

/*--------------------------------------- accordion03 ---------------------------------------*/
	.accordion03 summary strong {
		font-size: 4vw;
	}

	.accordion03 summary span {
		font-size: 5vw;
		margin: 0 3vw 0 0;
		padding: 0 3vw 0 0;
	}

	.accordion03 p {
		font-size: 3.6vw;
		padding: 4vw;
	}

	.accordion03 summary {
		padding: 12px;
	}

	#sec06 .conts {
		margin: 9vw 0 0 0;
		gap: 3.5vw;
	}

	.accordion03 summary::after {
		width: 8px;
		height: 8px;
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
	}

/*---------------------------------------
  firstView
---------------------------------------*/
	#firstView {
		overflow: hidden;
	}

	#firstView .fBox {
		position: relative;
	}

	#firstView .fBox .bengoshi {
		position: absolute;
		right: -35px;
	}

	#firstView .con01 .bigTxt {
		font-size: 9.2vw;
	}

	#firstView .con01 .bigTxt .mini {
		font-size: 3rem;
	}

	#firstView .con01 .norTxt {
		font-size: 4.4vw;
	}

	#firstView .con01 .norTxt .mini {
		font-size: 1.5rem;
	}

	#firstView .txtBox {
		width: 60%;
		padding: 8vw 0 7vw 0;
		z-index: 1;
	}

	#firstView .con02 {
		margin: 3vw 0 0 0;
		width: 55%;
		gap: 1vw;
	}

	#firstView .con02 .box01 .txt,
	#firstView .con02 .box02 .txt,
	#firstView .con02 .box04 .txt {
		font-size: 5vw;
	}

	#firstView .con02 .box03 .txt {
		font-size: 4.2vw;
	}

	#firstView .con02 .mini01 {
		font-size: 3.4vw;
	}

	#firstView .con02 .box01 .icon,
	#firstView .con02 .box02 .icon,
	#firstView .con02 .box03 .icon,
	#firstView .con02 .box04 .icon {
		margin: 0 1vw;
		width: 9vw;
	}

	#firstView .con02 .box01,
	#firstView .con02 .box02,
	#firstView .con02 .box03,
	#firstView .con02 .box04 {
		width: 100%;
		height: 16vw;
		border-width: 0.5vw;
		border-radius: 8px;
	}

	#firstView .con01 .bigTxt .mini {
		font-size: 2.2rem;
	}

	#firstView .con01 .norTxt .mini {
		font-size: 1.1rem;
	}

	#firstView .con01 .bigTxt .mini {
		font-size: 1.8rem;
	}

	#firstView .con01 .norTxt .mini {
		font-size: .9rem;
	}

	#firstView .fBox .bengoshi {
		width: 60%;
		height: auto;
		right: -45px;
	}

	#firstView .con02 .box02 .txt .col02 {
		margin: 0;
	}

	#firstView .con02 .mini02 {
		font-size: 2vw;
	}

	#firstView .irstView__image {
		width: 45vw;
		height: auto;
		position: absolute;
		right: -4vw;
		bottom: 2vw;
		z-index: 2;
	}

	#firstView .irstView__image figcaption {
		bottom: 4vw;
		right: 2vw;
		font-size: 2.8vw;
	}

	#firstView .irstView__image figcaption span {
		display: block;
		text-align: left;
	}

/*---------------------------------------
  sec01
---------------------------------------*/
	#sec01 {
		padding: 11vw 0 8vw;
	}

	#sec01 .con02 {
		margin: 10vw 0 0 0;
	}

	#sec01 .con01 ul {
		margin: 0;
	}

	#sec01 .con03 {
		margin: 4vw 0 0 0;
	}

	#sec01 .con03 .txt01 {
		font-size: 1.5rem;
	}

	#sec01 .con03 .txt02 {
		font-size: 2rem;
	}

	#sec01 .con03 .txt01 {
		font-size: 1.4rem;
	}

	#sec01 .con03 .txt02 {
		font-size: 1.7rem;
	}

	#sec01 .con01 .wrap {
		width: 100%;
	}

	#sec01 .con01 .txtImg {
		width: 100%;
		height: auto;
	}

	#sec01 .con01 ul li {
		font-size: 1.5rem;
	}

	#sec01 .con01 ul li .img {
		margin: 0 2vw 0 0;
		width: 4vw;
	}

	#sec01 .con03 .txt01 {
		font-size: 2rem;
	}

	#sec01 .con03 .txt02 {
		font-size: 2.2rem;
		width: fit-content;
		margin: 0 auto;
	}

	#sec01 .con03 .txt01 {
		font-size: 1.4rem;
	}

	#sec01 .con03 .txt02 {
		font-size: 1.6rem;
	}

	#sec01 .con01 {
		padding: 2rem 1rem;
	}

	#sec01 .con01 ul li {
		font-size: 1rem;
	}

	#sec01 .con03 .txt01 {
		font-size: 1rem;
	}

	#sec01 .con03 .txt02 {
		font-size: 4.4vw;
	}

	#sec01 .con02 .meritBox {
		gap: 11vw 0;
	}

	#sec01 .con01 .titleTxt {
		border-radius: 8px;
		font-size: 4.4vw;
		padding: 1vw 0;
		margin: 2vw 0 0 0;
	}

	#sec01 .triangle01 {
		width: 53vw;
	}

/*---------------------------------------
  sec02
---------------------------------------*/
	#sec02 {
		padding: 16vw 0 10vw 0;
	}

	#sec02 .con01 {
		margin: 5vw 0 6vw 0;
	}

	#sec02 .con02 .txt01 {
		font-size: 4vw;
	}

	#sec02 .con02 .txt02 {
		font-size: 4.6vw;
		margin: 0 auto;
	}

	#sec02 .meritBox .box01,
	#sec02 .meritBox .box02,
	#sec02 .meritBox .box03 {
		height: auto;
	}

	#sec02 .triangle01 {
		width: 53vw;
	}

/*---------------------------------------
  sec03
---------------------------------------*/
	#sec03 .con01 {
		margin: 7vw 0 0 0;
	}

	#sec03 .con01 .ttlBox h3 {
		font-size: 1.5rem;
	}

	#sec03 .con01 .ttlBox .txt01 {
		font-size: 1.2rem;
	}

	#sec03 .con02 .board {
		height: 31vw;
	}

	#sec03 .con02 .board .board02 .txt01 {
		font-size: 3.8vw;

	}

	#sec03 .con02 .board .board02 .txt02 {
		font-size: 5.6vw;
		text-align: center;
	}

	#sec03 {
		background-size: 7px 7px;
		padding: 14vw 0 16vw 0;
	}

	#sec03 .con01 .ttlBox {
		flex-wrap: wrap;
		padding: 1.5vw;
	}

	#sec03 .con01 .ttlBox .txt01 {
		font-size: 3.4vw;
		padding: 1vw 3.5vw;
	}

	#sec03 .con01 .ttlBox h3 {
		font-size: 4.8vw;
		margin: 1vw 0 0 0;
	}

	#sec03 .con01 .detail.pc {
		display: none !important;
	}

	#sec03 .con01 .detail.sp {
		display: block !important;
	}

	#sec03 .con01 .detail {
		padding: 5vw 2vw;
	}

	#sec03 .con01 .detail .imgBox p {
		margin: 0 auto;
		padding: 2px 0;
		width: 30vw;
		font-size: 3.8vw;
		border-width: 0.5vw;
	}

	#sec03 .con01 .imgBox img {
		width: 23vw;
		height: auto;
	}

	#sec03 .con01 .detail h4 {
		font-size: 4vw;
	}

	#sec03 .con01 .detail .txtBox p {
		font-size: 3.6vw;
		padding: 0;
	    font-weight: normal;
	}

	#sec03 .con01 .detail .accordion01 .accordion_contents {
		border: none;
		padding: 0;
	}

	#sec03 .con01 .detail .accordion01 .accordion_title::before {
		content: "続きを見る";
	}

	#sec03 .con01 .detail .accordion01[open] .accordion_title::before {
		content: "閉じる";
	}

	#sec03 .con02 img {
		width: 100%;
		height: auto;
	}

	#sec03 .con01 .detail h4 .icon {
		transform: scale(0.8);
	}

/*---------------------------------------
  sec04
---------------------------------------*/
	#sec04 {
		padding: 15vw 0 12vw 0;
	}

	#sec04 h3 {
		font-size: 5vw;
	}

	#sec04 .detail .txtBox .ttl h4 {
		font-size: 4.2vw;
	}

	#sec04 .detail .txtBox .txt p {
		font-size: 3.6vw;
		line-height: 1.5;
	}

	#sec04 .detail {
		margin: 1rem 0 0 0;
		flex-wrap: wrap;
		gap: 12px;
		padding: 20px 16px;
	}

	#sec04 .detail .txtBox {
		width: 100%;
	}

	#sec04 .detail img {
		width: auto;
		height: 35vw;
		margin: 0 auto;
	}

	#sec04 .detail .txtBox .txt {
		margin: .5rem 0 0 0;
	}

	#sec04 .box01,
	#sec04 .box02,
	#sec04 .box03,
	#sec04 .box04,
	#sec04 .box05 {
		padding: 4vw 3vw;
	}

	#sec04 .box01::before,
	#sec04 .box02::before,
	#sec04 .box03::before,
	#sec04 .box04::before,
	#sec04 .box05::before {
		font-size: 6.5vw;
		top: 3vw;
		left: 4vw;
	}

	#sec04 .box01 {
		margin: 8vw 0 0 0;
	}

	#sec04 .triangle02 {
		width: 24vw;
		margin: 3vw auto 2vw;
	}

/*---------------------------------------
  sec05
---------------------------------------*/
	#sec05 {
		padding: 8vw 0 13vw 0;
	}

	#sec05 .con01 .txtBox h3 {
		font-size: 5.3vw;
	}

	#sec05 .con01 .txtBox p {
		margin: 5vw 0 0 0;
		font-size: 3.8vw;
	}

	#sec05 .con02 .box01 .free p {
		font-size: 3.5rem;
	}

	#sec05 .con02 .box01 .free .f01 {
		font-size: 6rem;
	}

	#sec05 .con02 .box01 .free .f02 {
		font-size: 3rem;
	}

	#sec05 .con02 .box01 .freeTxt {
		margin: 1rem 0 0 0;
		font-size: 1.2rem;
	}

	#sec05 .con02 h3 {
		font-size: 5.8vw;
		padding: 3vw 0;
	}

	#sec05 .con02 .txtBox .f01 {
		font-size: 4rem;
	}

	#sec05 .money-new-line {
		display: block;
	}

	#sec05 .con02 .txtBox {
		padding: 2vw 3vw 7vw;
	}

	#sec05 .con02 .box02 .txtBox {
		padding: 5vw 3vw 7vw;
	}

	#sec05 .con02 .box01 {
		margin: 8vw 0 0 0;
		padding: 1rem;
		border-width: 0.7vw;
	}

	#sec05 .con02 .box02,
	#sec05 .con02 .box03,
	#sec05 .con02 .box04 {
		padding: 0.7vw;
	}

	#sec05 .con01 {
		padding: 2vw 3vw 5vw 3vw;
	}

	#sec05 .con01 .box01,
	#sec05 .con01 .box02,
	#sec05 .con01 .box03 {
		align-items: flex-start;
		gap: 12px;
	}

	#sec05 .con01 .img {
		width: 16vw;
	}

	#sec05 .con02 .box01 .freeTxt,
	#sec05 .con02 .txtBox .txt {
		font-size: 3.4vw;
		margin: 0;
		padding: 3vw 0 0 0;
		text-align: left;
	}

	#sec05 .con02 .txtBox .txt .small {
		padding: 3vw 0 0 0;
		display: block;
		font-size: 0.8em;
	}

	#sec05 .con02 .txtBox .money p,
	#sec05 .con02 .txtBox .f02 {
		font-size: 5.5vw;
		padding: 0;
	}

	#sec05 .con02 .txtBox .money02 {
		padding: 2vw 0 0 0;
	}

	#sec05 .con02 .box01 .free p {
		font-size: 2rem;
	}

	#sec05 .con02 .box01 .free .f01,
	#sec05 .con02 .txtBox .f01 {
		font-size: 3rem;
	}

	#sec05 .con02 .box01 .free .f02 {
		font-size: 1.8rem;
	}

	#sec05 .triangle01 {
		width: 53vw;
		margin: 8vw auto;
	}

	#sec05 .con02 .triangle02 {
		width: 17vw;
		margin: 3vw auto 4vw;
	}

/*---------------------------------------
  sec06
---------------------------------------*/
	#sec06 {
		padding: 12vw 0 14vw 0;
	}

/*---------------------------------------
  sec07
---------------------------------------*/
	#sec07 {
		padding: 12vw 0 12vw 0;
	}

	#sec07 .title02 {
		margin: 0 0 9vw 0;
	}

	#sec07 .con01 {
		margin: 9vw 0 0 0;
	}

	#sec07 .sec07__img {
		width: 60vw;
	}

	#sec07 .sec07__img figcaption {
		font-size: 3vw;
		padding: 2vw 0 0 0;
		letter-spacing: 0;
	}

	#sec07 table {
		margin: 8vw 0 0 0;
		font-size: 3.6vw;
	}

	#sec07 .con02 p {
		font-size: 3.4vw;
		padding: 4vw 0 0 0;
	}

	#sec07 table th {
		width: 28%;
		padding: 4vw 2vw;
	}

	#sec07 table td {
		padding: 4vw 2vw;
	}

	#sec07 .con03 {
		margin: 11vw 0 0 0;
	}

	#sec07 .map {
		height: 65vw;
	}

/*---------------------------------------
  contact
---------------------------------------*/

	#contact {
		padding: 6vw 0 10vw;
	}

	#contact .form-group>p {
		display: block;
	}

	#contact .required {
		font-size: 3vw;
		border-radius: 4px;
		padding: 0 2.5vw;
	}

	#contact label {
		font-size: 3.8vw;
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 0 2vw 0;
		align-items: center;
	}

	#contact input,
	#contact textarea {
		font-size: 3.4vw;
		padding: 3vw;
	}

	#contact button {
		margin: 2.5rem 0 0 0;
		width: 100%;
	}

	#contact button {
		padding: 1rem 0 .8rem 0;
		font-size: 1.2rem;
		margin: 1rem 0 0 0;
	}

	#contact .progressBox {
		width: 340px;
		height: 35px;
		margin: 7vw auto 3vw;
	}

	#contact .progressBox .step {
		width: 124px;
		height: 35px;
		left: calc(50% - 62px);
		font-size: 1rem;
	}

	#contact .txtBox {
		font-size: 0.8rem;
		line-height: 20px;
	}

	#contact .form-btn {
		box-shadow: 0px 2px 0px #2e1d12;
		width: 100%;
		border-radius: 4px;
		aspect-ratio: 459 / 81;
		margin: min(30px, 3vw) auto 0;
	}

	#contact .form-btn input,
	#contact .form-btn.return p{
		font-size: 4.2vw;
	}

/*---------------------------------------
  induction
---------------------------------------*/
	#induction .contactThree a:hover {
		top: 0;
	}

	#induction.pc {
		display: none !important;
	}

	#induction.sp {
		display: block !important;
		padding: 0;
		background: #fff;
	}

	#induction .txtBox {
		font-size: 1.3rem;
		font-weight: bold;
		padding: .5rem 0;
	}

	#induction .txtBox p {
		position: relative;
		width: fit-content;
		margin: 0 auto;
	}

	#induction .txtBox p::before {
		position: absolute;
		content: "";
		background: #0052a5;
		width: 20px;
		height: 1px;
		top: 11px;
		left: -22px;
		transform: rotate(70deg);
	}

	#induction .txtBox p::after {
		position: absolute;
		content: "";
		background: #0052a5;
		width: 20px;
		height: 1px;
		top: 11px;
		right: -22px;
		transform: rotate(-70deg);
	}

	#induction .contactThree {
		gap: 0;
	}

	#induction .contactThree .telBox,
	#induction .contactThree .mailBox,
	#induction .contactThree .lineBox {
		width: calc(100% / 2);
		box-shadow: none;
		border-radius: 0;
		padding: .6rem 0;
		height: auto;
		font-size: 1.4rem;
		gap: .2rem;
		aspect-ratio: inherit;
	}

	#induction .contactThree .telBox p,
	#induction .contactThree .mailBox p,
	#induction .contactThree .lineBox p {
		font-size: 1rem;
	}

	#induction .contactThree .icon {
		margin: 0 0 -4px 0;
		width: 17px;
		height: auto;
	}

	#induction .contactThree .icon:last-child {
		margin: 0;
	}

	#induction .txtBox {
		font-size: 1rem;
	}

/*---------------------------------------
  footer
---------------------------------------*/
	footer {
		margin: 0 0 100px 0;
	}

	.lp-isanbunkatsu-footer {
		font-size: 2.8vw;
		padding: 4vw 0;
	}
}