@charset "utf-8";

body,h1,h2,h3,h4,h5,h6,div,span {
font-style: normal !important;
}

/* ------------------------------
▼ a
------------------------------ */

a {
text-decoration: none;
-webkit-transition: opacity 0.3s ease-out;
-moz-transition: opacity 0.3s ease-out;
-ms-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
}
a:hover,
a:focus {
text-decoration: none;
opacity: .3;
-webkit-opacity: .3;
-moz-opacity: .3;
filter: alpha(opacity=30);	/* IE lt 8 */
-ms-filter: "alpha(opacity=30)"; /* IE 8 */
}
a:visited {
outline: none;
}
a:focus, *:focus { outline:none; }

/* selector_hover */
.selector_hover {
text-decoration: none;
-webkit-transition: opacity 0.3s ease-out;
-moz-transition: opacity 0.3s ease-out;
-ms-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
}
.selector_hover:hover {
opacity: .3;
-webkit-opacity: .3;
-moz-opacity: .3;
filter: alpha(opacity=30);	/* IE lt 8 */
-ms-filter: "alpha(opacity=30)"; /* IE 8 */
}

.link_custom1 a,
.link_custom1 a:hover,
.link_custom1 a:focus {
color: #FFF !important;
}

/* ------------------------------
▲ a
▼ margin
------------------------------ */

.mt_no { margin-top: 0; }
.mb_no { margin-bottom: 0; }
.pt_no { padding-top: 0; }
.pb_no { padding-bottom: 0; }

.ma_8px { margin: 8px; }
.ma_16px { margin: 16px; }
.pa_8px { padding: 8px; }
.pa_16px { padding: 16px; }
.ma_1rm { margin: 1rem; }
.ma_2rm { margin: 2rem; }
.pa_1rm { padding: 1rem; }
.pa_2rm { padding: 2rem; }

.mt_1rm { margin-top: 1rem; }
.mt_2rm { margin-top: 2rem; }
.mt_3rm { margin-top: 3rem; }

.mb_1rm { margin-bottom: 1rem; }
.mb_2rm { margin-bottom: 2rem; }
.mb_3rm { margin-bottom: 3rem; }

.ml_1rm { margin-left: 1rem; }
.mr_1rm { margin-right: 1rem; }

.mt_1px { margin-top: 1px; }
.mt_2px { margin-top: 2px; }
.mt_3px { margin-top: 3px; }

.mb_1px { margin-bottom: 1px; }
.mb_2px { margin-bottom: 2px; }
.mb_3px { margin-bottom: 3px; }

.pt_1rm { padding-top: 1rem; }
.pt_2rm { padding-top: 2rem; }
.pt_3rm { padding-top: 3rem; }

@media only screen and (max-width: 1023px) {
	.mmb_1rm { margin-bottom: 1rem; }
}

@media only screen and (max-width: 639px) {
	.smb_1rm { margin-bottom: 1rem; }
}

/* ------------------------------
▲ margin
▼ arrow
------------------------------ */

.lgarw_5wd,
.lgarw_6wd,
.lgarw_7wd,
.lgarw_8wd,
.lgarw_9wd,
.lgarw_10wd {
position: relative;
display: inline-block;
text-decoration: none;
}

.lgarw_5wd:before {
content: '';
position: absolute;
top: 50%;
right: 90px;
margin-top: -4px;
width: -moz-calc(100% - 90px);
width: -webkit-calc(100% - 90px);
width: calc(100% - 90px);
height: 10px;
border-bottom: 1px solid #666;
border-right: 1px solid #666;
transform: skew(45deg);
}

.lgarw_6wd:before {
content: '';
position: absolute;
top: 50%;
right: 106px;
margin-top: -4px;
width: -moz-calc(100% - 106px);
width: -webkit-calc(100% - 106px);
width: calc(100% - 106px);
height: 10px;
border-bottom: 1px solid #666;
border-right: 1px solid #666;
transform: skew(45deg);
}

.lgarw_7wd:before {
content: '';
position: absolute;
top: 50%;
right: 120px;
margin-top: -4px;
width: -moz-calc(100% - 120px);
width: -webkit-calc(100% - 120px);
width: calc(100% - 120px);
height: 10px;
border-bottom: 1px solid #666;
border-right: 1px solid #666;
transform: skew(45deg);
}

.lgarw_8wd:before {
content: '';
position: absolute;
top: 50%;
right: 134px;
margin-top: -4px;
width: -moz-calc(100% - 134px);
width: -webkit-calc(100% - 134px);
width: calc(100% - 134px);
height: 10px;
border-bottom: 1px solid #666;
border-right: 1px solid #666;
transform: skew(45deg);
}

.lgarw_9wd:before {
content: '';
position: absolute;
top: 50%;
right: 150px;
margin-top: -4px;
width: -moz-calc(100% - 150px);
width: -webkit-calc(100% - 150px);
width: calc(100% - 150px);
height: 10px;
border-bottom: 1px solid #666;
border-right: 1px solid #666;
transform: skew(45deg);
}

