@charset "UTF-8";
/*
Theme Name: SANGO Child
Theme URI: https://saruwakakun.design
Author: SARUWAKA
Author URI: https://saruwakakun.com
Template: sango-theme
Version: 3.0
*/
/*こちらはSANGOの子テーマ用CSSです。以下にCSSを記入していきましょう。*/

/* =======================================================
基本設定
======================================================= */
@font-face {
	font-family: noto-sans-jp;
	font-weight: normal;
	src: url("./fonts/Noto-Sans-JP/NotoSansJP-Regular.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: noto-sans-jp;
	font-weight: bold;
	src: url("./fonts/Noto-Sans-JP/NotoSansJP-Bold.woff") format("woff");
	font-display: swap;
}
.ly-head,
.ly-foot {
	min-width: 1024px;
	font-family: noto-sans-jp, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: #222;
	letter-spacing: 0.04em;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-size-adjust: 100%;
}
.ly-head,
.ly-foot{
	font-size: 17px;
}
.ly-head img,
.ly-foot img,
.bl-cta img {
	width: 100%;
	height: auto;
	vertical-align: middle;
	image-rendering: -webkit-optimize-contrast;
}
.ly-head a:hover,
.ly-foot a:hover,
.bl-cta a:hover{
	text-decoration: none;
}
/* PC SP */
.ly-head .pc,
.ly-foot .pc,
.bl-cta .pc{
	display: initial;
}
.ly-head .tb,
.ly-foot .tb,
.bl-cta .tb{
	display: none;
}
.ly-head .sp,
.ly-foot .sp,
.bl-cta .sp{
	display: none;
}
@media (hover: hover) {
	/* PCのみホバー効果 */
	.ly-head a,
	.ly-foot a,
	.bl-cta a,
	.ly-head .hp-hover,
	.ly-foot .hp-hover,
	.bl-cta .hp-hover{
		transition: all 0.3s ease;
	}
	.ly-head a:hover,
	.ly-foot a:hover,
	.bl-cta a:hover,
	.ly-head .hp-hover:hover,
	.ly-foot .hp-hover:hover,
	.bl-cta .hp-hover:hover{
		opacity: 0.7;
	}
}
@media screen and (width <= 1240px) {
	/* PC SP */
	.ly-head .pc,
	.ly-foot .pc,
	.bl-cta .pc{
		display: none;
	}
	.ly-head .tb,
	.ly-foot .tb,
	.bl-cta .tb{
		display: initial;
	}
}
@media screen and (width <= 768px) {
	.ly-head,
	.ly-foot{
		font-size: 1em;
	}
	.ly-head,
	.ly-foot {
		width: 100%;
		min-width: auto;
		max-width: 768px;
	}
	.ly-head .tb,
	.ly-foot .tb,
	.bl-cta .tb{
		display: none;
	}
	.ly-head .sp,
	.ly-foot .sp,
	.bl-cta .sp{
		display: initial;
	}
}

/* inner */
.ly-head-inner,
.ly-foot-inner,
.ly-cont,
.ly-cont-inner {
	position: relative;
	width: 1024px;
	height: 100%;
	margin-right: auto;
	margin-left: auto;
}
.el-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 2px;
}
@media screen and (width <= 768px) {
	/* inner */
	.ly-cont,
	.ly-cont-inner,
	.ly-head-inner,
	.ly-foot-inner {
		max-width: 768px;
		width: 100%;
	}
}
/* =============================
header
============================== */
.ly-head {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100px;
}
.ly-head.is-scroll {
	background: #fff;
	box-shadow: 0 3px 8px rgb(0 0 0 / 8%);
}
.bl-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

/* ロゴ */
.bl-head-logo {
	display: flex;
	width: 230px;
}
.bl-head-right{
	display: flex;
	gap: 26px;
}
.bl-head-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* ナビ */
.bl-gnav-inner {
	display: flex;
	gap: 16px;
	align-items: center;
}
.bl-gnav-link {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	color: #222;
}
.bl-head-btn-wrapper {
	display: flex;
	gap: 24px;
	align-items: center;
}
.bl-head-btn {
	display: grid;
	place-content: center;
	width: 97px;
	height: 56px;
	padding-top: 0;
	padding-bottom: 3px;
	font-size: 16px;
	font-weight: 700;
	line-height: calc(24 / 16);
	color: #fff;
	text-align: center;
	background: #31cfeb;
	border-radius: 4px;
}
.bl-head-btn.--free {
	width: 130px;
	background: #fc685a;
}
.bl-head-btn.--mypage {
	width: 98px;
	background: #31cfeb;
}

