@charset "utf-8";
@import url('pure-min.css');

/* ============================
pp_common.css　もくじ
-------------------------------
1.ブレイクポイント
2.まとめて！カラー設定
3.ページ表示開始エフェクト
4.全体レイアウト＆設定
	4-1.全般
	4-2.スクロール調整
5.パララックス用
6.headerレイアウト
	6-1.header内全体配置の制御
	6-2.header内ロゴ側配置の制御
	6-3.header内メニュー側配置の制御
	6-4.header内お問い合わせパーツの制御
	6-5.header内トグルメニュー開閉設定
	6-6.header内メニュー項目の設定
7.footerレイアウト
	7-1.footer内全体配置の制御
	7-2.footer内ロゴとメニュー配置の制御
	7-2-1.footer内ロゴの設定
	7-2-2.footer内メニューの設定
	7-3.footer内お問い合わせ情報の設定
	7-4.footer内コピーライトの設定
8.パンくず
9.コンテンツ基本構成
============================== */

* {
    box-sizing: border-box;
}
*:before,
*:after {
    box-sizing: inherit;
}

/* ===========================
1.ブレイクポイント
============================== */
@media screen and (min-width: 30em) { /* 480px */
}
@media screen and (min-width: 40em) { /* 640px */
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
}
@media screen and (min-width: 64em) {/* 1024px */
}
@media screen and (min-width: 80em) {/* 1280px */
}

/* ===========================
2.まとめて！カラー設定
============================== */
/* オレンジ #F08301 */
/* お問い合わせ背景 #324A68 */
/* Gray #666; */
:root {
	--primary-color: #F08301;
	--secondary-color: #324A68;
	--color-black: #222;
	--color-gray: #666;
	--color-light-gray: #aaa;
	--color-light-gray-shadow: #aaaaaa88;
	--color-pale-gray: #e4e4e4;
	--color-pale-orange: #ffeeda;
	--color-pale-blue: #daeeff;
	--scrollbar-width: calc(100vw - 100%);
	--inner-max-content-width: 1020px; /* 980px */
	--max-content-width: 1400px; /* 1360px */
}

.t_col_o { color: var(--primary-color); }
.t_col_g { color: var(--color-gray);}

.grid {
	width: calc(100vw - var(--scrollbar-width));
}

/* ===========================
3.ページ表示開始エフェクト
============================== */
body {
	animation: fadeIn 1.5s ease 0s 1 normal;
	-webkit-animation: fadeIn 1.5s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

/* ===========================
4.全体レイアウト＆設定
============================== */
/* 4-1.全般 */
html { overflow-y: scroll; } /* 縦スクロールバーを15pxとして追加する */
body {
	font-family: Lato, "Noto Sans JP", "游ゴシック", 'Yu Gothic', YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",'Hiragino Sans',  "メイリオ", Meiryo, Arial, sans-serif;
	min-height: 100dvh;
}
.ff_mincho {
	font-family: "Garamond" , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
h1, h2, h3, h4, h5, h6, .site-header-logo {
	clear: both;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6, .pp_font {
	font-feature-settings: "palt";
}
.ttl_h1 {
	font-size: 2em;
}
.ttl_h2 {
	font-size: 1.5em;
}
p{
	margin: 0;
	padding: 0;
	font-size: 14px;
}
ul, li, dl, dt, dd {
	list-style: none;
	margin: 0;
	padding: 0;
}
a{
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}
img, picture {
	max-width: 100%;
}
iframe {
	max-width: 100%;
	height: auto;
}
.set_flex{
	flex-wrap: wrap;
	display: flex;
}
.set_flex li{
	margin: 0 auto 1em;
}
.disable-auto-tel a[href^="tel:"] { /* iOS自動電話リンク無効用 */
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}
main#page_contents {
	position: relative;
	background-color: var(--primary-color);
	min-height: 75dvh;
	z-index: 1;
}
.sp_inline_none,
.sp_iblock_none,
.sp_block_none,
.sp_tab_inline_none {
	display: none;
}
br.sp_inline_none::after {
	content: "・";
	margin-left: 1em;
}
.iblock {
	display: inline-block;
}
.lspace_1em {
	letter-spacing: 1em;
}
.lspace_1em.center {
	text-indent: 1em;
}
@media screen and (min-width: 30em) { /* 480px */
	.tab_inline_none,
	.tab_iblock_none,
	.tab_block_none {
		display: none;
	}
	.sp_inline_none {
		display: inline;
	}
	.sp_iblock_none {
		display: inline-block;
	}
	.sp_block_none {
		display: block;
	}
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	.pc_none {
		display: none;
	}
	.tab_inline_none {
		display: inline;
	}
	.tab_iblock_none {
		display: inline-block;
	}
	.tab_block_none {
		display: block;
	}
	.sp_tab_inline_none {
		display: inline;
	}
}
/* 4-2.スクロール調整 */
html, body, section, div, dl, ul {
	scroll-behavior: smooth;
}
html, .block_layer01, .block_layer02, .anime-service {
	scroll-margin-top: 78px;
}
@media screen and (min-width: 40em) { /* 640px */
	html, .block_layer01, .block_layer02, .anime-service {
		scroll-margin-top: 54px;
	}
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	html, .block_layer01, .block_layer02, .anime-service {
		scroll-margin-top: 95px;
	}
}
@media screen and (min-width: 80em) {/* 1280px */
	html, .block_layer01, .block_layer02, .anime-service {
		scroll-margin-top: 71px;
	}
}
/* ===========================
5.パララックス用
============================== */
@media screen and (min-width: 30em) { /* 480px */
	.fadeInUp {
		opacity : 0;
		transform: translateY(130px);
		transition: 1s;
	}
}

/* ===========================
6.headerレイアウト
============================== */
/* 6-1.header内全体配置の制御 */
header.header_type {
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100vw;
	height: auto;
	box-sizing: border-box;
	background-color: #ffffffdd;
	z-index: 900;
}
header.header_type .page_header_inner {
	display: contents;
}
header.header_type #site_logo_area {
	display: contents;
}
header.header_type #site_logo_area .site-header-logo {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}
header.header_type #site_logo_area .site-header-description {
	grid-column: 1 / 3;
	grid-row: 2 / 3;
}
header.header_type #header_menu_area {
	grid-column: 2 / -1;
	grid-row: 1 / 2;
}
@media screen and (min-width: 40em) { /* 640px */
	header.header_type {
		grid-template-rows: auto;
	}
	header.header_type #site_logo_area {
		display: flex;
	}
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	header.header_type {
		grid-template-columns: auto auto auto;
		grid-template-rows: auto 10px 2.5rem;
	}
	header.header_type #site_logo_area {
		display: contents;
	}
	header.header_type #site_logo_area .site-header-logo {
		grid-column: 1 / 2;
		grid-row: 2 / 4;
	}
	header.header_type #site_logo_area .site-header-description {
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}
	header.header_type #header_menu_area {
		display: contents;
	}
	header.header_type #header_menu_area #nav_otayori_pc {
		grid-column: 3 / -1;
		grid-row: 1 / 3;
	}
	header.header_type #header_menu_area #nav_header_global {
		grid-column: 2 / -1;
		grid-row: 3 / 4;
		width: 100%;
	}
}
@media screen and (min-width: 80em) {/* 1280px */
	header.header_type {
		display: block;
	}
	header.header_type .page_header_inner {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: auto;
		max-width: calc(100vw - var(--scrollbar-width));
		width: var(--max-content-width);
		margin: 0 auto;
	}
	header.header_type #site_logo_area {
		min-width: 350px;
	}
	header.header_type .page_header_inner #header_menu_area {
		display: block;
	}
	header.header_type .page_header_inner #header_menu_area .header_menu_area_inner {
		display: flex;
		align-items: center;
		height: 100%;
	}
}
@supports not (display: contents) { /* 古いブラウザへのフォールバックの試み */
	header.header_type {
		display: block;
	}
	header.header_type .page_header_inner {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: auto auto;
	}
	header.header_type #site_logo_area {
		display: block;
	}
	header.header_type #site_logo_area {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: auto auto;
	}
	header.header_type #site_logo_area .site-header-logo {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	header.header_type #site_logo_area .site-header-description {
		grid-column: 1 / 3;
		grid-row: 2 / 3;
	}
	header.header_type #header_menu_area {
		grid-column: 2 / -1;
		grid-row: 1 / 2;
		display: block;
	}
}
/* 6-2.header内ロゴ側配置の制御 */
header.header_type #site_logo_area .site-header-logo {
	padding: 0.75rem 0.25rem 0.25rem 0.75rem;
	display: block;
}
header.header_type #site_logo_area .site-header-logo .pplabo_logo {
	width: 100%;
	min-width: 70px;
	max-width: 110px;
	height: auto;
	transition: all 0.3s;
}
header.header_type #site_logo_area .site-header-logo:hover .pplabo_logo {
	filter: brightness(125%);
}
header.header_type #site_logo_area .site-header-description {
	padding: 0.125rem 0.5rem 0.25rem 0.75rem;
}
header.header_type #site_logo_area .site-header-description p.site-description {
	font-size: 12px;
}
header.header_type #site_logo_area .site-header-description p.site-description .sp_inline_none {
	display: none;
}
@media screen and (min-width: 30em) { /* 480px */
	header.header_type #site_logo_area .site-header-description p.site-description .sp_inline_none {
		display: none;
	}
}
@media screen and (min-width: 40em) { /* 640px */
	header.header_type #site_logo_area .site-header-description {
		display: flex;
		align-items: center;
		padding: 0.25rem 0.5rem 0.25rem 0.75rem;
	}
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	header.header_type #site_logo_area .site-header-description {
		padding: 0.75rem 0.5rem 0.75rem 0.75rem;
		height: 100%;
	}
	header.header_type #site_logo_area .site-header-logo {
		padding: 0.25rem 0.25rem 0.75rem 0.75rem;
		position: relative;
		top: -10px;
	}
	header.header_type #site_logo_area .site-header-logo .pplabo_logo {
		min-width: 100px;
		max-width: 140px;
	}
}
@media screen and (min-width: 80em) {/* 1280px */
	header.header_type #site_logo_area {
		display: block;
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	header.header_type #site_logo_area {
		display: flex;
	}
	header.header_type #site_logo_area .site-header-description p.site-description .sp_inline_none {
		display: inline;
	}
	header.header_type #site_logo_area .site-header-logo {
		padding: 0.5rem 0.25rem 0.5rem 0.75rem;
		top: 0;
	}
	header.header_type #site_logo_area .site-header-logo .pplabo_logo {
		min-width: 100px;
		max-width: 164px;
	}
	header.header_type #site_logo_area .site-header-description p.site-description {
		font-size: 14px;
	}
}
/* 6-3.header内メニュー側配置の制御 */
header.header_type #header_menu_area .header_menu_area_inner {
	display: flex;
	justify-content: flex-end;
}
header.header_type #header_menu_area #nav_otayori_pc {
	display: none;
}
#header_menu_area #nav_otayori_sp {
	position: relative;
	z-index: 100;
}
#header_menu_area #nav_header_global {
	position: relative;
	width: calc(3rem + 6px);
	overflow: visible;
}
#header_menu_area #nav_otayori_sp .otayori_set {
	display: flex;
	flex-direction: row;
	position: relative;
	background-color: #fff;
	column-gap: 1px;
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	header.header_type #header_menu_area {
		display: contents;
	}
	header.header_type #header_menu_area .header_menu_area_inner {
		display: contents;
	}
	header.header_type #header_menu_area #nav_otayori_pc {
		display: block;
		grid-column: 3 / -1;
		grid-row: 1 / 2;
	}
	header.header_type #header_menu_area #nav_otayori_sp {
		display: none;
	}
}
@supports not (display: contents) {
	header.header_type #header_menu_area .header_menu_area_inner {
		display: flex;
		flex-direction: column;
	}
}
/* 6-4.header内お問い合わせパーツの制御 */
#header_menu_area #nav_otayori_sp .otayori_set p {
	height: 3rem;
	width: 3rem;
	background-color: #324A68;
}
#header_menu_area #nav_otayori_sp .otayori_set p a {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	#header_menu_area #nav_otayori_pc {
		position: relative;
		top: 4px;
		height: 100%;
		padding-right: 0.75rem;
	}
	#header_menu_area #nav_otayori_pc .otayori_set {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		height: 100%;
		column-gap: 1rem;
	}
	#header_menu_area #nav_otayori_pc .otayori_set li:first-child {
		font-size: 20px;
	}
	#header_menu_area #nav_otayori_pc .otayori_set li:first-child span {
		color: #000;
	}
	#header_menu_area #nav_otayori_pc .otayori_set li:last-child a {
		min-width: 160px;
		position: relative;
		background: linear-gradient(90deg, #0b57d0 10%, #324A68 60%);
		background-size: 250%;
		background-position: 100% 0;
		border-radius: 16px;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
		display: block;
		padding: 0.2rem 1rem 0.3rem;
		font-size: 17px;
		text-align: center;
		color: #fff;
		text-decoration: none;
		transition: all 0.3s;
	}
	#header_menu_area #nav_otayori_pc .otayori_set li:last-child a::after {
		content: '';
		display: inline-block;
		transform: rotate(45deg);
		width: 12px;
		height: 12px;
		border-top: #fff solid 2px;
		border-right: #fff solid 2px;
	}
	#header_menu_area #nav_otayori_pc .otayori_set li:last-child a:hover {
		letter-spacing: 0.07em;
		background-position: 0% 0;
	}
}
@media screen and (min-width: 80em) {/* 1280px */
	header.header_type .page_header_inner #header_menu_area .header_menu_area_inner #nav_otayori_pc {
		padding: 0.25rem 0.75rem 0.5rem 0;
		min-width: 175px;
	} 
	#header_menu_area #nav_otayori_pc .otayori_set {
		flex-direction: column;
		align-items: flex-end;
	}
	header.header_type .page_header_inner #header_menu_area .header_menu_area_inner #nav_otayori_pc .otayori_set li:first-child {
		position: relative;
		top: -2px;
	}
	#header_menu_area #nav_otayori_pc .otayori_set li:last-child a::after {
		position: absolute;
		top: 50%;
		right: 0.75em;
		transform: translateY(-50%) rotate(45deg);
	}
}
/* 6-5.header内トグルメニュー開閉設定 */
#menu-btn-check {
	display: none;
}
.menu-btn {
	height: 3rem;
	width: calc(3rem + 6px);
	position: fixed;
	top: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	cursor: pointer;
	z-index: 99;
}
.menu-btn span,
.menu-btn span::before,
.menu-btn span::after {
	content: '';
	display: block;
	height: 2px;
	width: 1.75rem;
	border-radius: 1px;
	background-color: #000;
	position: absolute;
	transition: 0.5s;
}
.menu-btn span::before {
	bottom: 0.8rem;
}
.menu-btn span::after {
	top: 0.8rem;
}
#menu-btn-check:checked ~ .menu-btn span {
	background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}
#nav-area {
	display: block;
	position: fixed;
	width: 90vw;
	max-height: calc(100vh - 50px);
	overflow-y: auto;
	color: #000;
	background-color: #fff;
	border-top: 1px dashed #000;
	z-index: 109;
	top: 50px;
	right: -100vw;
	transition: all 0.5s;
}
#menu-btn-check:checked ~ #nav-area {
	right: 0;
	top: 50px;
}
@media screen and (min-width: 48em) {
	.menu-btn {
		display: none;
	}
	#nav-area {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
		max-height: none;
		padding: 0 20px 0 0;
		overflow-y: visible;
		position: relative;
		right: 0;
		top: 0;
		border-top: none;
		background-color: transparent;
	}
}
/* 6-6.header内メニュー項目の設定 */
#nav-area > li {
	position: relative;
	background: #F0830116;
	padding: 0 1rem;
}
#nav-area > li a {
	display: block;
	border-bottom: 1px dashed #000;
	margin-bottom: 1px;
	padding: 0.75em 0 0.75em 0.5rem;
	color: #222;
	word-break: keep-all;
}
#nav-area > li:last-child a:last-child {
	border-bottom: none;
}
#nav-area > li .accordion_btn {
	display: block;
	width: 100%;
	height: 50px;
	position: absolute;
	top: 0;
	left: 0;
	background: #F0830120;
}
#nav-area > li .accordion_btn::before,
#nav-area > li .accordion_btn::after{
	position:absolute;
	content:'';
	top:1px;
	right:30px;
	bottom:0;
	width:12px;
	height:2px;
	margin:auto;
	background:#151E2F;
}
#nav-area > li .accordion_btn::after{
	transform:rotate(-90deg);
	transition:transform 0.3s;
}
#nav-area > li .accordion_btn.active::after{
	transform:rotate(0deg);
}
#nav-area > li .accordion_inner {
	display: none;
}
#nav-area > li .accordion_inner a {
	padding-left: 2em;
}
#nav-area > li .accordion_inner > li:first-child a {
	padding-left: 0.5rem;
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	#nav-area > li {
		position: relative;
		background: none;
		padding: 0;
		background-color: #ffffffdd;
	}
	#nav-area > li::after {
		content: '';
		width: 0%;
		height: 6px;
		background: #F08301;
		border-radius: 3px;
		position: absolute;
		bottom: 0;
		left: 0;
		transition: all 0.3s;
	}
	#nav-area > li:hover::after {
		width: 100%;
	}
	#nav-area > li.current > a {
		color: var(--primary-color);
	}
	#nav-area > li a {
		height: 2.8em;
		display: flex;
		justify-content: center;
		align-items: center;
		border-bottom: none;
		margin-bottom: 0;
		padding: 0 1.5em;
		font-size: 14px;
		color: #222;
	}
	#nav-area > li a:hover {
		text-decoration: none;
	}
	#nav-area > li .accordion_btn {
		display: none;
	}
	#nav-area > li .accordion_inner {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		height: 0;
		overflow: hidden;
	}
	#nav-area > li:hover .accordion_inner {
		height: auto;
	}
	#nav-area > li .accordion_inner a {
		min-width: 12em;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 0 1em;
		background-color: #FBE0BFf3;
		height: 2.4em;
		font-size: 14px;
		transition: all 0.3s;
	}
	#nav-area > li .accordion_inner a:hover {
		background: #F6B567f3;
	}
	#nav-area > li .accordion_inner > li {
		position: relative;
		left: -100%;
		transition: all 0.3s;
	}
	#nav-area > li:hover .accordion_inner > li {
		left: 0;
	}
	#nav-area > li:hover .accordion_inner > li:nth-child(2) {
		transition-delay: 0.2s;
	}
	#nav-area > li:hover .accordion_inner > li:nth-child(3) {
		transition-delay: 0.3s;
	}
	#nav-area > li:hover .accordion_inner > li:nth-child(4) {
		transition-delay: 0.4s;
	}
	#nav-area > li:hover .accordion_inner > li:nth-child(5) {
		transition-delay: 0.5s;
	}
	#nav-area > li:hover .accordion_inner > li:nth-child(6) {
		transition-delay: 0.6s;
	}
	#nav-area > li .accordion_inner > li:first-child {
		display: none;
	}
}
@media screen and (min-width: 80em) {/* 1280px */
	#nav-area > li a {
		height: 4.8em;
		padding: 0 2.2em;
	}
	#nav-area > li > a {
		font-size: 15px;
	}
	#nav-area > li:hover .accordion_inner a {
		height: 3.8em;
	}
}

/* ===========================
7.footerレイアウト
============================== */
/* 7-1.footer内全体配置の制御 */
footer.footer_type {
	position: relative;
	padding-top: 2px;
	background-color: var(--primary-color);
	box-shadow: 0 -6px 6px -6px rgba(0, 0, 0, 0.25);
	z-index: 3;
}
@media screen and (min-width: 80em) {/* 1280px */
	footer.footer_type .page_footer_inner {
		margin: 0 auto;
		width: var(--max-content-width);
		max-width: 100%;
	}
}
/* 7-2.footer内ロゴとメニュー配置の制御 */
@media screen and (min-width: 48em) { /* 768px：PC用 */
	footer.footer_type .page_footer_inner.logo_menu {
		display: flex;
	}
}
/* 7-2-1.footer内ロゴの設定 */
footer.footer_type #footer_logo_area .footer_logo_area_inner .site-footer-logo {
	padding: 1.5rem 0.75rem 0.75rem;
}
footer.footer_type #footer_logo_area .footer_logo_area_inner .site-footer-logo a .pplabo_logo {
	width: 100%;
	min-width: 70px;
	max-width: 110px;
	height: auto;
	transition: all 0.3s;
}
footer.footer_type #footer_logo_area .footer_logo_area_inner .site-footer-logo a:hover .pplabo_logo {
	filter: brightness(90%);
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	footer.footer_type #footer_logo_area {
		width: 20%;
	}
	footer.footer_type #footer_logo_area .footer_logo_area_inner .site-footer-logo a .pplabo_logo {
		min-width: 100px;
		max-width: 140px;
	}
}
/* 7-2-2.footer内メニューの設定 */
footer.footer_type #footer_menu_area .footer_menu_block {
	padding: 0 0.75rem 0 0.75rem;
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li {
	margin-bottom: 0.5rem;
	word-break: keep-all;
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li > a {
	display: inline-block;
	padding: 0.25em 0;
	color: #fff;
	font-weight: bold;
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li ul {
	padding-left: 1.5em;
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li ul li {
	list-style-type: disc;
	color: #fff;
	word-break: keep-all;
	display: list-item;
	padding: 0.25em 0;
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li ul li a {
	display: inline;
	font-size: 14px;
	color: #fff;
}
.footer_conv {
	max-width: 360px;
	margin: 0 auto;
	padding: 10px;
	color: #fff;
	font-weight: bold;
	border: #fff 1px solid;
	border-radius: 5px;
	text-align: center;
}
.footer_conv_cta {
	font-weight: 400;
}
.footer_conv_cta::before {
	content: '';
	width: 26px;
	height: 30px;
	margin: 5px 0 8px;
	display: block;
	background: #fff;
	position: relative;
	left: calc(50% - 13px);
	clip-path: polygon(30% 0, 70% 0, 70% 40%, 100% 40%, 50% 100%, 0% 40%, 30% 40%);
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li.footer_conv_cta a {
	position: relative;
	display: inline-block;
	margin-top: 10px;
	padding: 0.5em .5em 0.75em;
	border-radius: 1.25em;
	color: var(--primary-color);
	background-color: #fff;
	transition: all 0.3s;
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li.footer_conv_cta a .arrow {
	position: relative;
	left: 0.25em;
	display: inline-block;
	background-color: var(--primary-color);
	width: 0.65em;
	clip-path: polygon(0 20%, 100% 50%, 0 80%);
}
footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li.footer_conv_cta a:hover {
	filter: brightness(125%);
	transform: scale(1.025);
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
@media screen and (min-width: 40em) { /* 640px */
	footer.footer_type #footer_menu_area {
		display: flex;
	}
	footer.footer_type #footer_menu_area .footer_menu_block {
		width: 28%;
	}
	footer.footer_type #footer_menu_area .footer_menu_block:nth-child(3) {
		width: 20%;
	}
	footer.footer_type #footer_menu_area .footer_menu_block:last-child {
		width: 24%;
	}
	.footer_conv {
		max-width: none;
		margin: 0;
	}
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	footer.footer_type #footer_menu_area {
		width: 80%;
	}
	footer.footer_type #footer_menu_area .footer_menu_block {
		padding-top: 1.125rem;
	}
}
@media screen and (min-width: 64em) {/* 1024px */
	footer.footer_type #footer_menu_area .footer_menu_block .footer_nav_fragment > li.footer_conv_cta a {
		padding: 0.5em 1em 0.75em;
	}
}
/* 7-3.footer内お問い合わせ情報の設定 */
footer.footer_type #footer_address_area {
	padding: .5rem 0.75rem 1.75em 0.75rem;
}
footer.footer_type #footer_address_area .access {
	color: #fff;
}
footer.footer_type #footer_address_area .access a {
	color: #fff;
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	footer.footer_type #footer_address_area {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: auto auto;
		column-gap: 1.5rem;
	}
	footer.footer_type #footer_address_area .access.company {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	footer.footer_type #footer_address_area .access.address {
		grid-column: 1 / 2;
		grid-row: 2 / 4;
	}
	footer.footer_type #footer_address_area .access.tel {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}
	footer.footer_type #footer_address_area .access.email {
		grid-column: 2 / 3;
		grid-row: 3 / 4;
	}
}
@media screen and (min-width: 80em) {/* 1280px */
	footer.footer_type .page_footer_inner.access_area {
		margin: 0 auto;
		width: 960px;;
		max-width: 100%;
	}
}
/* 7-4.footer内コピーライトの設定 */
footer.footer_type .page_footer_inner:last-child {
	padding: 0 0.75rem 1.75em 0.75rem;
}
footer.footer_type .page_footer_inner:last-child .copyright {
	color: #fff;
}
@media screen and (min-width: 48em) { /* 768px：PC用 */
	footer.footer_type .page_footer_inner:last-child .copyright {
		text-align: center;
	}
}
/* ===========================
8.パンくず
============================== */
.breadcrumb {
	padding: 0.5rem 1rem;
	background-color: #f5f5f5aa;
	width: 100%;
}
.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 auto;
	padding: 0;
}
.breadcrumb ol > li {
	margin-right: 0.5rem;
	font-size: 14px;
}
.breadcrumb ol > li > a {
	color: var(--primary-color);
	text-decoration: none;
}
.breadcrumb ol > li > a:hover {
	text-decoration: underline;
}
.breadcrumb ol > li + li:before {
	content: ">";
	margin-right: 0.5rem;
	color: var(--color-gray);
}
.breadcrumb ol > li:first-child a img {
	position: relative;
	top: 2px;
}
@media screen and (min-width: 64em) {/* 1024px */
	.breadcrumb ol > li:first-child {
		padding-left: 20px;
	}
}
/* ===========================
9.コンテンツ基本構成
============================== */
.content_wrapper {
	margin-right: auto;
	margin-left: auto;
	padding-top: 2px;
	padding-bottom: 2px;
	background-color: #fff;
	width: 100%;
	max-width: var(--max-content-width);
}
.block_layer01 {
	margin-right: auto;
	margin-left: auto;
	width: 100%;
	max-width: var(--inner-max-content-width);
	padding-right: 20px;
	padding-left: 20px;
}
.block_layer01 h2 {
	text-align: center;
}
