@charset "UTF-8";

/*--------------------------------------------------------------------------------
 *
 *
 * リセット
 *
 *
--------------------------------------------------------------------------------*/
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:inherit; font-size:100%; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html, body { width:100%; height:100%; line-height:1; }
ol, ul { list-style:none; }
blockquote, q {quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }

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

   Clearfix

--------------------------------------------------*/
.cf { zoom:1; } .cf:before,.cf:after { content:""; display:table; } .cf:after { clear:both; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 基本設定
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
html { overflow:auto; }
body { font-family:'Noto Sans Japanese',"メイリオ" , Meiryo , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-serif; font-size:100%; line-height:1.75; font-weight:normal; position:relative; font-size:16px; color:#333 }
@media screen and (max-width:1000px){ body { width:1000px; } }
@media screen and (max-width:768px){ body { width:100%; background:none; font-size:14px; } }
a:link,
a:visited { color:#000; text-decoration:none; transition:.3s ease; }
a:hover,
a:active { color:#333; text-decoration:none; transition:.3s ease; }
img { max-width:100%; height:auto; vertical-align:top; backface-visibility:hidden; }
a:link img,
a:visited img {opacity:1.0; transition:.3s ease; }
a:hover img,
a:active img {opacity: 0.6; transition: .3s ease; }
video::-webkit-media-controls-enclosure { overflow:hidden; }
video::-webkit-media-controls-panel { width: calc(100% + 30px); }

/* ------------------------------小見出し属性------------------------------　*/
h1 , h2 ,h3 ,h4 ,h5 { margin:0; padding:0; line-height:1.4; font-weight:bold; }
h1 { font-size:32px; }
h2 { font-size:28px; }
h3 { font-size:20px; }
h4 { font-size:18px; }
h5 { font-size:16px; }

@media screen and (max-width:768px){
  h1 { font-size:20px; }
  h2 { font-size:20px; }
  h3 { font-size:18px; }
  h4 { font-size:18px; }
  h5 { font-size:16px; }
}
p { padding:0; line-height:2; display:block; }
p:first-child { margin:0; }
ul { margin:0; padding:0; }
li { margin:0; padding:0; }
img { max-width:100%; height:auto; display:block; }
small { font-size:10px; }
b { font-weight:bold; }
ol { list-style-type:decimal; }
ol.kakko { list-style-type:none;counter-increment: cnt; }
ol.kakko li::before {content: "(" counter(cnt) ") ";}
ol.maru { list-style-type:circle; }
ol li > ol {padding-left: 30px}
ol li > ol li > ol {padding-left: 30px}

.pc { display:inline-block!important; }
.sp { display:none!important; }
@media screen and (max-width:768px){
  .pc { display:none!important; }
  .sp { display:inline-block!important; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * ヘッダー
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
header#logo_menu_button { width:100%; height:auto; padding:0; z-index:999; }
header#logo_menu_button ul#logo_menu_button_inner { width:100%; height:auto; margin:0 auto; position:relative; display:flex;/*インライン要素*/ align-items:center; /*上下中央*/ justify-content:flex-end; /*右側に配置*/flex-wrap:wrap; /*折り返す*/ text-align:right; }
header#logo_menu_button ul#logo_menu_button_inner li#logo_area { width:300px; }
header#logo_menu_button ul#logo_menu_button_inner li#logo_area #h1 { position:absolute; top:18px; left:120px; font-size:10px; font-weight:normal; text-align:left; line-height:1.4; }
header#logo_menu_button ul#logo_menu_button_inner li#logo_area #discription { position:absolute; width:100px; font-size:12px; top:14px; left:10px; margin:0; padding:0; line-height:1.6; }
header#logo_menu_button ul#logo_menu_button_inner li#menu_area { width:calc(100% - 500px); padding-right:20px; }
header#logo_menu_button ul#logo_menu_button_inner li#button_area { width:160px; }
header#logo_menu_button ul#logo_menu_button_inner li#button_area a { display:block; background:#000; color:#fff; text-align:center; padding:20px 0; font-weight:normal; font-size:14px; }
header#logo_menu_button ul#logo_menu_button_inner li#button_area a i { margin:0 5px 0 0; }

@media screen and (max-width:768px){
header#logo_menu_button { }
header#logo_menu_button ul#logo_menu_button_inner { width:100%; height:65px; text-align:left; }
header#logo_menu_button ul#logo_menu_button_inner li#logo_area { width:100%; }
header#logo_menu_button ul#logo_menu_button_inner li#menu_area { width:100%; padding-right:0; position:absolute; top:8px;  }
header#logo_menu_button ul#logo_menu_button_inner li#button_area { width:65px; height:65px; margin-right:80px; display:table; }
header#logo_menu_button ul#logo_menu_button_inner li#button_area a { height:100%; font-size:10px; padding:0; line-height:1.4; display:table-cell; vertical-align:middle;}
header#logo_menu_button ul#logo_menu_button_inner li#button_area a i { margin:0 0 0 0; font-size:16px; }
}

.scrolled { position:fixed; background:#fff; box-shadow:0 0 10px rgba(0,0,0,0.1); top:0;}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * グローバルナビゲーション
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

ul.main_menu ,
ul.sub_menu { width:100%; margin:0; padding:0; line-height:1; }
ul.sub_menu { margin-top:8px; }
ul.main_menu li,
ul.sub_menu li { display:inline-block; list-style-type:none; padding-right:20px; }
ul.main_menu li a,
ul.sub_menu li a { color:#000; padding:0; line-height:1; }
ul.main_menu li a { font-size:14px; font-weight:bold; }
ul.sub_menu li a { font-size:12px; font-weight:normal; }
ul.sub_menu li a:before { content:"▶︎"; font-size:10px; color:#ccc; margin-right:5px; }

@media screen and (max-width:768px){
   ul.main_menu li,
   ul.sub_menu li { padding-right:0; width:100%; margin:0; padding:20px 0; border-left:none; border-bottom:1px solid #000; }
   ul.main_menu li a,
   ul.sub_menu li a { width:100%; color:#000; font-weight:normal; text-align:left }
   ul.main_menu li a:before{ content:"▶︎"; font-size:10px; color:#ccc; margin-right:5px; } 

}

/* ------------------------------グローバルナビゲーション（PC）------------------------------　*/
nav#header-nav { clear:both; width:100%; height:auto; margin:0 auto; padding:0; z-index:9998; }
/*チェックボックス等は非表示に*/
.nav-unshown {display:none; }
/* ------------------------------グローバルナビゲーション（モバイル）------------------------------　*/
@media screen and (max-width:768px){
nav#header-nav { width:90%; margin:0 auto; padding-top:20px; border:none; }
/*ヘッダーまわりはご自由に*/
#sp_menu { padding:0px; background:none; top:0; z-index:9998;/*最前面に*/}
#nav-drawer {position:relative; }
/*チェックボックス等は非表示に*/
.nav-unshown {display:none; }
/*アイコンのスペース*/
#nav-open { display:inline-block; z-index:9999;/*最前面に*/ position:absolute; top:0; right:0; width:90px; height:50px; vertical-align:middle; float:right; background:transparent; }
/*ハンバーガーアイコンOpen前*/
#nav-open,
#nav-open span {display:inline-block; transition:all .4s; box-sizing:border-box; }
#nav-open span {position:absolute; left:30%; width:50%; height:2px; background-color:#000; border-radius:4px; }
#nav-open span:nth-of-type(1) { top:16px; }
#nav-open span:nth-of-type(2) { top:24px; }
#nav-open span:nth-of-type(3) { bottom:16px; }
/*ハンバーガーアイコンOpen後*/
#nav-open.active { background-color:#fff; }
#nav-open.active span { background-color:#000; }
#nav-open.active span:nth-of-type(1) {-webkit-transform: translateY(8px) rotate(-315deg); transform: translateY(8px) rotate(-315deg); }
#nav-open.active span:nth-of-type(2) {opacity: 0; }
#nav-open.active span:nth-of-type(3) {-webkit-transform: translateY(-8px) rotate(315deg); transform: translateY(-8px) rotate(315deg); }
/*閉じる用の薄黒カバー*/
#nav-close {display: none;/*はじめは隠しておく*/ position: fixed; z-index:9998; top: 0;/*全体に広がるように*/ right: 0; width: 100%; height: 100%; background:#fff; opacity: 0; transition: .3s ease-in-out; }
/*中身*/
#nav-content {
overflow:auto; position:fixed; top:0; right:0; z-index:9998;/*最前面に*/ width:100%;/*右側に隙間を作る*/ max-width:100;/*最大幅*/ height:100vh; background:#fff;/*背景色*/ transition:.3s ease-in-out;/*滑らかに表示*/ -webkit-transform:translateX(105%); transform:translateX(105%);/*左に隠しておく*/ }
/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close { display: block;/*カバーを表示*/ opacity: .5; }
#nav-input:checked ~ #nav-content {z-index:9998; -webkit-transform: translateX(0%); transform: translateX(0%);/*中身を表示*/ box-shadow: 6px 0 25px rgba(0,0,0,.15); }
}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * パンくずリスト
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

nav#pan { text-align:left; margin:0; padding:0 0 2px 0; }
nav#pan ol { max-width:1000px; margin:0 auto; padding:0; text-align:left;  }
nav#pan ol li { display:inline; list-style-type:none; font-size:12px; color:#a3a3a3; }
nav#pan ol li a { color:#a3a3a3; }
nav#pan ol li:before { content: " > "; }
nav#pan ol li:first-child:before { content:""; }
@media screen and (max-width:768px){
  nav#pan {  }
  nav#pan ol { width:100%; }
  nav#pan ol li { font-size:10px; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * front-page.php
 *
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------FV------------------------------　*/
header#fv { width:100%; height:auto; padding-top:0; background:url(img/fv_bg.jpg) no-repeat 50% 0; background-size:1600px 460px; }
header#fv #inner { width:1000px; height:auto; margin:0 auto; padding:0; position:relative; display:flex; align-items:center; /*上下中央*/ justify-content:center;/*中央に配置*/ flex-wrap:wrap; /*折り返す*/ }
header#fv p { margin:0; padding:0; }
@media screen and (max-width:768px){
  header#fv { width:100%; height:auto!important; background:none!important; }
  header#fv #inner { width:100%; }
}

/* ------------------------------共通------------------------------　*/
main article {  }
main section { width:100%; padding:60px 0; }
main section:first-child { padding:60px 0; }
main section:last-child { padding:60px 0; }
main section:nth-child(even) { background:#f7f7f7; }
main section .inner { width:1000px; margin:0 auto; padding:0; }
@media screen and (max-width:768px) {
  main section { padding:30px 0; }
  main section:first-child { padding:30px 0; }
  main section:last-child { padding:30px 0; }
  main section .inner { width:90%; }
}

main#page {}
main#page h2 { text-align:center; font-size:40px; }
main#page h2:first-child { margin-top:0; }
main#page h2 + p { text-align:center; }
@media screen and (max-width:768px){
   main#page h2 { font-size:26px; margin-top:26px; }
}

main#page h3 { font-size:20px; margin-top:20px; }
@media screen and (max-width:768px){
   main#page h3 { font-size:20px; margin-top:10px; }
}

ul.two_col { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ }
ul.two_col li { width:48%; max-width:360px; margin-top:30px; }
ul.two_col li:nth-of-type(odd) { margin-right:2%; }
ul.two_col li:nth-of-type(even) { margin-left:2%; }
@media screen and (max-width:768px) {
   ul.two_col li { width:100%; }
   ul.two_col li:nth-of-type(odd) { margin-right:1%; }
   ul.two_col li:nth-of-type(even) { margin-left:1%; }
}

ul.three_col { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ }
ul.three_col li { width:31%; max-width:360px; margin-top:30px; padding:0; }
ul.three_col li:nth-child(3n+2) { margin-left:3.5%; margin-right:3.5%; }
@media screen and (max-width:768px) {
   ul.three_col li { width:100%; padding:0; }
   ul.three_col li:nth-child(3n+2) { margin-left:0%; margin-right:0%; }
}

dl.two_col { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ margin:30px 0 0 0; }
dl.two_col dt { width:35%; position:relative; }
dl.two_col dt img { margin:0 auto; }
dl.two_col dd { width:calc(100% - 35%); padding-left:30px; }
dl.two_col:nth-of-type(even) { flex-direction:row-reverse; }
dl.two_col:nth-of-type(even) dd { padding-left:0;padding-right:30px; }
@media screen and (max-width:768px) {
   dl.two_col:nth-of-type(even) dd { padding-right:0; }
   dl.two_col dt { width:100%; max-width:360px; }
   dl.two_col dd { width:100%; max-width:360px; padding-left:0; }
}

dl.table { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ margin-top:30px; }
dl.table dt { width:20%; font-weight:bold; }
dl.table dd { width:calc(100% - 20%); padding-left:30px; }
dl.table dt,
dl.table dd { padding-bottom:20px; padding-top:20px; }
dl.table dt { border-bottom:1px solid #000; }
dl.table dd { border-bottom:1px solid #ccc; }
dl.table p { margin-top:0; }
@media screen and (max-width:768px) {
   dl.table { width:100%; max-width:360px; margin:30px auto 0 auto;}
   dl.table dt { width:100%; border-bottom:none; padding-bottom:0; }
   dl.table dd { width:100%; padding-left:0; padding-top:0; }
}

a.button { display:block; width:100%; margin:30px auto 0 auto; padding:30px 20px; font-size:16px; text-align:center; color:#fff; background:#000; border-radius:5px; animation:bounce 2s ease-in-out forwards; animation-iteration-count:infinite; position:relative; }
a.button:hover { background:#000; color:#fff; }
@media screen and (max-width:768px) {
   a.button { width:100%; margin:15px auto 0 auto; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * page.php
 *
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

header#mv { width:100%; height:auto; padding-top:0; background:#000; background-size:1600px 200px; }
header#mv #inner { width:1000px; height:200px; margin:0 auto; padding:0; position:relative;
display:flex; justify-content:center;/*中央に配置*/ align-items:center; /*上下中央*/ flex-wrap:wrap; /*折り返す*/  }
header#mv h1 { margin:0; padding:0; text-align:center; font-weight:bold; font-size:40px; color:#fff; }
header#mv p { text-align:center; margin:0; color:#fff; }
@media screen and (max-width:768px){
   header#mv { width:100%; height:250px; }
   header#mv #inner { width:100%; height:250px; }
   header#mv h1 { margin:0; padding:0; }
}

/* ------------------------------吹き出しを作る------------------------------　*/
.balloon { margin-top:30px; padding:0; position:relative; }
.balloon:before,.balloon:after { clear:both; content: ""; display: block; }
.balloon figure { width:60px; height:60px; margin:0; padding:0; }
.balloon-image-left {float:left; margin-right:20px; margin-left:0; }
.balloon-image-right {float:right; margin-left:20px; }
.balloon figure img { width:100%; height:100%; border-radius:50%; border:2px solid #000; }
.balloon-image-description { padding:5px 0 0; font-size:10px; text-align:center; }
.balloon-text-right,
.balloon-text-left { position:relative; padding:15px 20px; border-radius:10px; max-width:-webkit-calc(100% - 70px); max-width:calc(100% - 70px); display:inline-block; background:#ffffff; border:2px solid #000; }
.balloon-text-right { float:left; margin-left:10px; }
.balloon-text-left { float:right; margin-right:10px; background:#fff; }
.balloon-text-left p { color:#333; }
.balloon p { margin:0!important; padding:0; font-size:14px; color:#000!important; font-weight:normal!important; }
.balloon p:last-child { margin-bottom:0; }
/* 三角部分 */
.balloon-text-right:before {position:absolute; content: ''; border:10px solid transparent; border-right:10px solid #000; top:15px; left:-20px; }
.balloon-text-right:after {position:absolute; content: ''; border:10px solid transparent; border-right:10px solid #fff; top: 15px; left:-17px; }
.balloon-text-left:before {position:absolute; content: ''; border:10px solid transparent; border-left:10px solid #000; top: 15px; right:-20px; }
.balloon-text-left:after {position:absolute; content: ''; border:10px solid transparent; border-left:10px solid #fff; top:15px; right:-17px; }
.balloon i { font-size:50px; text-align:center; padding:0; }
@media screen and (max-width:768px){
   .balloon { width:100%; max-width:360px; margin-right:auto; margin-left:auto; padding:0; position:relative; }
   .balloon figure { width:60px; height:60px; }
   .balloon figure img { border:1px solid #f5f5f5; }
   .balloon-text-right,.balloon-text-left { max-width: -webkit-calc(100% - 70px); max-width: calc(100% - 70px); }
   .balloon p { font-size:12px; }
}

/* ------------------------------お客様のレビュー------------------------------　*/
dl.voice { width:100%; margin:30px auto 0 auto;
background:#fff; padding:30px; 
display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap; /*折り返す*/ }
dl.voice dt { width:60px; }
dl.voice dt img { border-radius:100vh; }
dl.voice dd { width:calc(100% - 60px); padding-left:20px; }
dl.voice dd p.title { font-weight:bold; font-size:16px; margin-top:0 }
dl.voice dd p.name { margin-top:5px; font-size:12px }
dl.voice dd p.text { margin-top:5px; }
dl.voice dd p { margin:0; }
dl.voice dd a { color:#1c72e8; text-decoration:underline; } 
@media screen and (max-width:768px) {
   dl.voice { width:100%; max-width:360px; padding:20px; }
   dl.voice dt { width:100%; }
   dl.voice dt img { width:80px; height:80px; margin:0 auto; }
   dl.voice dd { width:calc(100% - 0px); padding-left:0; margin-top:20px; }
   dl.voice dd p.title { font-size:16px; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * single.php
 *
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
article { max-width:620px; margin:0 auto; padding:50px 0 }
article p { margin:36px 0; }
@media screen and (max-width:768px){
   article { width:90%; }
   article p { margin:18px 0; }

}

article .ymd { font-size:12px; color:#999; margin:0 }



/* ------------------------------関連記事一覧------------------------------　*/
p.kanren { font-size:16px; margin:60px 0 0 0; padding:0; border-bottom:1px solid #e2e2e2; }
ul.related { margin:0; }
ul.related li { border-bottom:1px dotted #cccccc; padding:20px 0; }
ul.related img { display:block; width:100px; height:100px; float:left; margin:0 20px 0 0; padding:0; }
ul.related a { font-size:10px; font-weight:normal; }
ul.related p { margin:0; padding:0; font-size:10px; }
ul.related p.title a { font-size:14px; }



/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * フッター
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
footer { position:relative; width:100%; margin:0; padding:60px 0 0 0; border-top:1px solid #ccc; }
footer ul { width:1000px; margin:0 auto;
 display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ }
footer ul li:nth-child(1) { width:50%; }
footer ul li:nth-child(2) { width:25%; }
footer ul li:nth-child(3) { width:25%; }
footer ul li p { font-size:12px; margin:0; }
footer ul li:nth-child(2) p,
footer ul li:nth-child(3) p { margin-top:0; line-height:1.8; }
footer ul li p i { margin-right:5px; }
footer ul li img { width:100px; margin:10px 0; }
address { font-size:12px; text-align:center; margin-top:0px; padding:30px 10px; }

@media screen and (max-width:768px){
  footer { padding:30px 0; }
  footer ul { width:90%; margin:0 auto 15px auto; }
  footer ul li:nth-child(1) { width:100%; }
  footer ul li:nth-child(2) { width:50%; margin-top:20px; }
  footer ul li:nth-child(3) { width:50%; margin-top:20px; }
  footer ul li:nth-child(1) p { text-align:center; }
  footer ul li p { font-size:10px; text-align:left; }
  footer ul li img { margin:10px auto; }
  address { font-size:10px; margin-top:15px; padding:0 15px; }
}


/*--------------------------------------------------------------------------------
 *
 * 問い合わせフォーム
 *
--------------------------------------------------------------------------------*/
dl.form{ width:100%; margin:30px auto 0 auto; }
dl.form dt,dl.form dd { padding:30px 0; }
dl.form dt { clear:left; float:left; width:33%; font-size:14px; border-top:1px solid #ccc; }
dl.form dt:first-child { border-top:0; }
dl.form dd { margin-left:33%; border-top:1px solid #ccc; }
dl.form dt:first-child,
dl.form dt:first-child + dd { border-top:0; }
@media screen and (max-width:768px){
   dl.form{ width:100%; }
   dl.form dt,dl.form dd { padding:0; }
   dl.form dt { clear:both; float:none; width:100%; font-size:14px; border-top:1px solid #ccc; padding:20px 0 10px 0; }
   dl.form dd { margin-left:0%; border-top:none; padding-bottom:20px; }
}

/* ------------------------------プレースホルダーの色・サイズ指定------------------------------　*/
input::-webkit-input-placeholder { color:#999999; font-size:14px; }
input:-moz-placeholder { color:#999999; font-size:14px; }
textarea::-webkit-input-placeholder { color:#999999; font-size:14px; }
textarea:-moz-placeholder { color:#999999; font-size:14px; }

/* ------------------------------コンタクトフォーム７------------------------------　*/
div.wpcf7 { display:block; width:100%; margin:0 auto!important; box-shadow:none; background:transparent; }
div.wpcf7 p { padding:0; margin:0; line-height:2; }
div.wpcf7 input, .wpcf7 textarea , .wpcf7 select { width:100%; border:1px solid #dce5eb; padding:20px; font-size:16px; border-radius:2px; background:#f1f5f7; }
div.wpcf7 textarea { height:215px; }
div.wpcf7 select { height:60px; padding:15px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
span.wpcf7-list-item { margin:0!important; }
@media screen and (max-width:768px){
   div.wpcf7 { width:100%; }
   div.wpcf7 p { margin:0; }
}

/* ------------------------------エラー個所をわかりやすく表示------------------------------　*/
.wpcf7 .wpcf7-not-valid { background:#ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip { font-size:80%; }
.wpcf7 .wpcf7-response-output {margin:10px 0 0; padding:8px 35px 8px 14px; text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius:4px; border-radius:4px; }
.wpcf7 .wpcf7-validation-errors { color:#B94A48; background-color:#F2DEDE; border:1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok { color:#3A87AD; background-color:#D9EDF7; border:1px solid #BCE8F1;}
/* 必須赤色表示 */
.wpcf7 .required { color: #000000;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}
select { background:#ffffff; border:1px solid #cccccc; border-radius:3px; color:#0C2245; font-size:14px; height:40px; line-height:30px; text-align:left; text-indent:5px; vertical-align:middle; width:100%; }
.hissu{ background:#cd4a38; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:10px; }
.nini{ background:#777777; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:10px; }

/* ------------------------------送信ボタン------------------------------　*/
div.wpcf7 input[type="submit"] {  }
div.wpcf7 input.wpcf7-submit { -webkit-appearance:none; margin:0 auto; background:none; display:block; font-size:16px; width:100%; height:100px; margin:0 auto; border:2px solid #fff!important; border-radius:5px; color:#fff; background:#000; }
div.wpcf7 input.wpcf7-submit:hover { border:2px solid #fff; background:#333; color:#fff; transition:.3s ease; }

/* ------------------------------チェックボックスのデザイン------------------------------　*/
input[type=checkbox] { display:none; }
.wpcf7-list-item  { padding:10px 0; }
.wpcf7-list-item-label { position:relative; padding:0 20px 0 45px; top:0px; }
.wpcf7-list-item-label:hover:after { border-color:#dce5eb; }
.wpcf7-list-item-label:after,  .wpcf7-list-item-label:before { position:absolute; content:""; display:block; top:50%; }
.wpcf7-list-item-label:after { left:0px; margin-top:-20px; width:36px; height:36px; border:1px solid #dce5eb; border-radius:3px; background:#f1f5f7; z-index:997; }
.wpcf7-list-item-label:before { left:15px; margin-top:-9px; width:5px; height:9px; border-right:3px solid #c1272d; border-bottom:3px solid #c1272d; transform:rotate(45deg); opacity:0; z-index:998; }
input[type=checkbox]:checked + .wpcf7-list-item-label:before { opacity:1; }

input[type=radio] { display:none; }
input[type=radio] + .wpcf7-list-item-label:after { border-radius:100%!important }
input[type=radio] + .wpcf7-list-item-label:before { border:none; width:10px; height:10px; border-radius:5px; background:#102942; left:14px; margin-top:-6px; }
input[type=radio]:checked + .wpcf7-list-item-label:before { opacity:1; }

@media screen and (max-width:768px){
   .wpcf7-list-item  { padding:10px 0; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 *  ブログ機能
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------新着情報------------------------------　*/
ul.post { justify-content:left;/*左に配置*/ }
ul.post li .ymd { font-size:10px; color:#999; }
ul.post li .title { font-size:16px; color:#999; margin-top:10px;  }
ul.post li p { font-size:12px; margin:0; padding:0; }
ul.post img { width:100%; height:200px; object-fit:cover; object-position:50% 0; margin:0 auto; padding:0; font-family:'object-fit:cover; object-position:50% 0;';/*ie対応*/  }
@media screen and (max-width:768px){
   ul.post { justify-content:center;/*中央に配置*/ }
}

/* ------------------------------新着情報------------------------------　*/
ul.post_list { display:-webkit-box; display:-ms-flexbox; display:flex;
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.post_list li { width:19%; margin-top:2%; padding:20px; background:#fff; overflow:hidden; }
ul.post_list li:nth-child(5n+2) { margin-left:1%; }
ul.post_list li:nth-child(5n+3) { margin-left:1%; }
ul.post_list li:nth-child(5n+4) { margin-left:1%; }
ul.post_list li:nth-child(5n+5) { margin-left:1%; }
ul.post_list li p { font-size:12px; margin:0; padding:0; color:#000; }
ul.post_list li p.post_ymd { font-size:10px; color:#999; }
ul.post_list img { width:100%; height:200px; object-fit:cover; object-position:50% 0; margin:0 auto 15px auto; padding:0;
font-family: 'object-fit:cover; object-position:50% 0;';/*ie対応*/  }
ul.post_list li .post_title { font-size:16px; margin:5px 0 0 0; line-height:1.7; }
ul.post_list li .post_title a { color:#000; }
ul.post_list li ul.post-categories { margin:10px 0 0 0; padding:0; }
ul.post_list li ul.post-categories li { position:relative; display:inline-block; width:auto; height:auto; line-height:1; margin:0; padding:5px; background-color:#fff; border:1px solid #ccc; }
ul.post_list li ul.post-categories li a { display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:10px; color:#ccc; }


@media screen and (max-width:768px){
  ul.post_list li { width:100%; max-width:360px; margin-top:6%; margin-left:auto; margin-right:auto; padding:10px 20px ; }
  ul.post_list li:nth-child(5n+2) { margin-left:auto; }
  ul.post_list li:nth-child(5n+3) { margin-left:auto; }
  ul.post_list li:nth-child(5n+4) { margin-left:auto; }
  ul.post_list li:nth-child(5n+5) { margin-left:auto; }
}

/*---ガテゴリーを画像の上に---*/
.relative { position:relative; }
.relative ul.post-categories { margin:0; padding:0; list-style:none; position:absolute; bottom:10px; left:20px;}
.relative ul.post-categories li { position:relative; display:inline-block; width:auto; height:30px; line-height:30px; margin:0; padding:0 1em; background-color:#333; color:#fff; text-decoration:none; -webkit-transition:.2s; transition:.2s; list-style:none; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
.relative ul.post-categories li a { display:block; max-width:300px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:10px; color:#fff; }

/* ------------------------------ページャー------------------------------　*/
#pagenation{text-align:center; margin-top:30px;}
#pagenation #pagenation-list{display:inline-block;}#pagenation:after{content:".";display:block;clear:both;height:0;visibility:hidden;}#pagenation #pagenation-list li{float:left;background:none;list-style:none;padding:0;margin:0 5px 5px 0;}#pagenation #pagenation-list li:last-child{margin-left:0;}#pagenation #pagenation-list a,#pagenation #pagenation-list span{background:none;display:block;margin:0;padding:4px 9px;font-size:12px;line-height:1.5;text-align:center;}#pagenation #pagenation-list .current{background:#DEDEDE;color:#696969;border:1px solid #E3E3E3;}#pagenation #pagenation-list .omit{padding:4px 2px;color:#777777;}#pagenation #pagenation-list li a{color:#333333;border:1px solid #6B6B6B;text-decoration:none;}#pagenation #pagenation-list a:hover{background:#F0F0F0;color:#000000;border:1px solid #121212;text-decoration:none;}


