@charset "UTF-8";
/* CSS Document */

/* ---------------------------------------------------------------------------------------------

　   header

--------------------------------------------------------------------------------------------- */

header#header{
    position: relative;
    height: auto;
	min-height: 360px;
	} 
	@media only screen and (max-width: 540px) {
		header#header{
			min-height: 240px;
			}
		}

/* ----------

　   メインイメージ

---------- */

/*--背景--*/


/*ページ毎に背景画像指定*/
.pageheader{
	background-image: url("../img/pagettl_bg.jpg");
	}
.pageheader.contact,
.pageheader.privacypolicy,
.pageheader.thanks{/*お問合せ・個人情報保護方針*/
    background-image: url("../img/pagettil_bg__contact.jpg");
	}

/*ページタイトル*/
.pageheader{
    position: absolute;
	top: 0;
	left: 0;
	right: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	color: #fff;
    width: 100%;
    min-height: 360px;
	z-index: -10;
	}

.pageheader .page_ttl{
	position: absolute;
	top: 0;
	left: 10%;
	min-height: 180px;
    min-height: calc(var(--vh, 1vh) * 180px);
	transform: translateY(180px) translateX(-10%);
    webkit- transform: translateY(180px) translateX(-10%);
    }
.pageheader .page_ttl .en{
	color: #fff;
    }

	@media only screen and (max-width: 900px) {
		}
	@media only screen and (max-width: 767px) {}
	@media only screen and (max-width: 540px) {
		/*ページタイトル*/
		.pageheader{
			min-height: 240px;
			}
		.pageheader .page_ttl{
			min-height: 120px;
			min-height: calc(var(--vh, 1vh) * 120px);
			transform: translateY(120px) translateX(-10%);
			webkit- transform: translateY(120px) translateX(-10%);
			}
		}
	@media only screen and (max-width: 480px) {
		}
	@media only screen and (max-width: 360px) {
		}
	@media only screen and (max-width: 260px) {}




/* ---------------------------------------------------------------------------------------------

　   main

--------------------------------------------------------------------------------------------- */


/* ----------

　   パンくず

---------- */

.pan {
	color:  #777;
	font-size:		0.85em;
	margin:	0 auto ;
	padding: 1rem 0;
	}
.pan:after {
	content: " "; 
	display: block;
	clear: both;
	}

.pan ul{}
.pan ul li{
	float: left;
	list-style: none;
	}
.pan ul li:before{
	content: '\00a0>\00a0';
	}
.pan ul li:first-child:before{
	content: none;
	}
.pan a {	
	color:			#35aacd;
	text-decoration:none;
	}
.pan a:hover {
	color:			#35aacd;
	text-decoration:underline;
	}
.pan .post{
	float:none;
	}
	@media only screen and (max-width: 900px) {
		.pan{
			font-size:		0.85em;
            line-height: 120%;
    		word-break :break-all;
			padding: 0;
            margin:	10px auto;
			}
		}
	@media only screen and (max-width: 767px) {
		.pan{
            font-size:		0.8em;
            margin:	15px auto;
			}
		}



/* ---------------------------------------------------------------------------------------------

　   見出し

--------------------------------------------------------------------------------------------- */

h2{
    font-size: 1.8rem;
    margin-bottom: 1rem;
    }
h3{
    font-size: 1.6rem;
    margin-bottom: 1rem;
    }
h4{
    font-size: 1.4rem;
    margin-bottom: 1rem;
    }
h5{
    font-size: 1.2rem;
    margin-bottom: 1rem;
    }

h2,
h3,
h4,
h5{
    color: #35aacd;
	font-weight: bold;
    }

	@media only screen and (max-width: 767px) {
        h2{
            font-size: 1.5rem;
            }
        h3{
            font-size: 1.4rem;
            }
        h4{
            font-size: 1.3rem;
            }
        }
	@media only screen and (max-width: 520px) {
       h2{
            font-size: 1.4rem;
            }
        h3{
            font-size: 1.3rem;
            }
        h4{
            font-size: 1.2rem;
            }
        }
	@media only screen and (max-width: 460px) {
        h2{
            font-size: 1.3rem;
            }
        h3{
            font-size: 1.2rem;
            }
        h4{
            font-size: 1.1rem;
            }
        h5{
            font-size: 1.1rem;
            } 
        }
	@media only screen and (max-width: 320px) {
        h2{
            font-size: 1.2rem;
            }
        h3{
            font-size: 1.2rem;
            }
        h4{
            font-size: 1.1rem;
            }
        h5{
            font-size: 1.1rem;
            } 
        }

