@charset "utf-8";
/*
 * デフォルトのスタイルを制御
 * 
 * */


body:not(.single){
    overflow-x: hidden;
}
/*フォント初期設定
---------------------------------------------------------------------------------------------------*/
html{
	font-size: 16px;
}
body {
	font-family: "Roboto", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.mincho, .mincho h1, .mincho h2, .mincho h3, .mincho h4, .mincho p, .mincho a, .mincho span, .mincho li, .mincho div{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif!important;
}
/*2カラムレイアウト調整
---------------------------------------------------------------------------------------------------*/
/*▼PC＋TB用CSS▼*/
@media screen and (min-width: 768px) {
	#primary{
		padding-right: 0;
	}
}
/*▲PC＋TB用CSS▲*/
/*▼スマホ用CSS▼*/
@media screen and (max-width: 767px) {
	#content-wrap{
		max-width: 100%
	}
}
/*▲スマホ用CSS▲*/

/*テーブル調整
---------------------------------------------------------------------------------------------------*/
table tr th:first-child, table tr td:first-child{
	padding: 0.75rem;
}

/*文字エフェクト設定
---------------------------------------------------------------------------------------------------*/

/*太字*/
.bold{
	font-weight: bold!important;
}

/*マーカー*/
.marker{
	background:linear-gradient(transparent 60%, #ff6 60%);
}

/*文字サイズ（大）*/
.large{
	font-size: 1.2em;
}

/*文字サイズ（小）*/
.small{
	font-size: 0.8em;
}

/*強調*/
strong{
	font-size: 1.1em;
	font-weight: bold;
}

/*一般スタイリング設定
---------------------------------------------------------------------------------------------------*/
/*中央揃え*/
.alignCenter{
    text-align: center;
}
/*左揃え*/
.alignLeft{
	text-align: left;
}
/*右揃え*/
.alignRight{
	text-align: right;
}

/*レイアウト毎非表示調整
---------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 1021px) {
/*PCレイアウトで隠す*/
    .tb{display:none;}
    .sp{display:none;}
    .sptb{display:none;}
}
@media screen and (max-width: 1020px) and (min-width: 768px)  {
/*TBレイアウトで隠す*/
    .pc{display:none;}
    .sp{display:none;}
}
@media screen and (max-width: 767px) {
    /*SPレイアウトで隠す*/
    .pc{display:none;}
    .tb{display:none;}
    .pctb{display:none;}
}

/*既存ページタイトル、パンくずリスト周り
---------------------------------------------------------------------------------------------------*/
.page-subheading{
	display: none;
}
.page-header-title{
    display: none;
}
.page-header-inner{
    width: 1200px;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
}
.icon-home::before{
    content: "\f015";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

/*タイルスタイリング（タイルレイアウト）
---------------------------------------------------------------------------------------------------*/
.tile-section{
	background-color: #fff;
	border-radius: 2px 2px 2px 2px;
	box-shadow: 0 0 2px rgba(0,0,0,.18);
}

/*見出しスタイル
---------------------------------------------------------------------------------------------------*/
.large-hedding-title{
	margin-top: 50px;
}
/*▼スマホ用CSS▼*/
@media screen and (max-width: 767px) {
	.large-hedding-title{
		margin-top: 25px;
	}
}
/*▲スマホ用CSS▲*/

/*ボタンスタイル
---------------------------------------------------------------------------------------------------*/
.elementor .deco-btn .elementor-button, .btn-decoration{
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0,0,0,.6);
	transition: all ease 0.3s;
}
.elementor .deco-btn .elementor-button:hover, .btn-decoration:hover{
	transform: translateY(-5px);
}

