@charset "utf-8";
/**********************************
Theme Name: simple
Theme URI: http://inc88.com/
Description: レスポンシブデザイン無料テーマ
Version: 1.1.1
Author: Tommy
Author URI: http://inc88.com/

■全体定義
■クラス定義
■動画レスポンシブ
■画像系
■リンク・パンくず・カテゴリーリンク
■ヘッダー
■コンテンツ
■各サイト個別CSSエリア
■見出し
■カテゴリーリンクボタン
■ページ送り
■サイドバー
■フッター
■widht 768px以上
■widht 1000px以上
**********************************/
/*--- リセット ------------------*/
* {margin: 0;padding: 0;}
ul, ol {list-style: none;}
img {vertical-align: middle;border: 0;}
button {font-size: 100%;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content:none;
}

/*--- 全体定義 ------------------*/
html {
	font-family: Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
	font-size : 100%;
	line-height : 1.5;
	background: #fdfdff;
	color: #333;
}

body {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
}

/*--- クラス定義 ----------------*/
.center {text-align: center;clear: both;}
.wp-caption {text-align: center;}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.yellow{
	background: rgba(0,0,0,0) linear-gradient(transparent 60%,#ff0 0) repeat scroll 0 0;
	font-weight:bold;
	color: #595959;
}
.red{
	color:#ff0000;
	font-size:110%;
}
.bold{font-weight: bold;}
table{
	border-collapse: collapse;
	border-top:1px solid #333;
	border-left:1px solid #333;
}
th,td{
	padding:2px 5px;
	border-bottom:1px solid #333;
	border-right:1px solid #333;
}
th{font-weight:normal;}

/*--- 動画レスポンシブ --------*/
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin: 0 auto 24px 0;
}
.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*--- 画像系 --------------------*/
img {max-width: 100%!important;height: auto;}
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
/*--- リンク・パンくず --------------------*/
a {
	color: #1122cc;
	text-decoration:none;
}
a:hover {color: #c03;}

#post-content a:before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f35d";
	margin-right: 0.3em;
}
/*--- パンくず ----*/
.pankuzu {
	width:100%;
	background:#f5f5f5;
	padding:5px 10px;
	margin:1em 0;
	font-size:12px;
	border-radius: 10px;
    box-sizing: border-box;
}
.pankuzu ol{
	white-space:nowrap;
}
.pankuzu ol li{
	display: inline-block;
}
.pankuzu ol li a{
	color:#666;
}
.pankuzu ol li a.item-link:after{
	content: '|';
	padding:0 5px 0 5px;
}

/*--- カテゴリーリンク ----*/
.cat_tag {
	margin-bottom: 24px;
	padding: 0 0 12px 0;
	text-align: left;
	border-bottom: 1px dashed #ccc;
	word-break: keep-all;
	line-height: 2em;
}
.cat_tag a {
	color: #fff;
	background-color: #444;
	margin: 0 0.2em 0 0;
	padding: 3px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	text-decoration: none;
}
.cat_tag a:hover {color: #ffd700;}

/*--- ヘッダー ------------------*/
header {
	width: 100%;
	border-top: 5px solid #3cb371;
}
header .hgroup {
	max-width: 960px;
	margin: 0 auto;
	padding: 1em 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

header #rogo{
	width:100%;
	font-size:180%;
	font-weight:bold;
	color:#000;
	line-height: 1.2;
	margin: 0 0 0.5em;
}
header #rogo a{
	color:#000;
}
header #rogo span{
	display:block;
	font-size:60%;
	font-weight:normal;
	color:#666
}
header #caption{
	width:100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