/* スマホ用非表示 */
.bl-burger {
	display: none;
}
@media screen and (width <= 768px) {
	.ly-head {
		height: 60px;
	}
	.bl-head {
		align-items: unset;
		padding-left: 15px;
	}
	/* ロゴ */
	.bl-head-logo {
		position: relative;
		z-index: 9999;
		width: 174px;
	}
	.bl-head-right{
		gap: 0;
	}
	.bl-head-mypage {
		display: grid;
		place-content: center;
		width: 100px;
		height: 60px;
		font-weight: 700;
		color: #fff;
		text-align: center;
		background: #31cfeb;
	}
	.bl-head-container {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		flex-direction: column;
		gap: 32px;
		justify-content: center;
		width: 100%;
		height: 100vh;
		background: url("./images/common/nav-bg.jpg") top center/cover no-repeat;
		transition: all 0.3s ease;
		transform: translateX(100%);
	}
	.bl-head-container::after {
		position: absolute;
		bottom: 32px;
		left: 50%;
		width: 127px;
		height: 60px;
		content: "";
		background: url("./images/common/nav-deco.svg") top center/contain no-repeat;
		transform: translateX(-50%);
	}
	.bl-head-container.is-active {
		transform: translateX(0);
	}

	/* ナビ */
	.bl-gnav-inner {
		flex-direction: column;
		gap: 32px;
	}
	.bl-head-btn {
		padding-top: 0;
	}
	.bl-head-btn-deco {
		display: none;
	}
	.bl-head-btn-inner {
		min-width: auto;
		padding: 0;
		color: #222;
		letter-spacing: 0;
		background: transparent;
		border-radius: 0;
	}
	.bl-burger {
		z-index: 9999;
		display: grid;
		grid-template-rows: 1fr auto;
		width: 60px;
		height: 60px;
		padding: 9px 7px 6px;
		background: #fff;
		border: 1.5px solid #0097f4;
	}
	.bl-burger.is-active .bl-burger-bars::before {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.bl-burger.is-active .bl-burger-bars::after {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.bl-burger.is-active .bl-burger-bar {
		display: none;
	}
	.bl-burger-bars {
		position: relative;
		display: block;
		height: 22px;
		margin-bottom: 8px;
	}
	.bl-burger-bars::before,
	.bl-burger-bars::after {
		position: absolute;
		left: 50%;
		width: 100%;
		height: 2px;
		content: "";
		background: #0097f4;
		transition: all 0.3s ease;
		transform: translateX(-50%);
	}
	.bl-burger-bars::before {
		top: 0;
	}
	.bl-burger-bars::after {
		bottom: 0;
	}
	.bl-burger-bar {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: 2px;
		background: #0097f4;
		transform: translate(-50%, -50%);
	}
	.bl-burger-menu {
		display: flex;
		width: 41px;
		margin: 0 auto;
	}
	.bl-head-btn-wrapper {
		display: none;
	}
}

/* =============================
footer
============================= */
.ly-foot {
	background: #4c5a6c;
}
.bl-foot {
	position: relative;
	padding: 56px 0 16px;
}
.bl-foot-conts {
	display: flex;
	justify-content: space-between;
	margin-bottom: 48px;
}
.bl-foot-logo {
	width: 230px;
}
.bl-foot-fnav-list {
	display: grid;
	grid-template-rows: repeat(7, auto);
	grid-template-columns: repeat(3, auto);
	grid-auto-flow: column;
	gap: 8px 108px;
	margin: 0;
}
.bl-foot-fnav-item {
	font-size: .8em;
	line-height: 1.4;
}
.bl-foot-fnav-item > a{
	color: #fff;
}
.bl-foot-sns-list {
	position: absolute;
	top: 130px;
	right: 96px;
	display: flex;
	gap: 24px;
}
.bl-foot-sns-item {
	width: 34px;
}
.bl-foot-copyright {
	font-size: 12px;
	color: #fff;
	text-align: center;
	margin: 0;
}
.bl-relation-details{
	margin: 0;
}
.bl-foot-relation .bl-relation-summary {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 8px;
	align-items: center;
	padding: 5px 0 6px;
	font-size: 15px;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	cursor: pointer;
	background: #2c3540;
}
.bl-foot-relation .bl-relation-summary::before {
	content: "";
}
.bl-foot-relation .bl-relation-summary::after {
	width: 0;
	height: 0;
	content: "";
	border-color: #fff transparent transparent transparent;
	border-style: solid;
	border-width: 10px 6px 0;
}
.bl-foot-relation .bl-relation-summary.--open::after {
	border-color: transparent transparent #fff transparent;
	border-width: 0 6px 10px;
}
.bl-foot-relation .bl-relation-list {
	display: grid;
	grid-template-rows: repeat(10, auto);
	grid-template-columns: 1fr auto;
	grid-auto-flow: column;
	gap: 8px 0;
	justify-content: space-between;
	margin: 0;
}
.bl-foot-relation .bl-relation-item {
	font-size: 15px;
	line-height: 1.4;
	color: #fff;
}
.bl-foot-relation .bl-relation-answer {
	display: none;
}
.bl-foot-relation .ly-cont-inner {
	padding: 20px 0 20px 15px;
}

/* ページトップボタン */
.bl-pagetop {
	position: relative;
	width: 1020px;
	height: 0;
	margin: 0 auto;
	text-align: right;
}
.bl-pagetop span {
	z-index: 1;
	width: 66px;
	height: 66px;
}
.bl-pagetop img {
	opacity: 0;
}
.bl-pagetop .fade img {
	transition: all 0.5s ease-in-out;
}
.bl-pagetop .in img {
	cursor: pointer;
	opacity: 1;
}
@media screen and (width >= 769px) {
	.bl-foot-fnav-list {
		grid-template-areas: "fnav1 fnav7 fnav13" "fnav2 fnav8 fnav14" "fnav3 fnav9 ." "fnav4 fnav10 ." "fnav5 fnav11 ." "fnav6 fnav12 .";
	}
	.bl-foot-fnav-item:nth-of-type(1) {
		grid-area: fnav1;
	}
	.bl-foot-fnav-item:nth-of-type(2) {
		grid-area: fnav2;
	}
	.bl-foot-fnav-item:nth-of-type(3) {
		grid-area: fnav3;
	}
	.bl-foot-fnav-item:nth-of-type(4) {
		grid-area: fnav4;
	}
	.bl-foot-fnav-item:nth-of-type(5) {
		grid-area: fnav5;
	}
	.bl-foot-fnav-item:nth-of-type(6) {
		grid-area: fnav6;
	}
	.bl-foot-fnav-item:nth-of-type(7) {
		grid-area: fnav7;
	}
	.bl-foot-fnav-item:nth-of-type(8) {
		grid-area: fnav8;
	}
	.bl-foot-fnav-item:nth-of-type(9) {
		grid-area: fnav9;
	}
	.bl-foot-fnav-item:nth-of-type(10) {
		grid-area: fnav10;
	}
	.bl-foot-fnav-item:nth-of-type(11) {
		grid-area: fnav11;
	}
	.bl-foot-fnav-item:nth-of-type(12) {
		grid-area: fnav12;
	}
	.bl-foot-fnav-item:nth-of-type(13) {
		grid-area: fnav13;
	}
	.bl-foot-fnav-item:nth-of-type(14) {
		grid-area: fnav14;
	}
}
@media screen and (width <= 768px) {
	.bl-foot {
		padding: 32px 0 8px 15px;
	}
	.bl-foot-conts {
		display: grid;
		gap: 32px;
		justify-content: normal;
		margin-bottom: 32px;
	}
	.bl-foot-logo {
		order: 2;
		width: 196px;
		margin: 0 auto;
	}
	.bl-foot-fnav-wrapper {
		order: 1;
	}
	.bl-foot-fnav-list {
		grid-template-rows: repeat(7, auto);
		grid-template-columns: repeat(2, 1fr);
		gap: 16px 0;
	}
	.bl-foot-sns-list {
		position: relative;
		top: initial;
		right: initial;
		gap: 28px;
		justify-content: center;
		order: 3;
		margin: 0;
	}
	.bl-foot-sns-item {
		width: 32px;
	}
	.bl-foot-relation .bl-relation-summary {
		gap: 8px;
		padding: 6px 0 8px;
	}
	.bl-foot-relation .bl-relation-summary::after {
		border-width: 8px 5px 0;
	}
	.bl-foot-relation .bl-relation-summary.--open::after {
		border-width: 0 5px 8px;
	}
	.bl-foot-relation .bl-relation-list {
		grid-template-rows: auto;
		grid-template-columns: auto;
		grid-auto-flow: row;
		gap: 8px 0;
	}
	.bl-foot-relation .bl-relation-item {
		font-size: .8em;
	}
	/* ページトップボタン */
	.bl-pagetop {
		width: 100%;
	}
	.bl-pagetop span {
		width: 54px;
		height: 54px;
	}
}

/* =============================
main
============================= */
#content{
	padding-top: 100px;
}
@media screen and (width <= 768px) {
	#content{
		padding-top: 60px;
	}
}