h2,h3,h4{
	clear:both;
	float: none;
	}
h2::after ,h3::after ,h4::after {
	content: " "; 
	display: block;
	clear: both;
	}



/*----------

　タイトルの下側に線

----------*/
.ttl_bdr_bottom{
    color: #35aacd;
	border-bottom: solid 1px #35aacd;
	font-weight: bold;
	line-height: 150%;
	padding-bottom: 0.5rem;
	margin-bottom: 1.5rem;
	position: relative;
	float: none;
	clear: both;
	}
	@media only screen and (max-width: 767px) {
		.ttl_bdr_bottom{
			padding-bottom: 0.35rem;
			margin-bottom: 1rem;
			}
		}
	@media only screen and (max-width: 400px) {
		.ttl_bdr_bottom{
			padding-bottom: 0.25rem;
			}
		}


/*----------

　タイトルの左側に縦線

----------*/
.ttl_bdr_left{
    color: #35aacd;
    font-weight: bold;
	margin-top: 1rem;
    margin-bottom: 1.5rem;
	line-height: 130%;
	padding: 0 0 0 1rem;
	border-left: 3px solid #35aacd;
    clear:both;
	float: none;
	}
.ttl_bdr_left::after {
	content: " "; 
	display: block;
	clear: both;
	}


/*----------

　タイトルの両端に横線

----------*/
.ttl_bdr_bothside{
    color: #35aacd;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 3rem;
    text-align: center;
    clear:both;
	float: none;
	font-weight: bold;
	}
.ttl_bdr_bothside::before,
.ttl_bdr_bothside::after {
    border-top: 1px solid #35aacd;
    content: "";
    width: 5rem; /* 線の長さ */
}
.ttl_bdr_bothside::before {
    margin-right: 0.5rem; /* 文字の右隣 */
}
.ttl_bdr_bothside::after {
    margin-left: 0.5rem; /* 文字の左隣 */
	content: " "; 
	display: block;
	clear: both;
	}
	@media only screen and (max-width: 767px) {
		.ttl_bdr_bothside{
			margin-bottom: 2rem;
			}
		}

/*----------

　タイトルの右側に横線

----------*/
.ttl_bdr_right{
    color: #35aacd;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    clear:both;
	float: none;
	font-weight: bold;
    margin-bottom: 15px;
    }
.ttl_bdr_right:after {
    border-top: 1px solid #35aacd;
    content: "";
    -webkit-box-flex:1;
	-ms-flex-positive:1;
	flex-grow:1;
	display: block;
	clear: both;
    }
.ttl_bdr_right:after {
    margin-left: 0.5rem;
    }



/* ---------------------------------------------------------------------------------------------

　   2列・3列カラム

--------------------------------------------------------------------------------------------- */

.column2,
.column3,
.column4{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	justify-content:space-between;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	}

.column2 .inner{
	width: 48%;
	margin-top: 0;
    margin-bottom:  12px;
	}
.column2 .inner .ttl{
	color:			#35aacd;
    font-size: 1.6em;
	margin: 0;
    line-height: 120%;
	}
.column2 .inner .price{
    font-size: 2.4em;
    line-height: 100%;
    }
.column2 .inner .price span{
    font-size: 0.5em;
    }

.column2 .inner .tx{
    line-height: 120%;
    }

.column3 .inner{
	width: 28%;
    margin-top: 8px;
    margin-bottom: 8px;
	}

.column4 .inner{
	width: 23%;
    margin-top: 8px;
    margin-bottom: 8px;
	}

	@media only screen and (max-width: 800px) {
		.column2 .inner{
			width: 45%;
			}
		.column3 .inner{
			width: 45%;
			}
        .column4 .inner{
			width: 45%;
			}
		}
	@media only screen and (max-width: 600px) {
		.column2{
			display: block;
			justify-content: center;
			}
		.column2 .inner{
			width:100%;
			}
		}
	@media only screen and (max-width: 320px) {
		.column2 .inner .ttl{
			font-size: 14px;
			}
		}