header #caption .bt{
	background:#000;
	margin-right:20px;
	text-align:center;
}
header #caption .bt a{
	color:#fff;
	display: block;
	font-weight:bold;
	padding:12px 20px;
}
header #caption .h-contact{
	
}
header #caption .h-contact .h-mail{
	background:#32cd32;
	text-align:center;
}
header #caption .h-contact .h-mail a{
	color:#fff;
	display: block;
	padding: 5px;
	font-weight:bold;
	font-size: 80%;
}
header #caption .h-contact .h-tel{
	font-size:120%;
}
header nav ul{
	max-width: 960px;
	margin: 0 auto;
	padding: 1em 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
header nav ul li{
	width: calc(100% / 2);
    text-align: center;
    font-size: 100%;
    font-weight: bold;
    border-left: 1px solid #666;
    border-bottom: 5px solid #3cb371;
    box-sizing: border-box;
}
header nav ul li:nth-child(even){
	border-right: 1px solid #666;
}
header nav ul li a{
	color:#666;
	display:block;
	padding:5px 0;
}

.sub-title{
	border-top: 1px solid #3cb371;
    border-bottom: 1px dotted #cdcdcd;
}
.sub-title h1{
	max-width: 960px;
    margin: 0 auto;
    padding: 1em;
    text-align: center;
}
.top-img {
	position: relative;
	width: 100%;
	/* 縦横比を「横 / 縦」で指定 */
	aspect-ratio: 2530 / 1184; 
	/* 背景画像の設定 */
	background-image: url('./images/top-img.avif');
	background-size: cover;
	background-position: center;
	margin: 0 0 2em;
}
/* 文字の配置 */
.top-img h1 {
	position: absolute;
	left: 0;
	bottom: 50px;       /* 下から20pxの位置に固定 */
	width: 100%;        /* 背景を横いっぱいに広げる */
	margin: 0;          /* デフォルトの余白をリセット */
	padding: 15px;    /* 文字の上下に程よい余白を持たせる（お好みで調整） */
	background-color: rgba(0, 0, 0, 0.5); /* 黒透過背景 */
	color: #fff;        /* 文字色を白に（視認性確保のため） */
	font-size: 120%;
	/* 文字を左右中央に配置するためのFlexbox設定 */
	display: flex;
	justify-content: center; 
	align-items: center;
	text-align: center; /* 複数行になった場合の保険 */
	box-sizing: border-box;
}
/*--- コンテンツ ----------------*/
article, section{
	max-width:960px;
	padding:0 10px;
	margin:0 auto 2em;
}
article p, section p{
	margin:0 0 1em;
}
article h1, article h2, section h2{
	font-size: 150%;
	padding: 1rem;
	border-top: 6px double #000;
	background: #eafff4;
	margin:0 0 1em;
}
.flex2{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	padding: 0 0 3em;
	box-sizing: border-box;
}
.flex2 .img, .flex2 .text{
	width:100%;
	margin:0 0 1em;
}
.reverse{
	flex-direction: row-reverse;
}
.flex2 h3{
	background: #3cb371;
    color: #fff;
    padding: 0.5rem 1rem;
    margin: 0 0 1em;
    border-radius: 7px;
}
.flex2 .bt{
	text-align:center;
}
.flex2 .btn,
.flex2 a.btn,
.flex2 button.btn {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
.flex2 a.btn-flat {
  overflow: hidden;
  padding: 1rem;
  color: #fff;
  border-radius: 0;
  background: #000;
}

.flex2 a.btn-flat span {
  position: relative;
}

.flex2 a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 30px;
  width: 150%;
  height: 500%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
  transform: translateX(-98%) translateY(-70%) rotate(135deg);
  background: #fff100;
}

.flex2 a.btn-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
  transform: translateX(-9%) translateY(-25%) rotate(135deg);
}
.text-area{
	padding:0 0 1em;
}
.info-list{
	padding:0 0 3em;
}
.info-list li{
	margin: 0 0 1em;
}
.info-list .day{
	max-width: 120px;
	background:#666;
	color:#fff;
	padding:2px 10px;
	display: block;
}
/*--- 会社概要 ----------------*/
.company{
	margin: 0 0 5em;
}
.company dl{
	display: flex;
    flex-wrap: wrap;
    border-bottom:1px dotted #ccc;
}
.company dt{
	width:25%;
	padding: 1em 0;
}
.company dd{
	width:75%;
	padding: 1em 0;
}

/*--- ページ下部のフォームバナー ----------------*/
.contact{
	background: #F2F2F2;
	max-width:750px;
    width: 100%;
    padding: 10px 20px;
    margin: 0 auto;
    box-sizing: border-box;
}
.contact .title{
	text-align: center;
    border-bottom: 1px solid #ccc;
    margin: 0 0 1em;
    padding: 10px 0;
}
.contact .inner-box{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.contact .bt{
	width:100%;
	text-align: center;
	margin: 0 0 10px;
}
.contact .bt a{
	padding: 15px 10px;
    color: #FFF;
    display: inline-block;
    background: #008080;
    min-width: 250px;
    font-size: 120%;
    font-weight: bold;
    border-radius: 6px;
}
.contact .overview{
	width:100%;
	text-align: center;
}
.contact .overview p{
	margin:0;
}
.contact .overview p.tel{
	font-size: 150%;
}
/*--- ページ送り ----------------*/
#page_pn .left {text-align: left;}
#page_pn .right {text-align: right;}
.pager{text-align: center;}
a.page-numbers,.pager .current{
	background: #eee;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px 8px;
	margin: 10px 2px 0 2px;
}
.pager .current{
	background: #444;
	border: 0;
	color: #fff;
}
#comment_box .pager{
	margin: 0 0 2em;
}
/*--- サイドバー ----------------*/

