@charset "utf-8";

/* ==========================================
カスタムプロパティ
========================================== */

:root {
	/* base color */
	--base-font-color: #583B21;
	--base-bg-color: #EBC7A8;

	/* ui color */
	--ui-border-color: #555;
	--ui-focus-color: #333;
	/* ui color */
	--ui-border-color: #555;
	--ui-focus-color: #333;

	/* site color */
	--primary: #F18C34;
	--priary-hover: #f55;
	--secondary: #583B21;
	--secondary-hover: #55f;
	--tertiary: #583B21 ;
	--tertiary-hover: #5f5;
	--quaternary: #f0f;
	--quaternary-hover: #f5f;
	--fifth: #ff0;
	--fifth-hover: #ff5;
	--sixth: #0ff;
	--sixth-hover: #5ff;

	--white: #FFF;

    --bg-primary: #583B21;
    --bg-secondary: #2D1705;
    --bg-tertiary: #F18C34;
    --bg-quaternary: #F3E1C9;
    --bg-fifth: #F3E1C9;

	/* btn color */
	--btn-primary: var(--primary);
	--btn-primary-hover: var(--primary-hover);
	--btn-secondary: var(--secondary);
	--btn-secondary-hover: var(--secondary-hover);
	--btn-tertiary: var(--tertiary);
	--btn-tertiary-hover: var(--tertiary-hover);
	--btn-quaternary: var(--quaternary);
	--btn-quaternary-hover: var(--quaternary-hover);
	--btn-fifth: var(--fifth);
	--btn-fifth-hover: var(--fifth-hover);
	--btn-sixth: var(--sixth);
	--btn-sixth-hover: var(--sixth-hover);

	/* font family */
	--base-font-family: "Kaisei Opti", serif, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	/* --base-font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; */
	--font-family01: "Kaisei Opti", serif;
	--font-family02: "Yuji Syuku", serif;
	/* --font-family03: ; */

}

/* ==========================================
共通
========================================== */

html {
	/* font-size: var(--root-font-size); */
	font-size: 62.5%;
}

main {
	overflow: hidden !important;
}

body {
	margin: 0 auto;
	max-width: 192rem;
	width: 100%;
	line-height: 1.6;
	font-size: 1.8rem;
	font-weight: 700;
	font-family: var(--base-font-family);
	color: var(--base-font-color);
	background: var(--base-bg-color);
}

input {
	appearance: auto;
	border: 1px solid var(--ui-border-color);
}

input:focus-visible {
	outline: 1px solid var(--ui-focus-color);
	border-color: var(--ui-focus-color);
}

textarea {
	border: 1px solid var(--ui-border-color);
}

textarea:focus-visible {
	outline: 1px solid var(--ui-focus-color);
	border-color: var(--ui-focus-color);
}

img {
	max-width: 100%;
	height: auto;
}

/* ==========================================
共通パーツ
========================================== */

.padding01 {
	padding: 0 1.5rem;
}

.base-font-color {
	color: var(--base-font-color);
}

.color-primary {
    color: var(--primary);
}

.color-secondary {
    color: var(--secondary);
}

.color-tertiary {
    color: var(--tertiary);
}

.color-quaternary {
    color: var(--quaternary);
}

.color-fifth {
    color: var(--sixth);
}

.color-sixth {
    color: var(--sixth);
}

.color-seventh {
    color: var(--seventh);
}

.color-eighth {
    color: var(--eighth);
}

.color-ninth {
    color: var(--ninth);
}

.color-white {
    color: #FFFFFF;
}

.bg-primary {
    background: var(--bg-primary) !important;
}

.bg-secondary {
    background: var(--bg-secondary) !important;
}

.bg-tertiary {
    background: var(--bg-tertiary) !important;
}

.bg-quaternary {
    background: var(--bg-quaternary) !important;
}

.bg-fifth {
    background: var(--bg-fifth) !important;
}

.d-none {
	display: none !important;
}

.d-block {
	display: block !important;
}

.d-flex {
	display: flex !important;
}

.sp-br-block br {
	display: none;
}

.md-br-block br {
	display: none;
}

.md-br-none br {
	display: block;
}

/* ==========================================
ボタン
========================================== */

.btn01 {
    max-width: 37.8rem;
    width: 100%;
	position: relative;
	transition: all .3s;
}

.btn01 a {
	padding: 0.3rem;
    display: flex;
    align-items: center;
    font-size: 2.1rem;
    font-weight: 400;
    font-family: var(--font-family02);
    letter-spacing: 0.05em;
	color: var(--white);
    background: var(--primary);
	border-radius: 3.7rem;
	overflow: hidden;
    position: relative;
}

.btn01 a::before {
    content: "";
    display: block;
    width: 6.5rem;
    height: 6.7rem;
    margin: 0 0.9rem 0 0;
	background: url(../../../../uploads/btn_icon01.svg) center top;
	background-repeat: no-repeat;
	background-size: contain;
}

