@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------
	path（パンくず）
	paging（ページング）
	btn_01（ボタン：角丸）
	btn_02（ボタン：テキスト）
	list_01（一覧：お役立ち情報・ブログ）
	list_02（一覧：施工事例・お客様の声）
	list_reason（一覧：理由）
	widget_title（ページタイトル）
	widget_contact（お問い合わせ）
	widget_table（テーブル）
	widget_form（フォーム）
	widget_entry（投稿詳細）
	widget_search（種別から探す）
------------------------------------------------------------------------ */

/* ========================================================================
	path（パンくず）
======================================================================== */
.path{
	display:flex;
	flex-wrap:wrap;
	gap:0 46px;
	width:1200px;
	margin:0 auto;
	padding:35px 0 25px 0;
	font-size:1.4rem;
	line-height:2.4rem;
}

.path br{
	display:none;
}

.path li{
	position:relative;
	margin:0 0 10px 0;
}

.path li::before,
.path li::after{
	content:"";
	position:absolute;
	top:9px;
	right:-26px;
	width:6px;
	height:6px;
	background:#0090DC;
	border-radius:50%;
}
.path li::after{
	top:10px;
	right:-25px;
	width:4px;
	height:4px;
	background:#FFFFFF;
}
.path li:last-child::before,
.path li:last-child::after{ content:none; }

@media screen and (max-width:767px){
.path{
	width:auto;
	padding:35px 20px 25px;
}
}


/* ========================================================================
	paging（ページング）
======================================================================== */
.paging{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:14px;
	margin:0 0 80px 0;
}

.paging span.current,
.paging a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:46px;
	height:46px;
	background:#1051B1;
	border:1px solid #1051B1;
	border-radius:50%;
	font-family:"Inter", sans-serif;
	color:#FFFFFF;
	line-height:1;
	text-decoration:none;
}
.paging span.current{ background:#FFFFFF; color:#1051B1; }

@media screen and (min-width:768px){
.paging a:hover{ background:#FFFFFF; color:#1051B1; }
}

@media screen and (max-width:767px){
.paging{
	gap:10px;
	margin:0 0 40px 0;
}

.paging span.current,
.paging a{
	width:40px;
	height:40px;
}
}


/* ----------------------------------------
	prev / next
---------------------------------------- */
.paging .prev,
.paging .next{
	position:relative;
	width:auto;
	margin:0 0 0 26px;
	padding:0 50px 0 0;
	background:none;
	border:none;
	font-family:"Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size:1.8rem;
	font-weight:700;
	color:#242424;
	text-decoration:underline;
}
.paging .prev{
	margin:0 26px 0 0;
	padding:0 0 0 50px;
}
.paging .prev:hover,
.paging .next:hover{ color:#242424; }

.paging .prev::before,
.paging .next::before{
	content:"";
	position:absolute;
	top:50%;
	right:0;
	width:28px;
	height:28px;
	background:#1051B1;
	border:1px solid #1051B1;
	border-radius:50%;
	transform:translateY(-50%);
	transition-duration:0.2s;
}
.paging .prev::before{
	right:auto;
	left:0;
}

.paging .prev::after,
.paging .next::after{
	content:"";
	position:absolute;
	top:50%;
	right:9px;
	width:12px;
	height:30px;
	background:url(../../img/common/arrow.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
	transform:translateY(-50%);
}
.paging .prev::after{
	right:auto;
	left:9px;
	transform:translateY(-50%) scaleX(-1);
}

@media screen and (min-width:768px){
.paging .prev:hover::before,
.paging .next:hover::before{ background:#FFFFFF; }
.paging .prev:hover::after,
.paging .next:hover::after{ filter:invert(24%) sepia(28%) saturate(4248%) hue-rotate(201deg) brightness(99%) contrast(101%); }
}

@media screen and (max-width:767px){
.paging .prev{
	margin:0 10px 0 0;
	padding:0 0 0 40px;
	font-size:1.6rem;
}
.paging .next{
	margin:0 0 0 10px;
	padding:0 40px 0 0;
	font-size:1.6rem;
}
}


/* ========================================================================
	btn_01（ボタン：角丸）
======================================================================== */
.btn_01{
	display:flex;
	justify-content:center;
	margin:0 0 80px 0;
}

.btn_01 a,
.btn_01 button{
	display:flex;
	position:relative;
	min-width:360px;
	min-height:60px;
	background:#FFFFFF;
	border-radius:44px;
	box-shadow:0 0 20px rgba(34, 22, 22, 0.2);
	padding:16px 0;
	font-size:1.8rem;
	font-weight:700;
	color:#FFFFFF;
	line-height:2.8rem;
	text-decoration:none;
}

.btn_01 a::before,
.btn_01 button::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, #1051B1 0%, #0090DC 100%);
	border-radius:44px;
	transition-duration:0.2s;
}

.btn_01 span{
	display:flex;
	align-items:center;
	width:100%;
	height:100%;
	position:relative;
	padding:0 77px 0 40px;
}

.btn_01 span::before{
	content:"";
	position:absolute;
	top:50%;
	right:13px;
	width:34px;
	height:34px;
	background:#FFFFFF;
	border-radius:50%;
	transform:translateY(-50%);
	transition-duration:0.2s;
}

.btn_01 span::after{
	content:"";
	position:absolute;
	top:0;
	right:23px;
	width:14px;
	height:100%;
	background:url(../../img/common/arrow.svg) no-repeat center;
	filter:invert(24%) sepia(28%) saturate(4248%) hue-rotate(201deg) brightness(99%) contrast(101%);
}

@media screen and (min-width:768px){
.btn_01 a:hover,
.btn_01 button:hover{ color:#242424; }
.btn_01 a:hover::before,
.btn_01 button:hover::before{ opacity:0; }
.btn_01 a:hover span::before,
.btn_01 button:hover span::before{ background:#1051B1; }
.btn_01 a:hover span::after,
.btn_01 button:hover span::after{ filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%); }
}

@media screen and (max-width:767px){
.btn_01{
	margin:0 0 40px 0;
}

.btn_01 a,
.btn_01 button{
	min-width:100%;
}
.btn_01 span{
	padding:0 67px 0 30px;
}
}


/* ----------------------------------------
	orange
---------------------------------------- */
.btn_01 .orange{ background:linear-gradient(90deg, #FF5941 0%, #ED3014 100%); }
.btn_01 .orange::before{ background:linear-gradient(90deg, #FF5941 0%, #FF9900 100%); }
.btn_01 .orange span::after{ filter:invert(45%) sepia(22%) saturate(2510%) hue-rotate(326deg) brightness(100%) contrast(103%); }

@media screen and (min-width:768px){
.btn_01 .orange:hover{ color:#FFFFFF; }
.btn_01 .orange:hover span::before{ background:#FFFFFF; }
.btn_01 .orange:hover span::after{ filter:invert(32%) sepia(79%) saturate(6363%) hue-rotate(357deg) brightness(97%) contrast(91%); }
}


/* ========================================================================
	btn_02（ボタン：テキスト）
======================================================================== */
.btn_02{
	display:flex;
	justify-content:center;
	margin:0 0 80px 0;
}

.btn_02 a{
	position:relative;
	padding:0 50px 0 0;
	font-size:1.8rem;
	font-weight:700;
	line-height:3.0rem;
}

.btn_02 a::before{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:28px;
	height:28px;
	background:#1051B1;
	border:1px solid #1051B1;
	border-radius:50%;
	transition-duration:0.2s;
}

.btn_02 a::after{
	content:"";
	position:absolute;
	top:0;
	right:9px;
	width:12px;
	height:30px;
	background:url(../../img/common/arrow.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}

@media screen and (min-width:768px){
.btn_02 a:hover::before{ background:#FFFFFF; }
.btn_02 a:hover::after{ filter:invert(24%) sepia(28%) saturate(4248%) hue-rotate(201deg) brightness(99%) contrast(101%); }
}

@media screen and (max-width:767px){
.btn_02{
	margin:0 0 40px 0;
}

.btn_02 a{
	text-decoration:underline;
}
}


/* ========================================================================
	list_01（一覧：お役立ち情報・ブログ）
======================================================================== */
.list_01{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:50px 30px;
	margin:0 0 80px 0;
}

.list_01 a{
	text-decoration:none;
}

.list_01 h3{
	margin:0 0 -6px 0;
	padding:34px 0 0 0;
	background:none;
	font-size:2.0rem;
	line-height:3.2rem;
	letter-spacing:0.05em;
}

@media screen and (max-width:767px){
.list_01{
	display:block;
	margin:0;
}

.list_01 li{
	margin:0 0 40px 0;
}

.list_01 h3{
	padding:30px 0 0 0;
}
}


/* ----------------------------------------
	img
---------------------------------------- */
.list_01 .img{
	position:relative;
}

.list_01 .img::before{
	content:"";
	position:absolute;
	bottom:0;
	right:0;
	width:55px;
	height:55px;
	background:linear-gradient(90deg, #1051B1 0%, #0090DC 100%);
	border-radius:40px 0 20px;
}

.list_01 .img::after{
	content:"";
	position:absolute;
	bottom:-2px;
	right:14px;
	width:18px;
	height:55px;
	background:url(../../img/common/arrow.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}

.list_01 .img span{
	position:absolute;
	top:-24px;
	right:10px;
	text-shadow:0 0 10px rgba(0, 144, 220, 0.4);
	font-style:italic;
	font-size:5.0rem;
	font-weight:800;
	color:#FFFFFF;
	line-height:1;
}

.list_01 .img img{
	border-radius:20px;
}

@media screen and (max-width:767px){
.list_01 .img span{
	position:absolute;
	top:-24px;
	right:10px;
	text-shadow:0 0 10px rgba(0, 144, 220, 0.4);
	font-style:italic;
	font-size:5.0rem;
	font-weight:800;
	color:#FFFFFF;
	line-height:1;
}

.list_01 .img img{
	width:100%;
	border-radius:20px;
}
}


/* ----------------------------------------
	ttl
---------------------------------------- */
.list_01 .ttl{
	padding:30px 0 0 0;
	font-size:1.8rem;
	font-weight:700;
}

.list_01 h3 + .ttl{
	font-weight:400;
}

@media screen and (max-width:767px){
.list_01 .ttl{
	padding:20px 0 0 0;
}
}


/* ========================================================================
	list_02（一覧：施工事例・お客様の声）
======================================================================== */
.list_02{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:50px 30px;
	margin:0 0 80px 0;
}

.list_02 a{
	text-decoration:none;
}

.list_02 img{
	display:block;
	border-radius:20px;
}

@media screen and (max-width:767px){
.list_02{
	display:block;
	margin:0;
}

.list_02 > li{
	margin:0 0 40px 0;
}

.list_02 img{
	width:100%;
}
}


/* ----------------------------------------
	cat
---------------------------------------- */
.list_02 .cat{
	display:flex;
	flex-wrap:wrap;
	gap:0 20px;
	padding:30px 0 20px 0;
	line-height:3.0rem;
}

.list_02 .cat li{
	min-width:58px;
	padding:0 12px;
	background:#1051B1;
	border-radius:2px;
	text-align:center;
	color:#FFFFFF;
}

@media screen and (max-width:767px){
.list_02 .cat{
	gap:10px;
	padding:20px 0 10px 0;
}
}


/* ----------------------------------------
	ttl
---------------------------------------- */
.list_02 .ttl{
	font-size:1.8rem;
	font-weight:700;
}


/* ========================================================================
	list_reason（一覧：理由）
======================================================================== */
.list_reazon li{
	position:relative;
	min-height:480px;
	margin:0 0 40px 0;
	padding:56px 0 0 0;
}

.list_reazon li > img{
	position:absolute;
	top:0;
	left:0;
}
.list_reazon li:nth-child(even) > img{
	left:auto;
	right:0;
}

@media screen and (max-width:767px){
.list_reazon li{
	min-height:auto;
	margin:0 0 40px 0;
	padding:0;
}

.list_reazon li > img{
	position:static;
}
}


/* ----------------------------------------
	box
---------------------------------------- */
.list_reazon .box{
	position:relative;
	margin:0 0 0 615px;
	padding:50px 72px 60px;
	background:#FFFFFF;
	border-radius:10px;
	box-shadow:0 0 20px rgba(0, 144, 220, 0.2);
	z-index:1;
}
.list_reazon li:nth-child(even) .box{ margin:0 615px 0 0; }

.list_reazon .box h3{
	margin:0 0 25px 0;
	padding:0;
	background:none;
}

.list_reazon .box h3 span{
	font-size:2.6rem;
}

@media screen and (max-width:767px){
.list_reazon .box{
	margin:0;
	padding:40px 20px;
	border-radius:10px 10px 0 0;
}
.list_reazon li:nth-child(even) .box{ margin:0; }

.list_reazon .box h3{
	margin:0 0 20px 0;
}

.list_reazon .box h3 span{
	font-size:1.6rem;
}
}


/* num
---------------------------------------- */
.list_reazon .num{
	position:absolute;
	top:-50px;
	right:20px;
	font-size:10.0rem;
	font-style:italic;
	color:#b2ddf4;
	line-height:1;
}

.list_reazon .num.dilate{
	filter:url(#dilate);
}

.list_reazon + svg{
	overflow:hidden;
	position:absolute;
	width:1px;
	height:1px;
}

@media screen and (max-width:767px){
.list_reazon .num{
	top:-34px;
	font-size:7.0rem;
}
}


/* btn_01
---------------------------------------- */
.list_reazon .btn_01{
	justify-content:flex-start;
	margin:32px 0 0 0;
}

@media screen and (max-width:767px){
.list_reazon .btn_01{
	margin:30px 0 0 0;
}
}


/* ========================================================================
	widget_title（ページタイトル）
======================================================================== */
.widget_title{
	overflow:hidden;
	position:relative;
	margin:0 0 80px 0;
	background:linear-gradient(90deg, #1051B1 0%, #0090DC 100%);
}

.widget_title::before{
	content:"";
	position:absolute;
	top:-14px;
	left:50%;
	width:650px;
	height:334px;
	margin:0 0 0 270px;
	background:url(../../img/common/bg_ttl.png) no-repeat center;
}

.widget_title .inner{
	height:320px;
}

.widget_title h1{
	display:flex;
	align-items:center;
	height:100%;
	font-size:3.2rem;
	font-weight:700;
	color:#FFFFFF;
	line-height:4.6rem;
	letter-spacing:0.08em;
}

@media screen and (max-width:767px){
.widget_title{
	margin:0 0 60px 0;
	padding:90px 0 5px 0;
}

.widget_title::before{
	top:auto;
	left:auto;
	bottom:0;
	right:-100px;
	width:325px;
	height:167px;
	margin:0;
	background-size:100%;
}

.widget_title .inner{
	height:auto;
}

.widget_title h1{
	margin:0 0 50px 0;
	font-size:2.4rem;
	line-height:3.8rem;
}
}


/* ----------------------------------------
	path
---------------------------------------- */
.widget_title .path{
	position:absolute;
	bottom:5px;
	left:0;
	width:auto;
	margin:0;
	padding:0;
	color:#EBEEFF;
}
.widget_title .path li::after{ background:#0b65bf; }
.widget_title .path a{ color:#EBEEFF; }

@media screen and (max-width:767px){
.widget_title .path{
	position:static;
}
}


/* ========================================================================
	widget_contact（お問い合わせ）
======================================================================== */
.widget_contact{
	overflow:hidden;
	position:relative;
	padding:86px 0 90px 0;
	background:linear-gradient(75.32deg, #1051B1 23.09%, #0090DC 68.86%);
}

.widget_contact::before{
	content:"";
	position:absolute;
	top:0;
	right:50%;
	width:656px;
	height:300px;
	margin:0 378px 0 0;
	background:url(../../img/common/bg_contact01.png) no-repeat center;
}

.widget_contact::after{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	width:738px;
	height:380px;
	margin:0 0 0 228px;
	background:url(../../img/common/bg_contact02.png) no-repeat center;
}

.widget_contact h2{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	padding:0;
	color:#FFFFFF;
	z-index:1;
}

.widget_contact h2::before,
.widget_contact h2::after{
	content:"";
	position:static;
	width:41px;
	height:88px;
	margin:0 46px 0 0;
	background:url(../../img/common/h2_contact.png) no-repeat center;
	background-size:41px 88px;
	border-radius:0;
	box-shadow:none;
	transform:none;
}
.widget_contact h2::after{
	margin:0 0 0 20px;
	transform:scaleX(-1);
}

@media screen and (max-width:767px){
.widget_contact{
	padding:60px 0 40px 0;
}

.widget_contact::before{
	content:"";
	position:absolute;
	top:0;
	right:50%;
	width:656px;
	height:300px;
	margin:0 378px 0 0;
	background:url(../../img/common/bg_contact01.png) no-repeat center;
}

.widget_contact::after{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	width:738px;
	height:380px;
	margin:0 0 0 228px;
	background:url(../../img/common/bg_contact02.png) no-repeat center;
}

.widget_contact h2{
	text-align:left;
	font-size:1.8rem;
	line-height:2;
}
.widget_contact h2::before,
.widget_contact h2::after{
	content:none;
}
}


/* ----------------------------------------
	ul
---------------------------------------- */
.widget_contact ul{
	display:flex;
	justify-content:center;
	gap:0 30px;
	position:relative;
	z-index:1;
}

.widget_contact ul li a{
	display:flex;
	position:relative;
	width:380px;
	height:120px;
	background:linear-gradient(90deg, #FF5941 0%, #FF9900 100%);
	border-radius:24px;
	box-shadow:0px 0px 30px 10px #1051B1;
	font-size:2.8rem;
	font-weight:700;
	color:#0090DC;
	text-decoration:none;
}

.widget_contact ul li a::before{
	content:"";
	position:absolute;
	inset:0;
	background:#FFFFFF;
	border-radius:24px;
	transition-duration:0.2s;
}

.widget_contact ul li a > span{
	display:flex;
	align-items:center;
	width:100%;
	height:100%;
	position:relative;
	padding:0 0 0 134px;
}

@media screen and (min-width:768px){
.widget_contact ul li a:hover{ color:#FFFFFF; }
.widget_contact ul li a:hover::before{ opacity:0; }
}

@media screen and (max-width:767px){
.widget_contact ul{
	display:block;
}

.widget_contact ul li a{
	justify-content:center;
	width:100%;
	height:100px;
	margin:0 0 20px 0;
	font-size:2.4rem;
}

.widget_contact ul li a > span{
	width:auto;
	padding:0 20px 0 74px;
}
}


/* mail
---------------------------------------- */
.widget_contact .mail > span::before{
	content:"";
	position:absolute;
	top:50%;
	left:40px;
	width:54px;
	height:54px;
	background:#0090DC;
	border-radius:50%;
	transform:translateY(-50%);
	transition-duration:0.2s;
}

.widget_contact .mail > span::after{
	content:"";
	position:absolute;
	top:0;
	left:54px;
	width:26px;
	height:100%;
	background:url(../../img/common/icon_mail.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}

@media screen and (min-width:768px){
.widget_contact .mail:hover > span::before{ background:#FFFFFF; }
.widget_contact .mail:hover > span::after{ filter:invert(45%) sepia(22%) saturate(2510%) hue-rotate(326deg) brightness(100%) contrast(103%); }
}

@media screen and (max-width:767px){
.widget_contact .mail > span::before{
	left:0;
}

.widget_contact .mail > span::after{
	left:14px;
}
}


/* request
---------------------------------------- */
.widget_contact .request span{
	padding-left:126px;
}

.widget_contact .request > span::before{
	content:"";
	position:absolute;
	top:0;
	left:24px;
	width:74px;
	height:100%;
	background:url(../../img/common/illust_request.png) no-repeat center;
	background-size:100%;
}

@media screen and (max-width:767px){
.widget_contact .request span{
	padding-left:74px;
}

.widget_contact .request > span::before{
	left:0;
	width:54px;
}
}


/* tel
---------------------------------------- */
.widget_contact .tel{
	flex-direction:column;
	justify-content:center;
	color:#555555;
	line-height:1;
}
.widget_contact .tel span{ transition-duration:0.2s; }

@media screen and (min-width:768px){
.widget_contact .tel:hover span{ color:#FFFFFF; }
}

@media screen and (max-width:767px){
.widget_contact .tel{
	align-items:center;
	height:120px;
}
}


/* ---------- num ---------- */
.widget_contact .num{
	position:relative;
	padding:0 0 0 90px;
	font-size:1.4rem;
	font-weight:700;
}

.widget_contact .num::before{
	content:"";
	position:absolute;
	top:50%;
	left:24px;
	width:54px;
	height:54px;
	background:#0090DC;
	border-radius:50%;
	transform:translateY(-50%);
	transition-duration:0.2s;
}

.widget_contact .num::after{
	content:"";
	position:absolute;
	top:0;
	left:41px;
	width:20px;
	height:100%;
	background:url(../../img/common/icon_tel.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}

.widget_contact .num span{
	display:block;
	padding:8px 0 12px 0;
	font-size:3.8rem;
	color:#0090DC;
}

@media screen and (min-width:768px){
.widget_contact .tel:hover .num::before{ background:#FFFFFF; }
.widget_contact .tel:hover .num::after{ filter:invert(45%) sepia(22%) saturate(2510%) hue-rotate(326deg) brightness(100%) contrast(103%); }
}

@media screen and (max-width:767px){
.widget_contact .num{
	padding:0 0 0 74px;
}

.widget_contact .num::before{
	left:0px;
}

.widget_contact .num::after{
	left:17px;
}

.widget_contact .num span{
	padding:8px 0 0 0;
	font-size:3.0rem;
}
}


/* ---------- time ---------- */
.widget_contact .time{
	position:relative;
	margin:0 0 0 -0.5em;
	text-align:center;
	font-size:1.6rem;
	font-weight:700;
}

.widget_contact .time span{
	color:#FF5941;
}

@media screen and (max-width:767px){
.widget_contact .time{
	padding:10px 0 0 0;
	font-size:1.4rem;
}
}


/* ========================================================================
	widget_table（テーブル）
======================================================================== */
.widget_table{
	margin:0 0 60px 0;
}

.widget_table th{
	width:280px;
	padding:32px 20px;
	border-top:1px solid #0090DC;
	border-bottom:1px solid #0090DC;
	text-align:left;
	vertical-align:top;
	font-size:1.8rem;
	font-weight:700;
}

.widget_table td{
	padding:32px 60px;
	border-top:1px solid #D9D9D9;
	border-bottom:1px solid #D9D9D9;
}

@media screen and (max-width:767px){
.widget_table{
	margin:0 0 40px 0;
}

.widget_table th{
	width:auto;
	padding:20px 10px 20px 0;
	font-size:1.6rem;
	white-space:nowrap;
}

.widget_table td{
	padding:20px 0 20px 10px;
}
}


/* ========================================================================
	widget_form（フォーム）
======================================================================== */
.widget_form table .note{
	display:block;
	padding:10px 0 0 0;
	font-size:1.6rem;
	font-weight:400;
}

.widget_form table th{
	position:relative;
	width:360px;
	padding:6px 0 6px 94px;
	text-align:left;
	vertical-align:top;
	font-size:1.8rem;
	font-weight:700;
}

.widget_form table th .must,
.widget_form table th .optional{
	position:absolute;
	top:7px;
	left:0;
	width:54px;
	background:#FF5941;
	border-radius:2px;
	text-align:center;
	font-size:1.6rem;
	color:#FFFFFF;
	line-height:3.4rem;
}
.widget_form table th .optional{ background:#B3B3B3; }

.widget_form table td{
	padding:0 0 40px 0;
}

.widget_form table td > label{
	padding:8px 0;
}

.widget_form table td .txt{
	display:block;
	position:relative;
	margin:0 0 0 -266px;
}

@media screen and (max-width:767px){
.widget_form table .note{
	display:block;
	padding:10px 0 0 0;
	font-size:1.6rem;
	font-weight:400;
}

.widget_form table th{
	display:block;
	width:auto;
	padding:0 0 15px 60px;
	font-size:1.6rem;
	line-height:3.0rem;
}

.widget_form table th .must,
.widget_form table th .optional{
	top:0;
	width:50px;
	font-size:1.4rem;
	line-height:3.0rem;
}

.widget_form table td{
	display:block;
	padding:0 0 30px 0;
}

.widget_form table td > label{
	padding:0 0 10px 0;
}

.widget_form table td .txt{
	margin:0;
}
}


/* ----------------------------------------
	box
---------------------------------------- */
.widget_form .box{
	margin:0 0 80px 0;
	padding:80px 60px 40px;
	background:#F8F8F8;
	border-radius:60px;
}

@media screen and (max-width:767px){
.widget_form .box{
	margin:0 0 40px 0;
	padding:40px 20px 10px;
	border-radius:30px;
}
}


/* ----------------------------------------
	privacy
---------------------------------------- */
.widget_form .privacy{
	margin:0 0 80px 0;
	text-align:center;
}

@media screen and (max-width:767px){
.widget_form .privacy{
	margin:0 0 40px 0;
}
}


/* ========================================================================
	widget_entry（投稿詳細）
======================================================================== */
.widget_entry .aligncenter{ display:block; margin:0 auto 60px; }
.widget_entry .alignright{ float:right; margin:0 0 0 60px; }
.widget_entry .alignleft{ float:left; margin:0 60px 0 0; }
	
.widget_entry{
	overflow-wrap:break-word;
	margin:0 0 80px 0;
	padding:60px 60px 20px;
	background:#F8F8F8;
	border-radius:60px;
}

.widget_entry .wp-video{
	margin:0 auto;
}

.widget_entry h1{
	position:relative;
	margin:0 0 40px 0;
	padding:0 0 24px 0;
	font-size:3.8rem;
	font-weight:700;
	line-height:5.2rem;
	letter-spacing:0.08em;
}

.widget_entry h1::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:40px;
	height:4px;
	background:linear-gradient(90deg, #1051B1 0%, #0090DC 100%);
	border-radius:2px;
}

.widget_entry h4{
	margin:0 0 40px 0;
	font-size:2.6rem;
	font-weight:700;
	line-height:3.8rem;
}

.widget_entry h5{
	margin:0 0 40px 0;
	font-size:2.0rem;
	font-weight:700;
	color:#1051B1;
	line-height:3.2rem;
}

.widget_entry p{
	margin:0 0 60px 0;
}

.widget_entry p::after{
	content:"";
	display:block;
	clear:both;
}

@media screen and (max-width: 767px){
.widget_entry .aligncenter,
.widget_entry .alignright,
.widget_entry .alignleft{
	display:block;
	float:none;
	margin:0 auto 40px;
}

.widget_entry{
	margin:0 0 40px 0;
	padding:40px 20px 20px;
	border-radius:30px;
}

.widget_entry h1{
	margin:0 0 40px 0;
	padding:0 0 17px 0;
	font-size:2.4rem;
	line-height:3.8rem;
}

.widget_entry h4{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.2rem;
}

.widget_entry h5{
	margin:0 0 20px 0;
	font-size:1.8rem;
	line-height:3.0rem;
}

.widget_entry p{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	ul / ol
---------------------------------------- */
.widget_entry > ul,
.widget_entry > ol{
	margin:0 0 60px 0;
	counter-reset:number;
}

.widget_entry > ul li,
.widget_entry > ol li{
	position:relative;
	padding:0 0 0 28px;
}

.widget_entry > ul li:before{
	content:"";
	position:absolute;
	top:11px;
	left:0;
	width:10px;
	height:10px;
	background:#0090DC;
	border-radius:50%;
}

.widget_entry > ol li:before{
	counter-increment:number;
	content:counter(number);
	position:absolute;
	top:0;
	left:0;
	font-weight:700;
	color:#0090DC;
}

@media screen and (max-width: 767px){
.widget_entry > ul,
.widget_entry > ol{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	widget_table
---------------------------------------- */
.widget_entry table th{
	width:250px;
}

.widget_entry table td dl dt{
	font-size:1.8rem;
	font-weight:700;
}

.widget_entry table td dl dd{
	margin:0 0 60px 0;
}
.widget_entry table td dl dd:last-child{ margin:0; }

@media screen and (max-width:767px){
.widget_entry table th{
	width:auto;
}

.widget_entry table td dl dt{
	font-size:1.6rem;
}

.widget_entry table td dl dd{
	margin:0 0 20px 0;
}
}


/* ----------------------------------------
	info
---------------------------------------- */
.widget_entry .info{
	display:flex;
	justify-content:space-between;
	margin:0 0 60px 0;
}

@media screen and (max-width: 767px){
.widget_entry .info{
	display:block;
	margin:0 0 40px 0;
}
}


/* date
---------------------------------------- */
.widget_entry .info .date{
	color:#B3B3B3;
	line-height:3.0rem;
}

@media screen and (max-width: 767px){
.widget_entry .info .date{
	margin:0 0 20px 0;
}
}


/* cat
---------------------------------------- */
.widget_entry .info .cat{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	line-height:3.0rem;
}

.widget_entry .info .cat li{
	min-width:58px;
	padding:0 12px;
	background:#1051B1;
	border-radius:2px;
	text-align:center;
	color:#FFFFFF;
}

@media screen and (max-width: 767px){
.widget_entry .info .cat{
	gap:10px;
}
}


/* ----------------------------------------
	key
---------------------------------------- */
.widget_entry .key{
	padding:0 0 108px 0;
	background:url(../../img/common/bg_key.png) no-repeat center bottom 80px;
	background-size:44px 8px;
}

.widget_entry .key > img{
	display:block;
	margin:0 auto 60px;
}

@media screen and (max-width: 767px){
.widget_entry .key{
	padding:0 0 48px 0;
	background-position:center bottom 40px;
}

.widget_entry .key > img{
	margin:0 auto 40px;
}
}


/* ----------------------------------------
	toc_container
---------------------------------------- */
.widget_entry #toc_container{
	display:block;
	margin:0 0 80px 0;
	padding:60px 50px 25px;
	background:#FFFFFF;
	border:none;
	border-radius:20px;
	backdrop-filter:blur(2px);
}

.widget_entry #toc_container .toc_title{
	margin:0 0 30px 0;
	padding:0 0 0 36px;
	background:url(../../img/common/h3.png) no-repeat left center;
	background-size:16px;
	text-align:left;
	font-size:3.2rem;
	font-weight:700;
	line-height:1;
	letter-spacing:0.08em;
}

.widget_entry #toc_container .toc_list li{
	position:relative;
	font-size:2.0rem;
	font-weight:700;
}
.widget_entry #toc_container .toc_list a{ text-decoration:none; }
.widget_entry #toc_container .toc_list a:hover{ text-decoration:underline; }

.widget_entry #toc_container .toc_list > li{
	margin:0 0 25px 0;
}

.widget_entry #toc_container .toc_list > li > ul{
	padding:10px 0 0 0;
}

.widget_entry #toc_container .toc_list ul{
	margin:0;
}

.widget_entry #toc_container .toc_list ul li{
	padding:0 0 0 36px;
	font-size:1.8rem;
}

.widget_entry #toc_container .toc_list ul li::before{
	content:"";
	position:absolute;
	top:17px;
	left:0;
	width:16px;
	height:2px;
	background:#B3B3B3;
	border-radius:2px;
}

@media screen and (max-width: 767px){
.widget_entry #toc_container{
	margin:0 0 40px 0;
	padding:30px 20px 10px;
}

.widget_entry #toc_container .toc_title{
	margin:0 0 20px 0;
	padding:0 0 0 26px;
	font-size:2.0rem;
}

.widget_entry #toc_container .toc_list li{
	font-size:1.8rem;
	line-height:2.8rem;
}
.widget_entry #toc_container .toc_list a:hover{ text-decoration:none; }

.widget_entry #toc_container .toc_list > li{
	margin:0 0 20px 0;
}

.widget_entry #toc_container .toc_list > li > ul{
	padding:0;
}

.widget_entry #toc_container .toc_list ul li{
	margin:10px 0 0 0;
	padding:0 0 0 26px;
	font-size:1.6rem;
	line-height:2.6rem;
}

.widget_entry #toc_container .toc_list ul li::before{
	top:12px;
}
}


/* ----------------------------------------
	slider
---------------------------------------- */
.widget_entry .slider{
	margin:0 0 80px 0;
}

@media screen and (max-width:767px){
.widget_entry .slider{
	margin:0 0 40px 0;
}
}


/* slider_main
---------------------------------------- */
.widget_entry #slider_main{
	margin:0 0 40px 0;
	text-align:center;
}

.widget_entry #slider_main img{
	width:960px;
	height:590px;
	object-fit:cover;
}

@media screen and (max-width:767px){
.widget_entry #slider_main{
	margin:0 20px 20px;
}

.widget_entry #slider_main img{
	width:auto;
	height:auto;
	object-fit:fill;
}
}


/* slider_tmb
---------------------------------------- */
.widget_entry #slider_tmb ul{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:30px;
}

.widget_entry #slider_tmb img{
	width:192px;
	height:118px;
	object-fit:cover;
}

@media screen and (max-width:767px){
.widget_entry #slider_tmb ul{
	gap:10px;
}

.widget_entry #slider_tmb img{
	width:100%;
	height:auto;
	object-fit:fill;
}
}


/* splide__arrow
---------------------------------------- */
.widget_entry .splide__arrow{
	right:20px;
	width:60px;
	height:60px;
	background:#1051B1;
	border:1px solid #1051B1;
	border-radius:50%;
	opacity:1;
	transition-duration:0.2s;
}
.widget_entry .splide__arrow--prev{
	left:20px;
	transform:translateY(-50%) scaleX(-1);
}
.widget_entry .splide__arrow:disabled{ opacity:0; }
.widget_entry .splide__arrow:hover:not(:disabled){ opacity:1; }
.widget_entry .splide__arrow svg{ display:none; }

.widget_entry .splide__arrow::before{
	content:"";
	position:absolute;
	top:0;
	right:19px;
	width:22px;
	height:100%;
	background:url(../../img/common/arrow.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}

.widget_entry .splide__track--nav > .splide__list > .splide__slide,
.widget_entry .splide__track--nav > .splide__list > .splide__slide.is-active{
	border:none;
	oapcity:0.8;
}
.widget_entry .splide__slide[role="button"] img{ transition-duration:0.2s; }
.widget_entry .splide__slide[role="button"]:hover img{ opacity:0.8; }

@media screen and (min-width:768px){
.widget_entry .splide__arrow:hover{ background:#FFFFFF; }
.widget_entry .splide__arrow:hover::before{ filter:invert(24%) sepia(28%) saturate(4248%) hue-rotate(201deg) brightness(99%) contrast(101%); }
}

@media screen and (max-width:767px){
.widget_entry .splide__arrow{
	right:-20px;
	width:40px;
	height:40px;
}
.widget_entry .splide__arrow--prev{ left:-20px; }

.widget_entry .splide__arrow::before{
	right:11px;
	width:16px;
}
}

/* ----------------------------------------
	voice
---------------------------------------- */
.widget_entry .voice{
	padding:0 0 20px 0;
}

.widget_entry .voice dl{
	display:flex;
	gap:0 30px;
	margin:0 0 40px 0;
}

.widget_entry .voice dl dt{
	width:150px;
	text-align:center;
	font-weight:700;
	line-height:2.4rem;
}
.widget_entry .voice .voice_q dt{ order:2; }

.widget_entry .voice dl dt img{
	display:block;
	margin:0 0 14px 0;
}

.widget_entry .voice dl dd{
	flex:1;
	padding:40px 60px;
	background:linear-gradient(212.07deg, #EBEEFF 14.46%, #F4F6FF 85.61%);
	border-radius:40px;
}
.widget_entry .voice .voice_a dd{ background:#DBF3FF; }

@media screen and (max-width:767px){
.widget_entry .voice dl{
	gap:0 10px;
	margin:0 0 20px 0;
}

.widget_entry .voice dl dt{
	width:60px;
	font-size:1.4rem;
	line-height:2.2rem;
}

.widget_entry .voice dl dd{
	padding:30px 20px;
	border-radius:20px;
}
}


/* ========================================================================
	widget_search（種別から探す）
======================================================================== */
.widget_search{
	display:flex;
	justify-content:space-between;
	margin:0 0 80px 0;
}

.widget_search dl{
	width:580px;
	padding:40px;
	background:#F4F6FF;
	border-radius:20px;
	backdrop-filter:blur(2px);
}

.widget_search dl dt{
	margin:0 0 30px 0;
	padding:0 0 0 60px;
	background:url(../../img/common/icon_search.png) no-repeat left center;
	background-size:40px;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.0rem;
}

.widget_search ul{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
}

.widget_search ul li a{
	display:block;
	min-width:60px;
	padding:0 14px;
	background:#1051B1;
	border:1px solid #1051B1;
	border-radius:6px;
	font-weight:700;
	color:#FFFFFF;
	line-height:3.8rem;
	text-decoration:none;
}

.widget_search ul li a:hover{
	background:#FFFFFF;
	color:#1051B1;
}

@media screen and (max-width: 767px){
.widget_search{
	display:block;
	margin:0;
	padding:0 0 20px 0;
}

.widget_search dl{
	width:auto;
	margin:0 0 20px 0;
	padding:30px 20px;
}

.widget_search dl dt{
	margin:0 0 20px 0;
	padding:0 0 0 40px;
	background-size:30px;
	font-size:2.0rem;
	line-height:3.0rem;
}

.widget_search ul{
	gap:20px;
}
}