/* ---------------------------------------------------------------------------------------------

　   ボックス

--------------------------------------------------------------------------------------------- */

/*デフォルト*/
.box{
    display: inline-block;
	border-radius: 5px;
	padding: 15px 20px;
    margin: 8px 0;
	}
.box p{
    word-break: break-all;
	}
.box.dash{
	border: dashed 1px #35aacd;
	}
.box.gr{
	background-color: #E2ECDF;
	}
	@media only screen and (max-width: 767px) {
        .box{
            padding: 12px 15px;
            }
		}

/*数値表記用*/
.box.point{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    border-radius: 0;
	padding: 0;
}
.box.point .box_heading{
    text-align: center;
    background-color: #D6EFF1;
    padding: 5px 15px;
    border-radius: 5px 0 0 5px;
}
.box.point .box_body{
    text-align: left!important;
    border: solid 2px #D6EFF1;
    padding: 5px 15px;
     border-radius: 0 5px 5px 0;
}


/* ---------------------------------------------------------------------------------------------

　   table

--------------------------------------------------------------------------------------------- */

/*----------

　テーブル 実線

----------*/
table.tbl_border{
	width:100%;
	table-layout: fixed;
	font-size: 1.1em;
	margin:5px 0 30px 0!important;
	border-collapse:collapse;
	}
table.tbl_border th{
    align-items: center;
	vertical-align: middle;
    word-break:keep-all!important;
    word-wrap: normal;
    font-weight: normal;
    color: #35aacd;
    width: 25%;
    }
table.tbl_border td{
	vertical-align: middle;
    word-break: break-all!important;
    word-wrap: break-all!important;
    width: 75%;
    }

table.tbl_border.base{
	width:100%;
	table-layout: fixed;
	border-top:1px solid #cccccc;
	border-left:1px solid #cccccc;
	margin:5px 0 30px 0!important;
	border-collapse:collapse;
	}
table.tbl_border.base th{
    background:#F7F7F7;
	text-align:center;
	padding:10px;
	border-bottom:1px solid #cccccc;
	border-right:1px solid #cccccc;
	word-break: break-all!important;
	}
table.tbl_border.base td{
	padding:12px;
	border-bottom:1px solid #cccccc;
	border-right:1px solid #cccccc;
	}

table.tbl_border.base{
    width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	}


/*----------

　テーブル 左右の線 無し

----------*/

table.tbl_border.solid{
	border-top:1px solid #cccccc;
    margin:5px 0 30px 0!important;
	}
table.tbl_border.solid th{
	text-align:center;
	padding:30px 12px;
	border-bottom:1px solid #cccccc;
	}
table.tbl_border.solid td{
	padding:30px 12px;
	border-bottom:1px solid #cccccc;
	}




/* ---------------------------------------------------------------------------------------------

　   list

--------------------------------------------------------------------------------------------- */

/*リスト*/
ul.list_circle{
    font-size: 1.1em;
}
ul.list_circle li{
    margin-left: 1em;
    text-indent: -1em;
    margin-top: 0.5em;
}
ul.list_circle li::before{
    content: '●';
    color: #35aacd;
}

/* olのスタイル */
ol.list_circle {
  margin: 0;
  padding: 0;
  list-style: none; /* デフォルトの数字を非表示に */
  counter-reset: li;
}

/* ol内のliのスタイル */
ol.list_circle li {
  position: relative;
  font-size: 16px;
  padding-left: 1.5em;
  line-height: 1.5;
}

/* 2つ目以降のliにmargin-topを指定 */
ol.list_circle li:not(:first-child) {
  margin-top: 0.5em;
}

/* 数字のスタイル */
ol.list_circle li::before {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  left: 0;
  top: 2px; /* 数字のY軸線上の位置を調整 */
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #35aacd;
  font-size: 12px;
  color: #fff;
  line-height: 20px;
  text-align: center;
}



/* ---------------------------------------------------------------------------------------------

　   TEX

--------------------------------------------------------------------------------------------- */
.tex {
	width: 100%;
	}
.tex:after{
	content: " "; 
	display: block;
	clear: both;
	}
.tex p{
	font-size: 1.1em;
	}
.tex p,
.tex table{
	line-height: 200%;
	}
.content a,
.tex a{
	text-decoration:underline;
	}
.content a:hover,
.tex a:hover{
	text-decoration:none;
	}