/*--- フッター ------------------*/
footer {
	color: #fff;
	background-color : #444;
}
footer .inner {
	max-width:960px;
	margin: 0 auto;
	padding:1em 10px;
}
footer .inner ul{
	display: flex;
    flex-wrap: wrap;
}
footer .inner ul li{
	margin:0 1em 1em 0;
}
footer .inner a{
	color:#fff;
}
#page-top {
	position: fixed;
	bottom: 40px;
	right: 20px;
	font-size: 12px;
}
#page-top a {
	background: #22ac38;
	text-decoration: none;
	color: #fff;
	width: 100px;
	padding: 10px 5px;
	text-align: center;
	display: block;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #90d59b;
	color: #444;
}
/*--------------問合せフォーム----------*/
input[type="text"], input[type="tel"], input[type="email"], select, textarea{
	border:1px solid #cdcdcd;
	padding: 5px;
	color: #666;
	font-size:16px;
	background:#fff;
	width:100%;
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, select:focus, textarea:focus{
	background:#fffff0 !important;
}
input[type="submit"] {
   -webkit-appearance: none;
}
.wpcf7-validates-as-required{
	background:#fff0f5 !important;
}
input::placeholder, textarea::placeholder{
  color: #808080;
}
.form{
	margin:0 0 4em;
}
.table-bordered {
    border-top: 1px solid #c0c0c0;
    border-left: 1px solid #c0c0c0;
    margin:0 0 15px;
}
.table-striped tbody tr:nth-of-type(2n+1) {
    background-color: none;
}
.table-bordered th {
	background-color: #f8f8ff;
	text-align: left;
	vertical-align: middle;
	font-weight:bold;
}
.table-bordered td, .table-bordered th {
	width: 100%;
	display:block;
    padding:1em;
    line-height: 1.5;
    border-right: 1px solid #c0c0c0;
    border-bottom: 1px solid #c0c0c0;
    box-sizing: border-box;
}
.table-bordered td .name-box{
	width: 100%;
}
.table-bordered td .zip-box{
	width: 120px;
}
.table-bordered td .ken-box{
	width: 180px;
}
.table-bordered td .attention{
	font-size:90%;
	color:#b22222;
	display: block;
	margin: 0 0 5px;
}
.table-contactform7{
	overflow: hidden;
	table-layout: fixed;
	margin:3em auto;
	width:100%;
	font-size: 90%;
}
 
.required-contactform7{
  padding: 5px;
  background: #DE8686;
  color: #fff;
  border-radius: 3px;
  margin-right: 10px;
  font-size: 90%;
}
 
.unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  border-radius: 3px;
  margin-right: 10px;
}
 

.table-contactform7 th.sub-form{
	text-align:center !important;
	background:#e9967a;
}
.table-contactform7 input,
.table-contactform7 select,
.table-contactform7 textarea{
  padding:6px;
  box-sizing: border-box;
}

.text-xs-center{
	text-align:center !important;
	padding: 30px 0 !important;
}
.text-xs-center .btn-success {
    color: #fff;
    background:#228b22;
}

.text-xs-center .btn {
    display: inline-block;
    padding: .375rem 1rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    border-radius: .25rem;
    min-width: 200px;
}
.text-xs-center .btn:hover{
    background:#ff8c00;
    color:#000;
    transition: .4s;
}
.wpcf7-radio .first{
	margin-right:10px;
}

/********** widht 768px以上 *********************************/

@media screen and (min-width : 768px){

/*--- ヘッダー ------------------*/
header #rogo{
	width:50%;
	margin: 0;
}
header #caption{
	width:50%;
	justify-content: end;
}
header nav ul li{
	width: calc(100% / 4);
    font-size: 110%;
    border-left: 1px solid #666;
    border-bottom: 5px solid #3cb371;
}
header nav ul li:nth-child(even) {
    border-right: none;
}
header nav ul li:last-child{
	border-right: 1px solid #666;
}
/*--- コンテンツ ----------------*/
.top-img h1 {
	font-size: 180%;
}
.flex2 .img, .flex2 .text{
	width:49.5%;
}
.info-list .day{
	display: inline-block;
	margin-right: 1em;
}
.contact .bt, .contact .overview{
	width: 49.5%;
}

.table-contactform7{
	width:80%;
}
.table-bordered th {
	width: 35%;
	display: table-cell;
}
.table-bordered td{
	width: 65%;
	display: table-cell;
}
/*--- サイドバー ----------------*/


/*--- フッター ------------------*/


/********** widht 768px end *********************************/

}