.lgarw_10wd::before {
content: '';
position: absolute;
top: 50%;
right: 165px;
margin-top: -4px;
width: -moz-calc(100% - 165px);
width: -webkit-calc(100% - 165px);
width: calc(100% - 165px);
height: 10px;
border-bottom: 1px solid #666;
border-right: 1px solid #666;
transform: skew(45deg);
}

/* ------------------------------
▲ arrow
▼ table
------------------------------ */

table {
width:100%;
border: solid 0px #fff;
}
table th,
table td {
border: solid 0px #fff;
}

/* table1 */
.table1 {
text-align: left;
border-collapse: collapse;
border-spacing: 0;
}
.table1 td {
width: 75%;
vertical-align: top;
}
.table1 td:nth-child(odd) {
width: 25%;
vertical-align: top;
}
@media only screen and (max-width: 639px) {
	.table1 td {
	width: 100%;
	display: block;
	padding: 4px 8px 8px 8px;
	}
	.table1 td:nth-child(odd) {
	width: 100%;
	padding: 8px 8px 0 8px;
	}
}

/* Smartphone Scroll */
@media only screen and (max-width: 639px) {
	.scroll {
	overflow: auto;
	white-space:nowrap;
	}
	.scroll::-webkit-scrollbar {
	height: 15px;
	}
	.scroll::-webkit-scrollbar-track {
	background: #f1f1f1;
	}
	.scroll::-webkit-scrollbar-thumb {
	background: #bbb;
	}
}

/* table2 */
.table2 {
text-align: left;
border-collapse: collapse;
border-spacing: 0;
}
.table2 th {
padding: 8px;
border: solid 1px #ddd;
}
.table2 td {
padding: 8px;
border: solid 1px #ddd;
width: 75%;
vertical-align: top;
}
.table2 td:nth-child(odd) {
width: 25%;
vertical-align: top;
}

/* table3 */
.table3 {
text-align: left;
border-collapse: collapse;
border-spacing: 0;
border-top: solid 1px #ddd;
}
.table3 th {
padding: 8px;
border-bottom: solid 1px #ddd;
}
.table3 td {
padding: 8px;
border-bottom: solid 1px #ddd;
width: 75%;
vertical-align: top;
}
.table3 td:nth-child(odd) {
width: 25%;
}

/* table4 */
.table4 {
text-align: left;
border-collapse: collapse;
border-spacing: 0;
border-top: solid 0px #fff;
}
.table4 th {
padding: 8px;
border-bottom: solid 0px #fff;
}
.table4 td {
padding: 8px;
border-bottom: solid 0px #fff;
width: 75%;
vertical-align: top;
}
.table4 td:nth-child(odd) {
width: 25%;
}

/* stripe */
.stripe tr:nth-child(odd) {
background: #eee;
}

/* ------------------------------
▲ table
▼ img
------------------------------ */

@media only screen and (min-width: 767px) {
	.slash1 {
		transform: skewX(-15deg);
		-webkit-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		width:-webkit-calc(50% + 70px);
		width:calc(50% + 75px);
	}
	.dcut1 {
	clip-path: polygon(15% 0%, 100% 0, 100% 100%, 0% 100%);
	}
	.dcut2 {
	clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
	}
}

/* ------------------------------
▲ img
▼ block
------------------------------ */

@media only screen and (min-width: 640px) {
	.box-reverse .elementor-container {
	flex-direction: row-reverse;
	}
}

@media only screen and (max-width: 639px) {
	.block-sp .elementor-column {
	width: 100% !important;
	}
}

/* ------------------------------
▲ block
▼ header
------------------------------ */

.header {
margin-top: 1rem !important;
position: relative;
/* position: fixed; */
width: 100%;
}

.hfe-site-logo-img {
-webkit-transition: opacity 0.3s ease-out !important;
-moz-transition: opacity 0.3s ease-out !important;
-ms-transition: opacity 0.3s ease-out !important;
transition: opacity 0.3s ease-out !important;
}
.hfe-site-logo-img:hover {
opacity: .3 !important;
-webkit-opacity: .3 !important;
-moz-opacity: .3 !important;
filter: alpha(opacity=30);	/* IE lt 8 */
-ms-filter: "alpha(opacity=30)" !important;
}

/* header-2 */
.header-2 {
transform: translatey(-120px);
-moz-transition: all .3s ease!important;
-webkit-transition: all .3s ease!important;
transition: all .3s ease!important;
}
.elementor-sticky--effects.header-2  {
height: auto!important;
transform: translatey(0px);
}
.elementor-sticky--effects.header-1 {
display: none!important;
}

/* ------------------------------
▲ header
▼ main
------------------------------ */

.elementor-repeater-item-b3d83bf > a {
content:"";
position: absolute;
width:100vw;
height:100vh;
-moz-transform: translateX(-50%) translateY(-50%);
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
left:50%;
top:50%;
}

.blk_news {
margin-top: 5rem;
margin-bottom: 4rem;
text-align: center;
}

.blk_news_hdr .tit {
margin: 0 0 1rem;
font-size: 1.8rem;
font-weight: bold;
}

@media only screen and (min-width: 1024px) {
	.blk_news_hdr {
	margin: 0;
	text-align: left;
	}
}