.content img,
.tex img{
	border: 0;
	max-width: 100%;
	height: auto;
	}
.content img a,
.tex img a{
	border: 0;
	}
.content a:hover img,
.tex a:hover img{
	opacity:0.75;
	filter:alpha(opacity=75);
	-ms-filter: "alpha( opacity=75 )";
	}
	@media only screen and (max-width: 767px) {
		}
	@media only screen and (max-width: 520px) {
        .tex .tx{
            font-size: 0.95em!important;
            font-weight: normal;
            }
		}

/*赤色文字*/
.red{
	color:#E90206;
	font-weight: bold;
	}

.tiny{/*小さい文字*/
    font-size: 0.85em!important;
    margin: 5px 0;
    word-break: break-all;
}
	@media only screen and (max-width: 767px) {
        .tiny{
            font-size: 0.75em!important;
            line-height: 150%!important;
            margin-top: 8px;
            }
        .box .tiny{
            margin: 0;
            }
		}
	@media only screen and (max-width: 400px) {
        .tiny{
            font-size: 0.7em!important;
            margin-top: 6px;
            }
		}



/* ---------------------------------------------------------------------------------------------

　   フロート設定

--------------------------------------------------------------------------------------------- */

img.aligncenter {
    display:		block;
    margin-left:	auto;
    margin-right:	auto;
	clear:			none;
	}
img.alignright {
    margin-left:	1em;
    margin-right:	0;
    margin-bottom:	1em;
    display:		inline;
	clear:			none;
	}
img.alignleft {
	margin-left:	0;
	margin-right:	1em;
	margin-bottom:	1em;
	display:		inline;
	clear:			none;
	}
img.alignnone {
    margin-left:	0;
    margin-right:	0;
    margin-bottom:	1em;
	clear:			none;
	}
.alignright {
	float:			right;
	}
.alignleft {
	float:			left;
	}
.aligncenter {
	float:			none;
	clear: both;
	text-align: center;
	margin-left:	auto;
	margin-right:	auto;
	}
	@media screen and (max-width: 900px){
        img.alignright,
        img.alignleft,
        img.alignnone,
        img.aligncenter {
            display:		block;
            margin-left:	auto;
            margin-right:	auto;
            clear:			both;
            }
        .alignright {
            float:			none;
            }
        .alignleft {
            float:			none;
            }
        .aligncenter {
            clear:			both;
            display:		block;
            margin-left:	auto;
            margin-right:	auto;
            }
        }



/* ---------------------------------------------------------------------------------------------

　   お知らせ

--------------------------------------------------------------------------------------------- */

.entry{
	width: 100%;
	margin: 0 0 100px 0;
	}
	@media only screen and (max-width: 767px) {
		.entry{
			width: 100%;
            margin: 0 0 50px 0;
			}
		}


/*----------

　カテゴリー（一覧）ページ

----------*/

/*エントリータイトル*/
.entry .entry_ttl{
    font-size: 2em;
    border-bottom: 1px solid #35aacd;
    padding-bottom: 8px;
    margin-bottom: 12px;
	}
.entry .entry_ttl a{
    text-decoration: none;
	}
.entry .entry_ttl a:hover{
    text-decoration: none!important;
	color: #35aacd;
	}
/*日付*/
.entry .date{
	display: block;
	color: #35aacd;
	font-size: 0.9em;
	line-height: 100%;
	margin: 0 0 8px 0;
	}
.entry .tx {
	margin-top: 18px;
    line-height: 200%;
	}
.entry .tx:after {
	content: " "; 
	display: block;
	clear: both;
	}
	@media only screen and (max-width: 767px) {/* スマホ幅 */
        /*エントリータイトル*/
        .entry .entry_ttl{
            font-size: 1.4em;
            padding-bottom: 6px!important;
            margin-bottom: 12px;
            }
		.entry .tx{
			margin: 20px 0px 20px 0px;
			padding: 0px;
			}
		}
	@media only screen and (max-width: 520px) {
		.entry .date{
            font-weight: normal;
			}
        /*エントリータイトル*/
        .entry .entry_ttl{
            padding-bottom: 15px;
            }
		}
.entry .tx a {
	color: #35aacd;
	text-decoration: none;
	}
.entry .tx a:hover {
	color: #35aacd;
	text-decoration: underline;
	}