/*カラム調整[グリッドレイアウト]
---------------------------------------------------------------------------------------------------*/
.g-col_gl4{
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.g-col_gl3{
	grid-template-columns: 1fr 1fr 1fr;
}
.g-col_gl2{
	grid-template-columns: 1fr 1fr;
}
.g-col_gl1{
	grid-template-columns: 1fr;
}
/*▼PC用CSS▼*/
@media screen and (min-width: 1021px) {
.g-col_pc4{
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.g-col_pc3{
	grid-template-columns: 1fr 1fr 1fr;
}
.g-col_pc2{
	grid-template-columns: 1fr 1fr;
}
.g-col_pc1{
	grid-template-columns: 1fr;
}
}
/*▲PC用CSS▲*/
/*▼TB用CSS▼*/
@media screen and (max-width: 1020px) and (min-width: 768px)  {
.g-col_tb4{
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.g-col_tb3{
	grid-template-columns: 1fr 1fr 1fr;
}
.g-col_tb2{
	grid-template-columns: 1fr 1fr;
}
.g-col_tb1{
	grid-template-columns: 1fr;
}
}
/*▲TB用CSS▲*/
/*▼スマホ用CSS▼*/
@media screen and (max-width: 767px) {
.g-col_sp4{
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.g-col_sp3{
	grid-template-columns: 1fr 1fr 1fr;
}
.g-col_sp2{
	grid-template-columns: 1fr 1fr;
}
.g-col_sp1{
	grid-template-columns: 1fr;
}
}
/*▲スマホ用CSS▲*/

/*カラム調整[2-2-1]
---------------------------------------------------------------------------------------------------*/
.col_2-2-1{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 30px;
}
@media screen and (max-width: 959px) and (min-width: 600px)  {
	.col_2-2-1{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		grid-gap: 20px;
	}
}
@media screen and (max-width: 599px) {
	.col_2-2-1{
		display: grid;
		grid-template-columns: repeat(1,1fr);
		grid-gap: 20px;
	}
}
/*カラム調整[3-2-1]
---------------------------------------------------------------------------------------------------*/
.col_3-2-1{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 30px;
}
#wrapper:not(.colum1) .col_3-2-1{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 20px;
}
@media screen and (max-width: 959px) and (min-width: 600px)  {
	.col_3-2-1{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		grid-gap: 20px;
	}
}
@media screen and (max-width: 599px) {
	.col_3-2-1{
		display: grid;
		grid-template-columns: repeat(1,1fr);
		grid-gap: 20px;
	}
}


/*---------------------------------------------------------------------------------------------[カスタムプロパティ：レスポンシブスペーサー]*/
:root{
	--spacerHeight10: 10;
	--sh10: calc(var(--spacerHeight10)*1px);
	--spacerHeight15: 15;
	--sh15: calc(var(--spacerHeight15)*1px);
	--spacerHeight20: 20;
	--sh20: calc(var(--spacerHeight20)*1px);
	--spacerHeight25: 25;
	--sh25: calc(var(--spacerHeight25)*1px);
	--spacerHeight30: 30;
	--sh30: calc(var(--spacerHeight30)*1px);
	--spacerHeight35: 35;
	--sh35: calc(var(--spacerHeight35)*1px);
	--spacerHeight40: 40;
	--sh40: calc(var(--spacerHeight40)*1px);
	--spacerHeight45: 45;
	--sh45: calc(var(--spacerHeight45)*1px);
	--spacerHeight50: 50;
	--sh50: calc(var(--spacerHeight50)*1px);
	--spacerHeight55: 55;
	--sh55: calc(var(--spacerHeight55)*1px);
	--spacerHeight60: 60;
	--sh60: calc(var(--spacerHeight60)*1px);
	--spacerHeight65: 65;
	--sh65: calc(var(--spacerHeight65)*1px);
	--spacerHeight70: 70;
	--sh70: calc(var(--spacerHeight70)*1px);
	--spacerHeight75: 75;
	--sh75: calc(var(--spacerHeight75)*1px);
	--spacerHeight80: 80;
	--sh80: calc(var(--spacerHeight80)*1px);
}
/*▼TB+スマホ用CSS▼*/
@media screen and (max-width: 1020px) {
:root{
	--spacerHeight10Sp: calc(100vw * calc(var(--spacerHeight10) / 1170));
	--sh10: var(--spacerHeight10Sp);
	--spacerHeight15Sp: calc(100vw * calc(var(--spacerHeight15) / 1170));
	--sh15: var(--spacerHeight15Sp);
	--spacerHeight20Sp: calc(100vw * calc(var(--spacerHeight20) / 1170));
	--sh20: var(--spacerHeight20Sp);
	--spacerHeight25Sp: calc(100vw * calc(var(--spacerHeight25) / 1170));
	--sh25: var(--spacerHeight25Sp);
	--spacerHeight30Sp: calc(100vw * calc(var(--spacerHeight30) / 1170));
	--sh30: var(--spacerHeight30Sp);
	--spacerHeight35Sp: calc(100vw * calc(var(--spacerHeight35) / 1170));
	--sh35: var(--spacerHeight35Sp);
	--spacerHeight40Sp: calc(100vw * calc(var(--spacerHeight40) / 1170));
	--sh40: var(--spacerHeight40Sp);
	--spacerHeight45Sp: calc(100vw * calc(var(--spacerHeight45) / 1170));
	--sh45: var(--spacerHeight45Sp);
	--spacerHeight50Sp: calc(100vw * calc(var(--spacerHeight50) / 1170));
	--sh50: var(--spacerHeight50Sp);
	--spacerHeight55Sp: calc(100vw * calc(var(--spacerHeight55) / 1170));
	--sh55: var(--spacerHeight55Sp);
	--spacerHeight60Sp: calc(100vw * calc(var(--spacerHeight60) / 1170));
	--sh60: var(--spacerHeight60Sp);
	--spacerHeight65Sp: calc(100vw * calc(var(--spacerHeight65) / 1170));
	--sh65: var(--spacerHeight65Sp);
	--spacerHeight70Sp: calc(100vw * calc(var(--spacerHeight70) / 1170));
	--sh70: var(--spacerHeight70Sp);
	--spacerHeight75Sp: calc(100vw * calc(var(--spacerHeight75) / 1170));
	--sh75: var(--spacerHeight75Sp);
	--spacerHeight80Sp: calc(100vw * calc(var(--spacerHeight80) / 1170));
	--sh80: var(--spacerHeight80Sp);
}
}
/*▲TB+スマホ用CSS▲*/
/*---------------------------------------------------------------------------------------------[レスポンシブスペーサー]*/
.sh10, .sh10 .elementor-spacer-inner{
	height: var(--sh10)!important;
	min-height: 10px;
}
.sh15, .sh15 .elementor-spacer-inner{
	height: var(--sh15)!important;
	min-height: 10px;
}
.sh20, .sh20 .elementor-spacer-inner{
	height: var(--sh20)!important;
	min-height: 10px;
}
.sh25, .sh25 .elementor-spacer-inner{
	height: var(--sh25)!important;
	min-height: 10px;
}
.sh30, .sh30 .elementor-spacer-inner{
	height: var(--sh30)!important;
	min-height: 10px;
}
.sh35, .sh35 .elementor-spacer-inner{
	height: var(--sh35)!important;
	min-height: 10px;
}
.sh40, .sh40 .elementor-spacer-inner{
	height: var(--sh40)!important;
}
.sh45, .sh45 .elementor-spacer-inner{
	height: var(--sh45)!important;
}
.sh50, .sh50 .elementor-spacer-inner{
	height: var(--sh50)!important;
}
.sh55, .sh55 .elementor-spacer-inner{
	height: var(--sh55)!important;
}
.sh60, .sh60 .elementor-spacer-inner{
	height: var(--sh60)!important;
}
.sh65, .sh65 .elementor-spacer-inner{
	height: var(--sh65)!important;
}
.sh70, .sh70 .elementor-spacer-inner{
	height: var(--sh70)!important;
}
.sh75, .sh75 .elementor-spacer-inner{
	height: var(--sh75)!important;
}
.sh80, .sh80 .elementor-spacer-inner{
	height: var(--sh80)!important;
}