@charset "UTF-8";
/* CSS Document */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-webkit-font-smoothing:antialiased;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	font-family: "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#1a1a1a;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	overflow-scrolling: touch;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align:bottom;
}
a:hover {
	color: #1a1a1a;
	transition-duration: 0.5s;
	-webkit-transform: translate3d(0,0,0);
}
a img:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
	transition-duration: 0.5s;
}
section {
	padding: 90px 0;
}
section.gray {
	background-color: #f2f2f2;
}
.sp {
	display: none !important;
}
.wrap {
	max-width: 1050px;
	margin: 0 auto;
}
.bold {
    font-weight: bold;
}
.max_wrap {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 5%;
}
.titbox {
	margin-bottom: 40px;
}
.en_tit {
	font-size: 20px;
	font-family: 'Barlow', sans-serif;
	font-weight: 700;
	color: #c1272d;
}
.main_tit {
	font-size: 35px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
	font-weight: 600;
}
.main_sub_tit {
	font-size: 30px;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
	font-weight: 600;
}
.main_sub_tit2 {
	font-size: 27px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
	font-weight: 600;
	margin: 10px 0;
}
.main_sub_tit3 {
	font-size: 22px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
	font-weight: 600;
}
.main_sub_tit4 {
	font-size: 20px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
	font-weight: 600;
}
.main_sub_tit5 {
	font-size: 25px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
	font-weight: 600;
}
.cms_txt {
	font-size: 14px;
	line-height: 1.8;
}
.cms_txt a {
	text-decoration: none;
	color: #1a1a1a;
}
.cms_big_txt {
    font-size: 20px;
    line-height: 1.8;
}
.cms_sub_txt {
	font-size: 12px;
}
.cms_sub_txt2 {
    font-size: 16px;
    line-height: 1.8;
}
.cms_list_txt {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
}
span.num {
    width: 33px;
    min-width: 33px;
    height: 33px;
    color: #fff;
    background-color: #c1272d;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}
span.color {
    color: #c1272d;
}
.page-titbox {
    padding: 10px 0 10px 20px;
    border-left: solid 6px #c1272d;
    margin-bottom: 20px;
}
.page-titbox .en_tit {
    padding-left: 1em;
}
.flex {
	display: flex;
	align-items: center;
}
.center {
	text-align: center;
}
.cat {
	margin: 10px 0;
}
.cat a {
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	display: inline-block;
	background-color: #c1272d;
	text-decoration: none;
	padding: 2px 10px;
	border-radius: 10px;
}
.slick-slide {
	margin: 0 5px;
}
.slick-prev,
.slick-next {
	position: absolute;
	display: block;
	width: 47px;
	height: 47px;
	line-height: 0px;
	font-size: 0px;
	cursor: pointer;
	background: transparent;
	color: transparent;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	padding: 0;
	border: none;
	outline: none;
	z-index: 1;
}
.slick-prev {
	left: -20px;
}
.slick-next {
	right: -20px;
}
.slick-prev:before {
	content: "";
	width: 47px;
	height: 47px;
	background-image: url("../img/slider/icon_prev.png");
	background-repeat: no-repeat;
    background-size: cover;
	display: block;
	opacity: 1;
}
.slick-next:before {
	content: "";
	width: 47px;
	height: 47px;
	background-image: url("../img/slider/icon_next.png");
	background-repeat: no-repeat;
    background-size: cover;
	display: block;
	opacity: 1;
}
.regular .slick-slide img,
.regular3 .slick-slide img {
    width: 100%;
    height: 15vw;
    object-fit: cover;
}
.regular3 .slick-slide img {
    width: 100%;
    height: 17vw;
    object-fit: cover;
}
.lazy li a,
.regular li a {
    outline: none;
}
.btn {
	width: 100%;
	max-width: 330px;
	box-sizing: border-box;
	margin: 40px auto 0;
}
.btn a {
	font-size: 18px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
	font-weight: 600;
	color: #fff;
    background-color: #4d4d4d;
    transition-duration: .3s;
	line-height: 80px;
    border-radius: 40px;
	text-decoration: none;
	display: block;
    position: relative;
}
.btn a:hover {
	background-color: #c1272d;
    transition-duration: .3s;
}
.btn a span {
	width: 6px;
	height: 10px;
	background-image: url("../img/common/icon_btn-next.svg");
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%) translateX(0);
	-webkit- transform: translateY(-50%) translateX(0);
}
.wp-pagenavi {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
	width: 35px;
	height: 35px;
	font-size: 15px;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
    font-weight: 600;
	color: #c1272d;
	box-sizing: border-box;
	border-radius: 50%;
	border: solid 2px #c1272d;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	margin: 0 5px 10px;
	transition-duration: .3s;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	color: #fff;
	background-color: #c1272d;
	transition-duration: .3s;
}
.post-navigation {
    margin-top: 40px;
}
.post-navigation .flex {
    justify-content: center;
}
.post-navigation .btn {
    position: relative;
    max-width: 240px;
    margin: 0 auto;
}
.post-navigation .btn1,
.post-navigation .btn2 {
    margin: 0 10px 20px;
}
.post-navigation .btn a {
    font-size: 15px;
    line-height: 60px;
    color: #c1272d;
    background-color: #fff;
    border: solid 2px #c1272d;
}
.post-navigation .btn:hover a {
    color: #fff;
    background-color: #c1272d;
}
.post-navigation .btn a span {
	background-image: url("../img/common/icon_btn-next-red.svg");
}
.post-navigation .btn:hover a span {
    background-image: url("../img/common/icon_btn-next.svg");
}
.post-navigation .btn1 span {
    width: 6px;
	height: 10px;
	background-image: url("../img/common/icon_btn-next-red-r.svg");
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%) translateX(0);
	-webkit- transform: translateY(-50%) translateX(0);
}
.post-navigation .btn2 span {
    width: 6px;
	height: 10px;
	background-image: url("../img/common/icon_btn-next-red.svg");
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%) translateX(0);
	-webkit- transform: translateY(-50%) translateX(0);
}
.post-navigation .btn1:hover span {
    background-image: url("../img/common/icon_btn-next-r.svg");
}
.post-navigation .btn2:hover span {
    background-image: url("../img/common/icon_btn-next.svg");
}