.btn01::after {
	content:"";
	position:absolute;
	top: 0;
	right: -2.5rem;
	left: 0;
	bottom:0;
	height:6px;
	background: linear-gradient(var(--white) 0 0) right top/5rem 0.2rem no-repeat,
    linear-gradient(var(--white) 0 0) right bottom/5rem 0.2rem no-repeat;
	margin: auto;
	transition: all .3s;
}

.btn01:hover::after {
    background: linear-gradient(var(--white) 0 0) right top/6rem 0.2rem no-repeat,
    linear-gradient(var(--white) 0 0) right bottom/6rem 0.2rem no-repeat;
}

.tel01-container {
    max-width: 37.7rem;
    width: 100%;
    position: relative;
}

.tel01-illust {
    max-width: 37.7rem;
    width: 100%;
}

.tel01-area {
    display: inline-block;
    position: absolute;
    top: 25%;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1;
}

.tel01-text01 {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
	color: var(--white);
}

.tel01-box {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tel01-icon {
    max-width: 3.5rem;
    width: 100%;
    margin: 0 1.2rem 0 0;
}

.tel01-text02 {
    font-size: 3.2rem;
    font-weight: 400;
    font-family: var(--font-family02);
    letter-spacing: 0;
	color: var(--white);
}

.tel02-container {
    max-width: 36.6rem;
    width: 100%;
    position: relative;
}

.tel02-illust {
    max-width: 36.6rem;
    width: 100%;
}

.tel02-area {
    display: inline-block;
    position: absolute;
    top: 25%;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1;
}

.tel02-text01 {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
	color: var(--white);
}

.tel02-box {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tel02-icon {
    max-width: 3.5rem;
    width: 100%;
    margin: 0 1.8rem 0 0;
}

.tel02-text02 {
    font-size: 3rem;
    font-weight: 400;
    font-family: var(--font-family02);
    letter-spacing: 0;
	color: var(--white);
}

.sns-link01 {
    max-width: 3rem;
    width: 100%;
}

.sns-link01 a {
    display: block;
}

.sns-link01 a img {
    width: 100%;
    transition: all .3s;
}

.sns-link01 a:hover img {
    transform: scale(1.2);
}

/* ==========================================
テキスト
========================================== */

.font-family01 {
    font-family: var(--font-family01) !important;
}

.font-family02 {
    font-family: var(--font-family02) !important;
}

.font-family03 {
    font-family: var(--font-family03) !important;
}

.text01 {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 2.5;
}

.text01-decoration01 {
	padding: 0 0 0.5rem;
	font-size: 2rem;
    background-image: linear-gradient(to right, var(--white) 4px, transparent 4px);
    background-size: 7px 3px;
    background-repeat: repeat-x;
    background-position: center bottom;
}

.text01-decoration02 {
    padding: 0 0 0.5rem;
    font-size: 2rem;
    background-image: linear-gradient(to right, var(--primary) 4px, transparent 4px);
    background-size: 7px 3px;
    background-repeat: repeat-x;
    background-position: center bottom;
}

.text02 {
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.25;
}

.text02-decoration01 {
	font-size: 2.3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-shadow: 0 0 0.6rem #FF7C0A;
}

.text03 {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.75;
}

.text03 strong {
	font-size: 2.5rem;
}

.title01 {
    font-size: 4.7rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.10638;
}

.top01-title-area .title01 {
	letter-spacing: 0.08em;
}

.title01 strong {
	font-size: 6.5rem;
	font-weight: 400;
}

.title01-decoration01 {
	font-size: 6.5rem;
	font-weight: 400;
	color: var(--primary);
	-webkit-text-stroke: 1.5rem var(--white);
	text-stroke: 1.5rem var(--white);
	paint-order: stroke;
}

.top01-title01-decoration01 {
    margin: 18% 2.6rem 0 0;
}

.top01-title01-decoration02 {
    margin: 24rem 2.2rem 0 0;
    display: inline-flex;
    align-items: center;
    flex-direction: row-reverse;
    position: relative;
}

.top01-title01-decoration02::before {
	content: "";
	display: block;
	width: 0.5rem;
	height: 15rem;
	margin: 3rem 0 0;
	background: url(../../../../uploads/title_decoration01.png) center top;
	background-repeat: no-repeat;
	background-size: auto;
}

.title01-decoration03 {
	margin: 0 1rem 0 0;
    font-weight: 400;
    -webkit-text-stroke: 1.5rem var(--primary);
    text-stroke: 1.5rem var(--white);
    paint-order: stroke;
}

.title01-decoration04 {
    font-weight: 400;
}

.title01-decoration05 {
	margin: 0 0 0 1rem;
    font-size: 8.5rem !important;
    -webkit-text-stroke: 1.5rem var(--primary);
    text-stroke: 1.5rem var(--white);
    paint-order: stroke;
}

.title01-decoration06 {
	margin: 0 0 1rem;
	padding: 7%;
	background: url(../../../../uploads/decoration10.png) center top;
	background-repeat: no-repeat;
	background-size: contain;
}

.title01-margin01 {
    margin: 3rem 0 0;
}

.title01-margin02 {
	margin: 1rem 0 0;
}

.title01-margin03 {
    margin: 14rem 6rem 0 0;
}

.title01-margin04 {
    margin: 35rem 3.5rem 0 0;
}

.title02 {
    font-size: 4rem;
    font-weight: 400;
    font-family: var(--font-family02);
    letter-spacing: 0.05em;
}

.title02-decoration01 {
    font-size: 6.5rem;
    font-weight: 400;
    margin: 0 1.5rem;
}

.title02-decoration02 {
    font-size: 8.5rem;
    font-weight: 400;
}

.title03 {
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {

	html {
		/* 10px */
		font-size: 0.52083vw;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {

	html {
		/* 10px */
		font-size: 0.64516vw;
	}

	/* ==========================================
	ボタン
	========================================== */

	.tel02-container {
		max-width: 25rem;
	}

	.tel02-text01 {
		font-size: 1.3rem;
		font-weight: 500;
	}

	.tel02-icon {
		margin: 0 1.1rem 0 0;
		max-width: 2rem;
	}

	.tel02-text02 {
		font-size: 2.1rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

	html {
		/* 10px */
		font-size: 0.97656vw;
	}

	.d-lg-none {
		display: none !important;
	}

	.d-lg-block {
		display: block !important;
	}

	.d-lg-flex {
		display: flex !important;
	}

	.title01 {
		font-size: 3.7rem;
	}

	.title01 strong {
		font-size: 5rem;
	}

	.title01-margin03 {
		margin: 14rem 4rem 0 0;
	}

	.title01-margin04 {
		margin: 35rem 2rem 0 0;
	}

	.title02 {
		font-size: 3.3rem;
	}

	.title02-decoration01 {
		font-size: 4.5rem;
	}

	.title02-decoration02 {
		font-size: 6.5rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

	html {
		/* 10px */
		font-size: 1.30208vw;
	}

	.d-md-none {
		display: none !important;
	}

	.d-md-block {
		display: block !important;
	}

	.d-md-flex {
		display: flex !important;
	}

	.md-br-block br {
		display: block;
	}

	.md-br-none br {
		display: none;
	}

	.title01-margin01 {
		margin: 1rem 0 0;
	}


	.title01-decoration01 {
		font-size: 4.5rem;
		-webkit-text-stroke: 1rem var(--white);
		text-stroke: 1rem var(--white);
	}

	.title01-decoration03 {
		-webkit-text-stroke: 1rem var(--primary);
		text-stroke: 1rem var(--primary);
	}

	.title01-decoration05 {
		font-size: 6.5rem !important;
		-webkit-text-stroke: 1rem var(--primary);
		text-stroke: 1rem var(--primary);
	}

	/* ==========================================
	ボタン
	========================================== */
	

	.tel01-container {
		max-width: 29.2rem;
	}

	.tel01-text01 {
		font-size: 1.5rem;
		font-weight: 500;
	}

	.tel01-icon {
		margin: 0 1.2rem 0 0;
		max-width: 2.7rem;
	}

	.tel01-text02 {
		font-size: 2.3rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

	html {
		/* 12px */
		font-size: 2.08333vw;
	}

	.sp-br-block br {
		display: block;
	}

	.btn01 {
		max-width: 31.8rem;
	}

	.btn01 a {
		font-size: 1.8rem;
	}

	/* ==========================================
	テキスト
	========================================== */

	.text01 {
		font-size: 1.4rem;
	}

	.text01-decoration01 {
		font-size: 1.6rem;
	}

	.text01-decoration02 {
		font-size: 1.6rem;
	}

	.text02 {
		font-size: 1.4rem;
	}

	.text03 {
		font-size: 1.7rem;
	}

	.text03 strong {
		font-size: 2.2rem;
	}

	.title01 {
		font-size: 2.5rem;
	}

	.title01 strong {
		font-size: 4rem;
	}

	.title01-decoration01 {
		font-size: 4.5rem;
		-webkit-text-stroke: 0.8rem var(--white);
		text-stroke: 0.8rem var(--white);
	}

	.title01-decoration03 {
		-webkit-text-stroke: 0.8rem var(--primary);
		text-stroke: 0.8rem var(--primary);
	}

	.title01-decoration05 {
		font-size: 5.7rem !important;
		-webkit-text-stroke: 0.8rem var(--primary);
		text-stroke: 0.8rem var(--primary);
	}

	.top01-title-area .title01 {
		font-size: 2.7rem;
	}

	.top01-title01-decoration01 {
		margin: 12% 2.6rem 0 0;
	}

	.top01-title01-decoration02 {
		margin: 11rem 2.2rem 0 0;
	}

	.title01-margin03 {
        margin: 10rem 4rem 0 0;
    }

	.title01-margin04 {
		margin: 23.6rem 2rem 0 0;
	}

	.title02 {
		font-size: 2.5rem;
	}

	.title02-decoration01 {
		font-size: 4rem;
	}

	.title02-decoration02 {
		font-size: 5.7rem;
	}

	.title03 {
		font-size: 1.8rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 414px) {

	html {
		/* 14px */
		font-size: 2.43055vw;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */