@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------
	path（パンくず）
	paging（ページング）
	widget_title（ページタイトル）
	widget_btn（ボタン）
	widget_list（投稿一覧）
	widget_entry（投稿詳細）
------------------------------------------------------------------------ */

/* ========================================================================
	path（パンくず）
======================================================================== */
.path{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:0 14px;
	margin:0 0 120px 50px;
	padding:10px 28px 10px 48px;
	background:#e8f4f4;
	border-bottom-left-radius:50px;
	line-height:2.8rem;
}

.path a{
	position:relative;
	margin:0 21px 0 0;
	color:#121212;
	text-decoration:none;
}
.path a:hover{ text-decoration:underline; }
.path li:first-child a{ color:#5e5e5e; }

.path a::after{
	content:"";
	position:absolute;
	top:0;
	right:-21px;
	width:7px;
	height:100%;
	background:url(../../img/common/arrow_path.png) no-repeat right center;
	background-size:7px 12px;
}

@media screen and (max-width:768px){
.path{
	margin:0 0 60px 40px;
	padding:10px 20px 10px 40px;
	line-height:2.6rem;
}
}


/* ========================================================================
	paging（ページング）
======================================================================== */
.paging{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:20px;
	margin:0 0 60px 0;
	font-family:"Roboto Condensed", sans-serif;
	font-size:1.6rem;
}

.paging span.dots{
	display:flex;
	align-items:center;
	height:40px;
	line-height:1;
}

.paging span.current,
.paging a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:40px;
	height:40px;
	background:#f5f5f2;
	color:#121212;
	line-height:1;
	text-decoration:none;
}
.paging span.current,
.paging a:hover{ background:#0675f3; color:#ffffff; }

@media screen and (max-width:768px){
.paging{
	gap:10px;
	margin:0 0 40px 0;
}
}


/* ========================================================================
	widget_title（ページタイトル）
======================================================================== */
.widget_title{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:36px 0;
	height:482px;
	padding:224px 0 0 0;
	background:url(../../img/common/h1.jpg) no-repeat center;
	background-size:cover;
	color:#ffffff;
	line-height:1;
}

.widget_title .txt{
	font-size:1.5rem;
	font-weight:700;
	letter-spacing:1.6em;
}

.widget_title h1,
.widget_title .title{
	font-size:4.2rem;
	font-weight:700;
	letter-spacing:0.06em;
}

@media screen and (max-width:768px){
.widget_title{
	justify-content:center;
	gap:15px 0;
	height:280px;
	padding:60px 20px 0;
}

.widget_title .txt{
	font-size:min(2.0vw, 1.5rem); /* 750px */
}

.widget_title h1,
.widget_title .title{
	font-size:2.4rem;
	line-height:3.4rem;
}
}


/* ========================================================================
	widget_btn（ボタン）
======================================================================== */
.widget_btn{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:0 0 60px 0;
}

.widget_btn a,
.widget_btn button{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	min-height:42px;
	padding:9px 49px 9px 39px;
	background:#0675f3;
	border:1px solid #0675f3;
	border-radius:10px;
	font-size:1.6rem;
	color:#ffffff;
	line-height:2.6rem;
	text-decoration:none;
	transition-duration:0.2s;
}

.widget_btn a:hover,
.widget_btn button:hover{
	background:#ffffff;
	color:#0675f3;
}

.widget_btn a::before,
.widget_btn button::before{
	content:"";
	position:absolute;
	top:0;
	right:14px;
	width:8px;
	height:100%;
	background:url(../../img/common/arrow.svg) no-repeat center;
	background-size:8px auto;
	filter:invert(100%) sepia(0%) saturate(0%) hue-rotate(192deg) brightness(107%) contrast(105%);
	transition-duration:0.2s;
}
.widget_btn a:hover::before,
.widget_btn button:hover::before{
	filter:invert(35%) sepia(96%) saturate(3973%) hue-rotate(201deg) brightness(99%) contrast(95%);
}


/* ========================================================================
	widget_list（投稿一覧）
======================================================================== */
.widget_list{
	margin:0 0 60px 0;
	background:url(../../img/common/line.png) repeat-x left top;
}

.widget_list li{
	background:url(../../img/common/line.png) repeat-x left bottom;
}

.widget_list li a{
	display:flex;
	align-items:flex-start;
	position:relative;
	padding:16px 45px 16px 0 ;
	color:#121212;
	line-height:2.4rem;
	text-decoration:none;
}

.widget_list li a::before{
	content:"";
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
	width:25px;
	height:25px;
	background:#0675f3;
	border-radius:50%;
}

.widget_list li a::after{
	content:"";
	position:absolute;
	top:0;
	right:8px;
	width:8px;
	height:100%;
	background:url(../../img/common/arrow.svg) no-repeat center;
	background-size:8px auto;
	filter:invert(100%) sepia(0%) saturate(0%) hue-rotate(192deg) brightness(107%) contrast(105%);
}

.widget_list li time{
	font-size:1.6rem;
}

.widget_list li .cat{
	min-width:75px;
	padding:0 8px;
	margin:0 20px;
	background:#2b80ca;
	font-size:1.4rem;
	color:#ffffff;
}

.widget_list li .title{
	flex:1;
}
.widget_list li a:hover .title{ text-decoration:underline; }

@media screen and (max-width:768px){
.widget_list{
	margin:0 0 40px 0;
}

.widget_list li a{
	flex-wrap:wrap;
	padding:16px 30px 10px 0 ;
	line-height:2.2rem;
}

.widget_list li a::before{
	width:20px;
	height:20px;
}
.widget_list li a::after{ right:6px; }

.widget_list li time{
	font-size:1.4rem;
}

.widget_list li .cat{
	min-width:auto;
	margin:0 10px;
	font-size:1.2rem;
}

.widget_list li .title{
	flex:none;
	display:block;
	width:100%;
	padding:8px 0 0 0;
	line-height:1.8;
}
.widget_list li a:hover .title{ text-decoration:none; }
}


/* ========================================================================
	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;
}

.widget_entry .wp-video{
	margin:0 auto;
}

.widget_entry h1{
	padding:0 0 2px 0;
	border-bottom:1px solid #0675f3;
	font-size:3.8rem;
	font-weight:700;
	line-height:5.8rem;
	letter-spacing:0.06em;
}

.widget_entry h2{
	margin:0 0 60px 0;
	font-size:5.0rem;
	font-weight:700;
	line-height:7.0rem;
	letter-spacing:0.06em;
}

.widget_entry h3{
	margin:0 0 40px 0;
	padding:0 0 0 36px;
	background:url(../../img/common/h3.png) no-repeat left 5px;
	background-size:24px 42px;
	font-size:3.2rem;
	font-weight:700;
	line-height:5.2rem;
	letter-spacing:0.06em;
}

.widget_entry h4{
	margin:0 0 40px 0;
	font-size:2.4rem;
	font-weight:700;
	color:#0675f3;
	line-height:4.4rem;
	letter-spacing:0.06em;
}

.widget_entry p,
.widget_entry table{
	margin:0 0 60px 0;
}

.widget_entry p::after{
	content:"";
	display:block;
	clear:both;
}

.widget_entry table th,
.widget_entry table td{
	width:auto !important;
	padding:12px 20px;
	background:#bbbbbb;
	border:2px solid #ffffff;
	text-align:left;
	vertical-align:top;
}
.widget_entry table th{
	width:200px !important;
	background:#0675f3;
	color:#ffffff;
	white-space:nowrap;
}

.widget_entry table th span.must{
	font-size:1.4rem;
	color:#ff0000;
}

@media screen and (max-width: 768px){
.widget_entry .aligncenter,
.widget_entry .alignright,
.widget_entry .alignleft{
	display:block;
	float:none;
	margin:0 auto 40px;
}

.widget_entry h1{
	padding:0 0 10px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

.widget_entry h2{
	margin:0 0 40px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

.widget_entry h3{
	margin:0 0 20px 0;
	padding:0 0 0 26px;
	background:url(../../img/common/h3.png) no-repeat left top;
	background-size:auto 28px;
	font-size:1.8rem;
	line-height:2.8rem;
}

.widget_entry h4{
	margin:0 0 20px 0;
	font-size:1.8rem;
	line-height:2.8rem;
}

.widget_entry p,
.widget_entry table{
	margin:0 0 40px 0;
}

.widget_entry table th,
.widget_entry table td{
	display:block;
	width:auto !important;
	border:none;
	border-bottom:2px solid #ffffff;
	white-space:normal;
}
.widget_entry table tr:last-child td{ border:none; }

.widget_entry table th span.must{
	font-size:1.2rem;
}
}


/* ----------------------------------------
	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 22px;
	font-weight:500;
}
.widget_entry ol li{ padding-left:30px; }

.widget_entry ul li:before{
	content:"";
	position:absolute;
	top:13px;
	left:5px;
	width:7px;
	height:7px;
	background:#0675f3;
}

.widget_entry ol li:before{
	counter-increment:number;
	content:counter(number, decimal-leading-zero)".";
	position:absolute;
	top:1px;
	left:0;
	font-family:"Roboto Condensed", sans-serif;
	font-weight:700;
	color:#0675f3;
}

@media screen and (max-width: 768px){
.widget_entry ul,
.widget_entry ol{
	margin:0 0 40px 0;
}

.widget_entry ul li:before{
	top:11px;
}
}


/* ----------------------------------------
	blockquote
---------------------------------------- */
.widget_entry blockquote{
	margin:0 0 60px 0;
}

.widget_entry blockquote > *{
	margin:0;
}

.widget_entry blockquote p{
	display:inline;
	background:linear-gradient(transparent 72%, #94c4f7 72%, #94c4f7 92%, transparent 92%);
	font-weight:700;
}

@media screen and (max-width: 768px){
.widget_entry blockquote{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	date
---------------------------------------- */
.widget_entry .date{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	height:24px;
	margin:5px 0 60px 0;
	font-size:1.6rem;
	line-height:1;
}

@media screen and (max-width: 768px){
.widget_entry .date{
	height:22px;
	margin:5px 0 40px 0;
	font-size:1.4rem;
}
}


/* cat
---------------------------------------- */
.widget_entry .date .cat{
	display:flex;
	align-items:center;
	height:24px;
	margin:0 14px 0 0;
	padding:0 8px;
	background:#2b80ca;
	font-size:1.4rem;
	color:#ffffff;
}

@media screen and (max-width: 768px){
.widget_entry .date .cat{
	height:22px;
	margin:0 10px 0 0;
	font-size:1.2rem;
}
}


/* ----------------------------------------
	lead
---------------------------------------- */
.widget_entry .lead{
	margin:0 0 40px 0;
}

.widget_entry .lead p{
	display:inline-block;
	margin:0;
	padding:5px 12px;
	background:#2b80ca;
	font-size:3.2rem;
	font-weight:700;
	color:#ffffff;
	line-height:4.2rem;
}

@media screen and (max-width: 768px){
.widget_entry .lead{
	margin:0 0 20px 0;
}

.widget_entry .lead p{
	padding:5px 10px;
	font-size:1.8rem;
	line-height:2.8rem;
}
}


/* ----------------------------------------
	column2
---------------------------------------- */
.widget_entry .column2{
	display:flex;
	justify-content:space-between;
	gap:0 40px;
	padding:0 0 40px 0;
}

.widget_entry .column2 img{
	display:block;
	margin:0 auto 20px;
}
.widget_entry .column2 p img{ margin-bottom:0; }

.widget_entry .column2 .block{
	width:50%;
}

.widget_entry .column2 h2,
.widget_entry .column2 h3,
.widget_entry .column2 h4{
	margin:0 0 10px 0;
}
.widget_entry .column2 p,
.widget_entry .column2 ul,
.widget_entry .column2 ol,
.widget_entry .column2 .widget_btn{
	margin:0 0 20px 0;
}

@media screen and (max-width: 768px){
.widget_entry .column2{
	display:block;
	padding:0;
}

.widget_entry .column2 .block{
	width:auto;
	padding:0 0 20px 0;
}
}


/* ----------------------------------------
	column3
---------------------------------------- */
.widget_entry .column3{
	display:flex;
	justify-content:space-between;
	gap:0 40px;
	padding:0 0 40px 0;
}

.widget_entry .column3 img{
	display:block;
	margin:0 auto 20px;
}
.widget_entry .column3 p img{ margin-bottom:0; }

.widget_entry .column3 .block{
	width:33.33%;
}

.widget_entry .column3 h2,
.widget_entry .column3 h3,
.widget_entry .column3 h4{
	margin:0 0 10px 0;
}
.widget_entry .column3 p,
.widget_entry .column3 ul,
.widget_entry .column3 ol,
.widget_entry .column3 .widget_btn{
	margin:0 0 20px 0;
}

@media screen and (max-width: 768px){
.widget_entry .column3{
	display:block;
	padding:0;
}
	
.widget_entry .column3 .block{
	width:auto;
	padding:0 0 20px 0;
}
}