/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root{
	--theme-font-size: 14px;
	--theme-palette-color-1: #888;
	--theme-link-hover-color: #888;
	--theme-link-active-color: #222;
}

@media screen and (min-width: 1000px){
	:root{
		--theme-font-size: 16px;
	}
}

/* breakpoint */
.sm-show{
	display: block;
}
.md-show{
	display: none;
}

/* heading */
.entry-header h1{
	font-size: 21px;
}
h2{
	font-size: 24px;
}
h3,
h4{
	font-size: 16px;
}

@media screen and (min-width: 690px){
	.entry-header h1{
		font-size: 24px;
	}
	h2{
		font-size: 36px;
		text-align: center;
	}
	h3,
	h4{
		font-size: 21px;
		text-align: center;
	}
}
/* ふきだし付き見出し */
.speech-bubble{
	width: 100%;
	position: relative;
	display: inline-block;
	padding: 25px 20px;
	background: #ffe680;
}
.speech-bubble::after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: -35px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	border-top: 35px solid #ffe680;
}
.speech-bubble > *{
	width: 90vw;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (min-width: 690px){
	.speech-bubble > *{
		max-width: 900px;
	}
}

@media screen and (min-width: 690px){
    .sm-show{
		display: none;
	}
	.md-show{
		display: block;
	}
}

/* 線付きの見出し */
.with-lines{
	border-top: #FF4600 3px solid;
	border-bottom: #FF4600 3px solid;
	text-align: center;
	padding: 20px 0;
	margin: 25px 0;
}
.with-lines :is(h2, h3){
	font-size: 21px;
	color: #FF4600;
}
.with-lines p{
	font-size: 16px;
	font-family: "UD新ゴ M"!important;
	margin-top: -10px;
}

@media screen and (min-width: 690px){
	.with-lines{
		font-size: 24px;
		margin: 50px 0;
	}
	.with-lines :is(h2, h3){
		font-size: 24px;
	}
}

/* layout */
.flexbox{
	display: flex;
	flex-direction: column;
}
.flex-column > *:last-of-type{
	margin-top: 25px;
}

@media screen and (min-width: 690px){
	.flexbox{
		flex-direction: row;
	}
	.flexbox.flex-column{
		flex-direction: column;
	}
	.flex-tie{
		justify-content: space-between;
		gap: 50px;
	}
	.flex-tie > *{
		width: calc( 50% - 50px/2 );
	}
}

.margin-b{
	margin-bottom: 25px;
}
.margin-b-l{
	margin-bottom: 50px;
}

@media screen and (min-width: 690px){
	.margin-b{
		margin-bottom: 50px;
	}
	.margin-b-l{
		margin-bottom: 100px;
	}
}

/* button */
.btn a{
	display: block;
	width: 100%;
	border-radius: 999px;
	text-align: center;
	background-color:#FF4600;
	padding: 15px 0;
	font-family: "UD新ゴ M";
	color: #fff;
	font-size: 21px;
	margin-top: 50px;
	margin-bottom: 50px;
	position: relative;
}
.btn a::after{
    content: "arrow_forward";
    font-family: "Material Symbols Outlined";
    font-size: 24px;
    color: #FFF;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

@media screen and (min-width: 690px){
	.btn a{
		max-width: 800px;
		margin: 50px auto;
		padding: 25px 0;
		font-size: 24px;
	}
	.btn a::after{
        font-size: 32px;
        right: 35px;
    }
}

.btn.btn-small a{
	padding: 5px 0;
}

@media screen and (min-width: 690px){
	.btn.btn-small a{
		max-width: 540px;
	}
}

/* wp-block カスタマイズ */
.wp-block-buttons > .wp-block-button{
	width: 100%;
	text-align: center;
}
.wp-block-button a.wp-block-button__link{
	width: 100%;
	border-radius: 999px;
	text-align: center;
	padding: 15px 0;
	font-size: 21px;
	font-family: "UD新ゴ M";
	margin-top: 50px;
	margin-bottom: 50px;
}
.wp-block-button a.wp-block-button__link::after{
    content: "arrow_forward";
    font-family: "Material Symbols Outlined";
    font-size: 24px;
    color: #FFF;
    position: absolute;
    right: 20px;
	top: 50%;
    transform: translateY(-50%);
}
.wp-block-spacer{
	height: 35px!important;
}
.strong,
.wp-block-group strong{
	font-family: "UD新ゴ M";
	color: #FF4600;
}
ul.wp-block-list li::marker{
    color: #FF4600;
}
.wp-block-table table,
.wp-block-table td,
.wp-block-table th{
    border: none;
}
.wp-block-group a,
.wp-block-group a:link,
.wp-block-group a:visited{
    color: #1a73e8;
}
.wp-block-group a:hover,
.wp-block-group a:active{
    text-decoration: none;
}

@media screen and (min-width: 690px){
	.wp-block-button a.wp-block-button__link{
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
		font-size: 24px;
		padding: 25px 0;
	}
	.wp-block-button a.wp-block-button__link::after{
        font-size: 32px;
        right: 35px;
    }
	.wp-block-spacer{
		height: 80px!important;
	}
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header [data-column-set="3"] > div{
	display: flex;
	justify-content: end;
}
#header .ct-container{
	width: 100%;
	max-width: 100%;
}
#header [data-column="middle"] [data-items],
#header [data-column="end"] [data-items]{
	display: block;
}
#header [data-column="end"] [data-items] > *{
	margin: 0;
}
#header .site-logo-container img{
	width: 100%;
}
.ct-header-cta a{
	gap: 0;
}
#header .ct-button{
	font-family: "UD新ゴ M";
	white-space: nowrap;
}

/* mobile */
#header [data-device="mobile"] .ct-container{
	padding-left: 5vw;
}
#header [data-device="mobile"] [data-column="start"]{
	width: 100%;
}
#header [data-device="mobile"] .site-logo-container img{
	max-width: 200px;
	margin-top: 10px;
}
#header [data-device="mobile"] [data-placements]{
	display: block;
}
#header [data-device="mobile"] .ct-header-trigger{
	height: 70px;
	margin: 0 10px;
}
#header [data-device="mobile"] [data-column="end"]{
	min-width: 70px;
}
#header [data-device="mobile"] .ct-button{
	font-size: 10px;
	height: 50px;
	padding: 10px 5px;
	margin: 10px 0;
}

@media screen and (min-width: 690px){
	#header [data-device="mobile"] [data-id="logo"]{
		width: 35%;
	}
}

/* desktop */
#header [data-device="desktop"] .ct-container{
	width: 100%;
	max-width: 100%;
}
#header [data-device="desktop"] [data-column="start"]{
	width: 25%;
	padding-left: 50px;
	margin-right: auto;
}
#header [data-device="desktop"] [data-column="middle"]{
	width: 65%;
}
#header [data-device="desktop"] [data-column="end"]{
	width: 10%;
}
#header [data-device="desktop"] [data-column="middle"] [data-items] > *{
	justify-content: end;
	height: auto;
	margin: 0;
}
#header [data-device="desktop"] .ct-button{
	width: 100%;
	height: 100px;
}

@media screen and (min-width: 1280px){
	#header [data-device="desktop"] [data-column="start"]{
		width: 30%;
	}
	#header [data-device="desktop"] [data-column="middle"]{
		width: 55%;
		max-width: 1000px;
	}
	#header [data-device="desktop"] [data-column="end"]{
		width: 15%;
	}
	#header .site-logo-container img{
		max-width: 320px;
	}
}

@media screen and (min-width: 1440px){
	#header .site-logo-container img{
		max-width: 350px;
	}
	[data-logo="top"] .site-description{
		margin-top: 10px;
	}
	#header [data-device="desktop"] .ct-button{
		height: 120px;
		position: relative;
	}
	#header [data-device="desktop"] .ct-button::after{
		content: "arrow_forward";
		font-family: "Material Symbols Outlined";
		font-size: 24px;
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
	}
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* mobile */
[data-header*="type-1"] #offcanvas .ct-panel-inner{
	background-color: #FFF5D5 !important;
}
[class*="ct-toggle-close"]{
	--theme-icon-size: 24px !important;
	--theme-icon-color: #222 !important;
}
.mobile-menu li a{
	line-height: 35px;
	height: 35px;
}
.mobile-menu li.drawer-main-menu{
	margin-bottom: 10px;
	border-bottom: #707070 1px solid;
}
.mobile-menu li.drawer-main-menu a{
	font-weight: 700;
	margin-bottom: 10px;
	position: relative;
}
.mobile-menu li.drawer-main-menu a::after{
	content: "arrow_forward_ios";
	font-family: "Material Symbols Outlined";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* desktop */
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li{
	background-color: #FFF5D5;
	padding-top: 10px;
	padding-bottom: 8px;
}
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a{
	display: block;
	border-right: #707070 1px solid;
}
nav#header-menu-1 li{
	border-bottom: #fff 2px solid;
}
nav#header-menu-1 li[class*="current-menu-"]{
	border-bottom: #FF4600 2px solid;
}
nav#header-menu-2 li[class*="current-menu-"] > .ct-menu-link{
	border-bottom: #fff 5px solid;
}
nav#header-menu-2 li[class*="current-menu-"] > .ct-menu-link[aria-current="page"]{
	border-bottom: #FF4600 5px solid;
}
nav[class*="menu"] li.ct-drawer-cta{
	background-color: #FF4600;
	margin-bottom: 50px;
	position: relative;
}
.ct-drawer-cta::after{
	content: "arrow_forward";
	font-family: "Material Symbols Outlined";
	font-size: 24px;
	color: #fff;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
nav[class*="menu"] li.ct-drawer-cta > .ct-menu-link{
	font-family: "UD新ゴ M";
	font-size: 21px;
	color: #fff;
	height: 50px;
	line-height: 50px;
	padding: 20px;
}

@media screen and (min-width: 1000px){
	[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a{
		--theme-font-weight: 400 !important;
		--theme-line-height: 20px !important;
	}
	[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li:last-of-type > a{
		border-right: none;
	}
	[data-header*="type-1"] .ct-header [data-id="menu-secondary"] > ul > li > a{
		padding: 20px calc(var(--menu-items-spacing, 50px) / 2) 0;
		--theme-font-size: 14px !important;
		--theme-line-height: 55px !important;
	}
}

@media screen and (min-width: 1440px){
	[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a{
		--theme-font-size: .95vw !important;
	}
	[data-header*="type-1"] .ct-header [data-id="menu-secondary"] > ul > li > a{
		--theme-font-size: 21px !important;
	}
	[data-header*="type-1"] .ct-header [data-id="button"] [class*="ct-button"]{
		--theme-button-font-size: 24px !important;
	}
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.ct-footer{
	padding-top: 25px;
}
.site-footer-dtls p{
	margin: 10px 0;
}
.footer-logo{
	width: 60%;
	max-width: 240px;
}
.ct-footer .ct-widget:nth-of-type(2){
	display: none;/* モバイルに表示させないナビ */
}
.ct-footer .ct-widget,
footer li.menu-item a{
	color: #fff;
}
footer li.menu-item a{
	line-height: 1.8;
}
.ct-footer .ct-widget:not(:first-child){
	margin-top: 0;
}

@media screen and (min-width: 690px){
	.footer-logo{
		width: 100%;
	}
	.ct-footer .ct-widget:nth-of-type(2){
		display: block;
	}
	.ct-footer [data-column="widget-area-2"]{
		display: flex;
		flex-direction: row;
	}
	.ct-footer [data-column*="widget-area-2"] > *{
		margin-right: calc( 50px + 5% );
	}
	.ct-footer [data-column*="widget-area-2"] > *:last-child{
		margin-right: 0;
	}
}

@media screen and (min-width: 1000px){
	[data-footer*="type-1"] .ct-footer [data-row*="top"] > div{
		--grid-template-columns: minmax(240px, 25%) 1fr !important;
	}
}

[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li{
	width: 100%;
	height: 78px;
	padding: 0 10px 10px;
}
[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li > a{
	display: block;
	background-color: #FF4600;
	font-family: "UD新ゴ M";
	padding: 10px;
	text-align: center;
	color: #fff;
	font-size: 21px;
}
[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li.footer-tel > a{
	background: #FF4600 url(../images/common/footer-tel-icon.svg) no-repeat 35px 50% / 40px auto;
}
[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li.footer-tel > a span{
	display: block;
	font-size: 16px;
}
[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li.footer-mail a{
	padding: 20px 10px;
}
[data-footer*="type-1"] .ct-footer [data-row*="bottom"] {
	background-color: #FFDE70 !important;
	text-align: center;
}
[data-footer*="type-1"] .ct-footer [data-row*="bottom"] > div{
	padding: 10px 0;
}

@media screen and (min-width: 690px){
	[data-footer*="type-1"] .ct-footer [data-row*="middle"] #menu-footer-bottom-menu{
		display: flex;
		flex-wrap: nowrap;
	}
}

@media screen and (min-width: 1000px){
	.ct-footer [data-column="menu"]{
		width: calc( 100vw - 200px);
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	[data-footer*="type-1"] .ct-footer [data-row*="middle"] > div{
		--container-spacing: 100px!important;
	}
	[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li.footer-tel > a{
		background-position:  75px 50%;
	}
}

@media screen and (min-width: 1440px){
	[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li.footer-tel > a{
		background-position:  125px 50%;
	}
}