/* ---------------------------------------------------------------------------------------------

　   「このページを編集する」ボタン

--------------------------------------------------------------------------------------------- */

.postmetadata a{
	margin: 5px 0 50px 0;
	padding: 12px 22px 14px 22px;
	color: #ffffff;
	display: inline-block;
	background-color: #35aacd;
	border-radius: 3px;
    font-family: 'Noto Sans JP', sans-serif;
	text-decoration: none;
	}
.postmetadata a:hover{
	opacity: .8;
	}
	@media only screen and (max-width: 767px) {
			.postmetadata a{
				margin: 10px 0;
				}
			}
	@media only screen and (max-width: 600px) {
			.postmetadata a{
				margin: 5px 0;
				padding: 5px 17px 3px 15px;
				}
			}



/* ---------------------------------------------------------------------------------------------

　   ページネーション スタイル

--------------------------------------------------------------------------------------------- */

.pagenation {
	font-size: 0.85em;
    margin: 1em 0;
	padding: 10px 20px 80px 0px;
	display:block;
	clear:both;
	}
.pagenation:after,
.pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
	}
.pagenation ul {
    margin: 0;
	}
.pagenation li {
    float: left;
    list-style: none outside none;
    margin-left: 5px;
	}
.pagenation li:first-child {
    margin-left: 0;
	}
.pagenation li.active {
	background-color: #cccccc;
    border:1px solid #cccccc;
	color:#fff;
	font-weight: bold;
    border-radius: 3px;
    cursor: not-allowed;
    padding: 10px 18px 10px 18px;
	}
.pagenation li a {
    border:1px solid #cccccc;
	border-radius: 3px;
	color: #777;
    display: block;
    padding: 10px 18px 10px 18px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
	}
.pagenation li a:hover {
    background-color: #cccccc;
    color: #FFFFFF;
    opacity: 0.8;
    -webkit-transition-duration: 500ms;
	-moz-transition-duration: 500ms;
	-ms-transition-duration: 500ms;
    -o-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-property: all;
	-moz-transition-property: all;
	-ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: ease;
	-moz-transition-timing-function: ease;
	-ms-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
	}
	@media only screen and (max-width: 650px) {
			.pagenation{
				padding: 10px 20px 40px 0px;
				}
			.pagenation li a,
			.pagenation li.active{
				padding: 5px 10px;
				}
			}



/* ---------------------------------------------------------------------------------------------

　   メールフォーム

--------------------------------------------------------------------------------------------- */

.form{}
.form table th{
	padding: 20px;
	width: 30%;
	}
.form table td{
	padding: 20px;
	width: 70%;
	}

.form .wpcf7-text,
.form .wpcf7-email,
.form .wpcf7-textarea,
.form .wpcf7-date{
	border:solid 1px #ccc;
	border-radius: 3px;
	padding: 10px 10px;
	font-size: 100%;
	}

.form .wpcf7-select{
	border:solid 1px #ddd;
	border-radius: 3px;
	padding: 5px 10px;
	font-size: 100%;
	}

.select_menu{
	margin-bottom: 1.2rem;
	}

.select_menu .wpcf7-select{
	margin-bottom: 0.5rem;
	}

.form .wpcf7-acceptance .form-submit{
    border:solid 1px #ccc;
    }

.form input.wpcf7-submit{
	background: #fff;
	border: solid 1px #35aacd;
	color: #35aacd!important;
	font-size: 1.3em;
	font-weight: normal;
	border-radius: 50px;
	margin: 30px auto 20px auto;
	padding: 12px 20px;
	width: 50%;
	display: block;
    text-align: center;
	}