@media (max-width: 1160px) {
	.titbox {
		margin-bottom: 20px;
	}
	.en_tit {
		font-size: 16px;
	}
	.main_tit {
		font-size: 28px;
	}
	.main_sub_tit,
    .main_sub_tit2,
    .news-single .main_sub_tit,
    .main_sub_tit5 {
		font-size: 20px;
	}
    .main_sub_tit3 {
        font-size: 18px;
    }
	.cms_txt {
		font-size: 13px;
	}
    .cms_big_txt,
    .main_sub_tit4 {
        font-size: 16px;
    }
    .cms_list_txt {
        font-size: 14px;
        line-height: 1.5;
    }
    .cms_sub_txt2 {
        font-size: 14px;
    }
}

@media (max-width: 1050px) {
	.wrap {
		padding: 0 5%;
	}
}

@media (max-width: 960px) {
	.btn a {
		line-height: 60px;
	}
}

@media (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
    section {
        padding: 50px 0;
    }
    .wrap,
    .max_wrap {
        padding: 0 3%;
    }
    .main_sub_tit,
    .main_sub_tit2,
    .news-single .main_sub_tit {
		font-size: 24px;
	}
    .main_sub_tit5 {
        font-size: 18px;
    }
    .slick-prev {
        left: -1%;
    }
    .slick-next {
        right: -1%;
    }
    .regular .slick-slide img,
    .regular3 .slick-slide img {
        height: 28vw;
    }
    .post-navigation {
        margin-bottom: 40px;
    }
}

@media (max-width: 640px) {
    .regular .slick-slide img {
        height: 40vw;
    }
}

@media (max-width: 580px) {
    .page-titbox {
        display: block;
        padding: 0 0 0 20px;
    }
    .page-titbox .en_tit {
        padding-left: 0;
    }
    .post-navigation .btn a {
        font-size: 13px;
        line-height: 50px;
    }
}

@media (max-width: 550px) {
    .slick-prev:before,
    .slick-next:before {
        width: 30px;
        height: 30px;
    }
    .slick-prev {
        left: 20px;
    }
    .slick-next {
        right: 20px;
    }
    .regular3 .slick-prev {
        left: -1%;
    }
    .regular3 .slick-next {
        right: -1%;
    }
}

@media (max-width: 480px) {
    .en_tit {
        font-size: 14px;
    }
    .main_tit {
        font-size: 20px;
    }
    .main_sub_tit,
    .main_sub_tit2,
    .news-single .main_sub_tit {
        font-size: 20px;
    }
    .main_sub_tit3,
    .main_sub_tit5 {
        font-size: 16px;
    }
    .main_tit {
        font-size: 20px;
    }
    .cms_sub_txt2 {
        font-size: 13px;
    }
    .regular .slick-slide img {
        height: 45vw;
    }
    .btn a {
        font-size: 16px;
    }
}

@media (max-width: 380px) {
    .regular .slick-slide img {
        height: 55vw;
    }
    .regular3 .slick-slide img {
        height: 40vw;
    }
}