.blk_entry {
text-align: left;
}
@media only screen and (min-width: 1024px) {
	.blk_entry {
	margin-top: 1rem;
	}
}
.blk_entry article {
padding: 0;
border-top: 1px solid #e8e8e8;
}
.blk_entry article:last-child {
border-bottom: 1px solid #e8e8e8;
}
.blk_entry .tit {
margin: 0;
padding: 0;
font-size: 1.3rem;
}
.blk_entry .date {
margin-top: 0.6rem;
font-size: 1rem;
}
.blk_entry .entry_link {
padding: 1.2rem 1rem 0.6rem;
display: block;
}

/* title */
.ast-single-post .entry-title,
.page-title {
font-size: 2.4rem;
text-align: center;
font-weight: bold;
}
.archive .page-title {
font-size: 2.4rem !important;
font-weight: bold !important;
color: #3a3a3a !important;
}
.archive .entry-header .entry-title {
font-size: 1.6rem;
}

/* breadcrumbs */
.elementor-widget-breadcrumbs {
font-size: 1rem !important;
}

/* thumbnail */
a.elementor-post__thumbnail__link {
-webkit-transition: opacity 0.3s ease-out;
-moz-transition: opacity 0.3s ease-out;
-ms-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
}

/* aligncenter */
img.aligncenter {
display: block;
margin: 0 auto !important;
}

/* pagination */
nav.elementor-pagination {
margin-top: 3rem;
}

.page-numbers {
background-color: #000;
padding: 10px 20px;
border: 1px solid #000;
color: #fff;
}

.page-numbers:hover {
background-color: #000;
color: #666;
border: 1px solid #000;
}

.current {
background-color: #fff;
color: #333;
border: 1px solid #000;
}

.current:hover {
background-color: #fff;
color: #666;
border: 1px solid #000;
}

/* ------------------------------
▲ main
▼ tag
------------------------------ */

/* tag */
.icon_tag.elementor-widget .elementor-icon-list-item a {
padding: 0 0 0 4px;
margin: 0 2px 0 0;
color: #999 !important;
box-sizing: border-box;
display: inline-block;
font-size: 10px;
text-transform: uppercase;
font-weight: 700;
transition: all .3s ease;
}

/*
.icon_tag.elementor-widget .elementor-icon-list-item a {
background: #9c9c9c;
padding: 5px 8px;
margin: 0 2px 0 0;
color: #fff !important;
box-sizing: border-box;
display: inline-block;
font-size: 10px;
text-transform: uppercase;
font-weight: 700;
transition: all .3s ease;
}
*/

.icon_tag.elementor-widget .elementor-icon-list-item:before {
margin: 5px 0 0 5px;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 10px;
content: "\f02b";
color: #999 !important;
}

/* ------------------------------
▲ tag
▼ plugin
------------------------------ */

/* ▼ Contact Form 7 */
.cont1 table {
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
.cont1 table tr th,
.cont1 table tr td {
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
.cont1 table tr th {
width: 35%;
}
@media screen and (max-width:768px) {
	.cont1 {
	width: 100%;
	}
	.cont1 table,
	.cont1 table tbody,
	.cont1 table tr,
	.cont1 table tr th,
	.cont1 table tr td {
	display: block;
	}
	.cont1 table {
	width: 100%;
	border-width: 0 0 1px 0;
	}
	.cont1 table tr th,
	.cont1 table tr td {
	width: 100%;
	padding: 3% 5%;
	}
	.cont1 table tr td {
	border-width: 0px 1px 0px 1px;
	}
}
/* 必須*/
.cont1 .required{
font-size:.8rem;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-left: 5px;
}
/* 任意 */
.cont1 .optional{
font-size:.8rem;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-left: 5px;
}
/* 入力項目を見やすく */
.cont1 input.wpcf7-form-control.wpcf7-text,
.cont1 textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
.cont1 textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}
/* 「送信する」ボタン */
.cont1 input.wpcf7-submit {
display: block;
padding: 15px;
width: 400px;
background: #336699;
color: #fff;
font-size: 18px;
font-weight: 700;
border-radius: 2px;
margin: 15px auto 0
}
@media screen and (max-width:768px) {
	.cont1 input.wpcf7-submit {
	width: 250px;
	}
}
.cont1 input.wpcf7-submit:hover {
box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
transform: translateY(-4px);
opacity:0.7;
}
/* エラーメッセージ */
.cont1 span.wpcf7-not-valid-tip,
.cont1 .wpcf7-response-output.wpcf7-validation-errors {
color: red;
font-weight: 600;
}
.cont1 .response {
text-align: center;
margin-bottom: 8px;
}
@media screen and (max-width:768px) {
	.cont1 .response {
	text-align: left;
	}
}
.grecaptcha-badge { visibility: hidden; }
/* ▲ Contact Form 7 */



/* ------------------------------
▲ plugin
▼ footer
------------------------------ */

footer .bb_sl {
border-bottom: solid 1px #fff !important;
padding-bottom: 6px !important;
}

/* ------------------------------
▲ footer
------------------------------ */