.form input.wpcf7-submit:hover{
	background: #35aacd;
	color: #fff!important;
	border: solid 1px #35aacd;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	}
.form input.wpcf7-submit:active{
	background: #35aacd;
	color: #fff;
	}

/*リンク*/
.form a{
	color: #35aacd;
	font-weight: bold;
	text-decoration: underline;
	}
.form a:hover{
	text-decoration: none;
	}

/*必須印*/
.form em{
	background: #d9534f;
	border-radius: 2px;
	color: #fff;
	font-size: 12px;
	font-style: normal;
	font-weight: bold;
	padding: 3px 6px  4px 6px;
	margin-left: 6px;
	}

.form .tiny{
	line-height: 160%!important;
	}
.form .tiny.red{
	font-weight: bold;
	margin: 0!important;
	}
	
/* CF7チェックボックスとラジオボタンを縦並びに */
span.wpcf7-list-item {
margin-top:5px;
display: block;
}

	@media only screen and (max-width: 900px) {
		.form table th{
			width: 20%!important;
			}
		.form table td{
			width: 80%!important;
			}
		}
	@media only screen and (max-width: 767px) {
		.form .radio_btn{
			display: block;
			}
		.form table{
			font-size:0.95em;
			}
		.form table th{
            display: block;
			padding: 15px 5px 5px 5px!important;
			width: 100%!important;
			border-bottom: none!important;
            text-align: left!important;
			}
		.form table th br{
            display: none!important;
			}
		.form table td{
            display: block;
			padding: 5px 5px 15px 5px!important;
			width: 100%!important;
			/*border-bottom:none!important;*/
			}
        .form input.submit_button,
        .form #div_btn input.bt{
            font-size: 1.1em;
            margin: 20px auto;
            padding: 8px 20px;
            width: 90%;
            }
        /*必須印*/
		.form em{
			font-size: 10px;
			margin-left: 2px;
			padding: 2px 4px  2px 4px;
            position: relative;
            top: -2px;
			}
		}



/* ---------------------------------------------------------------------------------------------

　   メールフォーム

--------------------------------------------------------------------------------------------- */

.page_message__wrap{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3rem;
	}

.page_message__wrap .ph{
	width: 50%;
	}
.page_message__wrap .tx{
	width: 46%;
	}


/*キャッチコピー*/
.page_message__wrap .catch{
	margin-top: 3rem;
	}
.page_message__wrap .catch p{
	font-size: 190%;
	font-weight: bold;
	line-height: 170%;
	}

/*概要文*/
.page_message__wrap .note{
	margin: 2rem 0 2rem 0;
	}
.page_message__wrap .note p{
	font-size: 110%;
	font-weight: bold;
	line-height: 200%;
	}

	@media only screen and (max-width: 1020px) {
		.page_message__wrap .catch p{
			font-size: 175%;
			line-height: 160%;
			}
		}
	@media only screen and (max-width: 900px) {
		.page_message__wrap{
			display: block;
			}
		.page_message__wrap .ph{
			width: 100%;
			}
		.page_message__wrap .tx{
			width: 100%;
			}
		}
	@media only screen and (max-width: 767px) {

		/*キャッチコピー*/
		.page_message__wrap .catch{
			margin-top: 2rem;
			}
		.page_message__wrap .catch p{
			font-size: 150%;
			}
		/*概要文*/
		.page_message__wrap .note{
			margin: 0.8rem 0 1.5rem 0;
			}
		.page_message__wrap .note p{
			line-height: 170%;
			}
		}
	@media only screen and (max-width: 620px) {
		.page_message__wrap .note br{
			display: none;
			}
		}
	@media only screen and (max-width: 540px) {
		.page_message__wrap{
			margin-bottom: 2rem;
			}
		/*概要文*/
		.page_message__wrap .note{
			margin: 1.5rem 0 1.5rem 0;
			}
		.page_message__wrap .note p{
			font-size: 100%;
			}
		}
	@media only screen and (max-width: 480px) {}
	@media only screen and (max-width: 360px) {
		/*キャッチコピー*/
		.page_message__wrap .catch{
			margin-top: 1.5rem;
			}
		.page_message__wrap .catch p{
			font-size: 140%;
			}
		/*概要文*/
		.page_message__wrap .note{
			margin: 1rem 0 1rem 0;
			}
		.page_message__wrap .note p{
			line-height: 150%;
			}
		}

/* ---------------------------------------------------------------------------------------------

　   メッセージ

--------------------------------------------------------------------------------------------- */
.page_message__wrap .me_box{
	width: 46%;
	}
@media only screen and (max-width: 900px) {
.page_message__wrap .me_box{
			width: 100%;
}
.page_message__wrap .me_box img{
margin: 30px 0
}

.page_message__wrap .me_br{
margin-top: 20px
	}
}

/* ---------------------------------------------------------------------------------------------

　   事業案内

--------------------------------------------------------------------------------------------- */
.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid #35aacd;
  border-bottom: 0;
	margin: 0 auto
}
/* 等分
---------------------------------------------------------------------------*/
.box33>div,
.box33_products>div{
    box-sizing: border-box;
		margin-top: 20px;
}
.box33>div img,
.box33_products>div img{
    width: 100%;
}
.box33 .note,
.box33_products .note{
	margin: 1rem 0;
	}
.box33 .note p,
.box33_products .note p{
	font-size: 120%;
	font-weight: bold;
	line-height: 200%;
	color: #35aacd;
}
.box33_products{
display: flex;
flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
.box33{
display: flex;
flex-wrap: wrap;
}
.box33>div{
width: calc(33.3333% - 40px * 2 / 3);
margin-right: 40px;
}
.box33_products>div{
width: calc(33.3333% - 40px * 2 / 3);
margin: 0 40px 40px 0;
}
.box33>div:nth-child(3n),
.box33_products>div:nth-child(3n){
  margin-right: 0;
}
}
@media screen and (max-width: 767px) {
.box33>div{
padding: 0;
margin:0 auto 40px auto;
width:80%
}
.box33_products>div{
width: calc((100% - 40px) / 2);
margin: 0 40px 40px 0;
}
.box33_products>div:nth-child(2n){
  margin-right: 0;
}
}

/* ボックス*/
.box_nuri {
padding: 2em;
margin: 2em 0 0 0; 
background: #ededed;/*背景色*/
overflow: hidden;
clear: both;
}
.box_nuri p,
.box_waku p{
margin: 0; 
padding: 0;
}
.box_waku {
padding: 2em;
margin: 1em 0;
border: 1px solid #35aacd;
overflow: hidden;
clear: both;
}
.box_waku p.title{
font-size: 120%;
font-weight: bold;
line-height: 200%;
color: #35aacd;
padding: 20px 0 10px 0
}
.box_waku img{
width: 100%;
height: auto;
margin: 0; 
padding: 0;
}
@media screen and (min-width: 901px) {
.box_waku p.title{
padding: 0 0 10px 0
}
.box_waku img{
width: 30%;
padding-right: 40px;
margin: 0; 
}
}

/* ---------------------------------------------------------------------------------------------

　   製品紹介　商品

--------------------------------------------------------------------------------------------- */

.page_products__wrap{
width: 100%;
}

.page_products__wrap a[href*=".pdf"]:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 25px;
	height: 34px;
	margin-right: 10px;
	background-image: url(../img/pdf.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 25px auto;
}
@media screen and (min-width: 768px) {
.page_products__wrap{
width: 70%;
margin: 0 auto
}
}

/*ギャラリー
---------------------------------------------------------------------------*/
.gallery { /** ギャラリーを囲むボックス **/
width: 100%;
margin-bottom: 20px !important;
overflow: hidden;
display:-webkit-box;
display:-moz-box;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}
.gallery br {display: none;} 
.gallery-item { /** 画像共通のスタイル **/
float: left;
margin-bottom: 0 !important;
}
.gallery-icon { /** 画像を囲む dt のスタイル **/
text-align: center;
}
.gallery-icon img {
width: 100%;
height: auto;
margin-bottom: 10px !important;
}
.gallery-caption,
.wp-caption-text { /** キャプション **/
color: #35aacd;
font-size: 1em;
margin: 0 0 20px;
text-align: center;
}
.gallery-columns-1 .gallery-item { /** カラムなし **/
width: 100%;
margin-right: 0;
}
.gallery-columns-2 .gallery-item { /** 2カラム **/
width: 48%;
margin: 0 1%;
}
.gallery-columns-3 .gallery-item { /** 3カラム **/
width: 31.33333%;
margin: 0 1%;
}
.gallery-columns-4 .gallery-item { /** 4カラム **/
width: 23%;
margin: 0 1%;
}
.gallery-columns-5 .gallery-item { /** 5カラム **/
width: 18%;
margin: 0 1%;
}

@media (max-width:767px){
/* 640px以下用の記述 */
.gallery-columns-3 .gallery-item{
width: 48%;
margin: 0 1%;
}
.gallery-columns-5 .gallery-item {
width: 31.33333%;
margin: 0 1%;
}
}

/*改行
---------------------------------------------------------------------------*/
.hidden-pc {
    display: none;
}

@media screen and (max-width: 767px) {
    .hidden-pc {
        display: block;
    }

    .hidden-sp {
        display: none;
    }
}