@charset "UTF-8";


/* ----------------------- TCD Advanced Style -------------------------- */


@font-face {
    font-family: 'design_plus';
    src: url('../fonts/design_plus.eot?v=1.5');
    src: url('../fonts/design_plus.eot?v=1.5#iefix') format('embedded-opentype'),
         url('../fonts/design_plus.woff?v=1.5') format('woff'),
         url('../fonts/design_plus.ttf?v=1.5') format('truetype'),
         url('../fonts/design_plus.svg?v=1.5#design_plus') format('svg');
    font-weight: normal;
    font-style: normal;
}


/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
/*
.post_row { margin-right:-25px; margin-left:-25px; line-height:2.4; }
.post_row:before, .post_row:after { display:table; content:" "; }
.post_row:after { clear:both; }
.post_col, .post_col-2, .post_col-3 { -webkit-box-sizing:border-box; box-sizing:border-box; position:relative; width:100%; min-height:1px; margin-bottom:2em; padding-right:25px; padding-left:25px; float:left; }
@media screen and (min-width: 768px) {
    .post_col-2 { width:50%; }
    .post_col-3 { width:33.33333%; }
}
@media screen and (min-width: 1024px) {
    .post_col-2 { width:50%; }
    .post_col-3 { width:33.33333%; }
}
*/
.post_row {
  line-height:2.4;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -ms-align-items:flex-start; -webkit-align-items:flex-start; align-items:flex-start;
}
.post_col {
  margin-bottom:2em;
  -ms-flex: 1 1 0%; -webkit-flex: 1 1 0%; flex: 1 1 0%;
}
.post_col-2 { margin-right:50px; }
.post_col-3 { margin-right:25px; }
.post_col:last-of-type { margin-right:0; }
@media screen and (max-width: 768px) {
  .post_row { display:block; line-height:2; }
  .post_col-2 { margin-right:0px; }
  .post_col-3 { margin-right:0px; }
}


/* ----------------------------------------------------------------------
 headline - 見出しのスタイル
---------------------------------------------------------------------- */
.post_content .style3a, .post_content .style3b, .post_content .style4a, .post_content .style4b, .post_content .style5a, .post_content .style5b, .post_content .style6 { font-weight: 500; line-height:1.6; }
/* h2 */
.style2a { margin:65px 0 30px; padding:0 0 .9em; border-bottom:3px solid #000; font-size:26px; }
.style2b { margin:65px 0 30px; padding:.48em 1em .47em; background:#000; color:#fff; font-size:26px; }
/* h3 */
.style3a { margin:65px 0 30px; padding:1.2em .15em; border-top:1px solid #ccc; border-bottom:1px solid #ccc; font-size:22px; }
.style3b { margin:65px 0 30px; padding:1.1em 1.4em 1.15em; border:1px solid #ddd; border-top:3px solid #000; background:#fafafa; font-size:22px; }
/* h4 */
.style4a { margin:65px 0 30px; padding:.4em 0 .4em 1.2em; border-left:3px solid #000; font-size:20px; font-weight:500; }
.style4b { -webkit-box-sizing:border-box; box-sizing:border-box; position:relative; margin:65px 0 30px; padding:.8em 1.5em .8em; border-left:#000 3px solid; font-size:20px; }
.style4b:after { position:absolute; top:0; left:0; width:100%; height:calc(100% - 2px); border:1px solid #ddd; border-left:none; content: ''; }
/* h5 */
.style5a { margin:65px 0 30px; padding:.85em 1.5em .8em; border:1px solid #ddd; background:#fafafa; font-size:18px; }
.style5b { margin:65px 0 30px; padding:.85em 1.5em .8em; background:#000; color:#fff; font-size:18px; }
/* h6 */
.style6 { position:relative; margin:65px 0 30px; padding:0 .8em 0 1.3em; color:#000; font-size:16px; font-weight:700; }
.style6:before { position:absolute; top:.35em; left:0; width:12px; height:12px; background:#000; content:""; }
.balloon { display:block; z-index:0; position:relative; width:auto; min-width:115px; margin:50px 0 22px; padding:.5em 18px .5em; clear:both; border-bottom:0; background:#222; color:#fff; font-size:20px; font-weight:400; text-align:left; }
.balloon:after { display:block; position:absolute; bottom:-10px; left:30px; width:0px; height:0px; margin-left:-10px; border-width:10px 10px 0 10px; border-style:solid; border-color:#222 transparent transparent transparent; content:""; }
@media screen and (max-width: 767px) {
    .style2a { margin:30px 0 20px; padding:0 0 .6em; font-size:20px; }
    .style2b { margin:30px 0 20px; padding:.42em .7em .41em; background:#000; color:#fff; font-size:20px; } 
    .style3a { margin:30px 0 20px; padding:.6em .15em; font-size:18px; }
    .style3b { margin:30px 0 20px; padding:.5em .5em .45em .6em; font-size:18px; }
    .style4a { margin:30px 0 20px; padding:.4em 0 .4em .8em; border-left:2px solid #000; font-size:16px; }
    .style4b { margin:30px 0 20px; padding:.8em 1em .75em; border-left:#000 2px solid; font-size:16px; }
    .style5a { margin:30px 0 20px; padding:.8em 1em .75em; font-size:15px; }
    .style5b { margin:30px 0 20px; padding:.8em 1em .75em; font-size:15px; }
}

/* デフォルト見出し+クイックタグ見出しのスタイル */
@media screen and (min-width: 769px) {
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h5,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h6 { margin-top: 40px; } 
}
@media screen and (max-width: 768px) {
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h5,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h6 { margin-top: 30px; } 
}
@media screen and (max-width: 600px) {
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h5,
    .post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h6 { margin-top: 20px; } 
}
.post_content h2 { font-size:24px; }
.post_content h3 { font-size:22px; }
.post_content h4 { font-size:20px; }
.post_content h5 { font-size:18px; }
.post_content h6 { font-size:16px; }
@media screen and (max-width: 767px) {
    .post_content h2 { font-size:20px; }
    .post_content h3 { font-size:18px; }
    .post_content h4 { font-size:18px; }
    .post_content h5 { font-size:16px; }
    .post_content h6 { font-size:14px; }
}
/* Vertical */
.p-vertical { width:100%; margin:70px 0; font-size:36px; line-height:1.4; text-align:center; }
.p-vertical p { display:inline-block; margin:0; font-size:inherit; line-height:inherit; text-align:left; -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; }
@media screen and (max-width: 767px) { 
 .p-vertical { margin:33px 0; font-size:24px; line-height:1.3; }
}


/* ----------------------------------------------------------------------
 Underline - アンダーライン
---------------------------------------------------------------------- */
.q_underline { background-image: -webkit-linear-gradient(left, transparent 50%, #fff799 50%); background-image: -moz-linear-gradient(left, transparent 50%, #fff799 50%); background-image: linear-gradient(to right, transparent 50%, #fff799 50%); background-position: 0 0.8em; background-repeat: repeat-x; background-size: 200% 0.5em; border: none; border-bottom-color: transparent; -webkit-transition: background 2s ease; -ms-transition: background 2s ease; transition: background 2s ease; }
.q_underline.is-active{ background-position: -100% 0.8em; }


/* ----------------------------------------------------------------------
 Speech balloon - スピーチ
---------------------------------------------------------------------- */
.speach_balloon { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; -webkit-align-items: flex-start; align-items: flex-start; }
.speach_balloon_text { background: #fff; border: 2px solid #ddd; border-radius: 10px; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; line-height: 2; margin-bottom: 3em; min-height: 80px; padding: 22px 28px; position: relative; }
.speach_balloon_text > *:last-child { margin-bottom: 0; }
.speach_balloon_text::before, .speach_balloon_text::after { border-color: transparent; border-style: solid; content: ''; pointer-events: none; height: 0; margin-top: -10px; width: 0; position: absolute; right: 100%; top: 40px; }
.speach_balloon_user { -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; margin-right: 36px; margin-bottom: 2em; min-width: 80px; text-align: center; }
.speach_balloon_user_image { border-radius: 50%; height: 80px; width: 80px; object-fit: cover; }
.speach_balloon_user_name { font-size: 87.5%; line-height: 1.2; margin-top: 12px; }
.speach_balloon_user_name:only-child { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; margin-top: 0; min-height: 80px; }
.speech_balloon_left1 .speach_balloon_text::before, .speech_balloon_left2 .speach_balloon_text::before { border-width: 8px 10px 8px 0; border-right-color: #ddd; margin-right: 2px; }
.speech_balloon_left1 .speach_balloon_text::after, .speech_balloon_left2 .speach_balloon_text::after { border-width: 8px 10px 8px 0; margin-right: -1.5px; border-right-color: #fff; }
.speech_balloon_right1 .speach_balloon_user, .speech_balloon_right2 .speach_balloon_user { -webkit-order: 2; -ms-order: 2; order: 2; margin-left: 36px; margin-right: 0; }.speech_balloon_right1 .speach_balloon_text::before, .speech_balloon_right2 .speach_balloon_text::before { border-width: 8px 0 8px 10px; border-left-color: #ddd; margin-left: 2px; left: 100%; }
.speech_balloon_right1 .speach_balloon_text::after, .speech_balloon_right2 .speach_balloon_text::after { border-width: 8px 0 8px 10px; margin-left: -1.5px; border-left-color: #fff; left: 100%; }


/* ----------------------------------------------------------------------
 Google Map
---------------------------------------------------------------------- */
.qt_google_map { width:100%; height:550px; background:#ddd; margin:0 0 35px 0; }
.qt_google_map .qt_googlemap_embed { width:100%; height:550px; }
.qt_google_map .pb_googlemap_custom-overlay-inner { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: -94px; left: -40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 80px; height: 80px; border-radius: 50%; font-size: 18px; text-align: center; }
.qt_google_map .pb_googlemap_custom-overlay-inner::after { display: block; position: absolute; right: 0; bottom: -15px; left: 0; width: 0; height: 0; margin: auto; border-width: 16px 5px 0 5px; border-style: solid; content: ""; }
@media screen and (max-width: 750px) {
  .qt_google_map { height:320px; }
  .qt_google_map .qt_googlemap_embed { height:320px; }
}


/* ----------------------------------------------------------------------
 flame - 囲み枠
---------------------------------------------------------------------- */
.well { margin-bottom:30px; padding:1.1em 2em; border:1px solid #ddd; border-radius:6px; background-color:#fafafa; }
.well2 { margin-bottom:30px; padding:1.1em 2em; border:1px solid #ddd; }
.well3 { margin-bottom:30px; padding:1.1em 2em; border:1px dashed #ddd; background:#fafafa; }
.wl_red { border-color:#ebccd1; background-color:#f2dede; color:#a94442; }
.wl_yellow { border-color:#faebcc; background-color:#fcf8e3; color:#8a6d3b; }
.wl_blue { border-color:#bce8f1; background-color:#d9edf7; color:#31708f; }
.wl_green { border-color:#d6e9c6; background-color:#dff0d8; color:#3c763d; }

@media screen and (max-width: 767px) {
    .well, .well2, .well3 { padding:.9em .8em .9em 1em; }
}


/* ----------------------------------------------------------------------
 button - CSSボタンのスタイル
---------------------------------------------------------------------- */
.q_custom_button {
  color:#fff; border:1px solid #000; font-size:100%; font-weight:400; line-height:1.5;
  text-align:center; overflow:hidden; position:relative; z-index:2; max-width:100%; padding:0 30px; margin:0; text-decoration:none;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-inline-flex; display:inline-flex;
  -ms-justify-content:center; -webkit-justify-content:center; justify-content:center;
  -ms-align-items:center; -webkit-align-items:center; align-items:center;
  -webkit-transition: all 0.2s ease; transition: all 0.2s ease;
}
.q_custom_button:hover, .q_custom_button:focus { text-decoration: none; }
.q_custom_button:before {
  content:''; display:block; width:100%; height:calc(100% + 2px);
  position:absolute; top:-1px; left:-100%; z-index:-1;
  -webkit-transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0s;
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
.q_custom_button.animation_type3:before { transform: skewX(45deg); width:calc(100% + 70px); left:calc(-100% - 110px); }
.q_custom_button.animation_type2:hover:before { left:0; }
.q_custom_button.animation_type3:hover:before { left:-35px; }


/* Button option */
.rounded { border-radius:6px; }
.pill { border-radius:70px; }
.bt_red{ background:#c01f0e; border-color:#c01f0e; color:#fff; }
.bt_red:hover, .bt_red:focus { background-color:#d33929; border-color:#d33929; color:#fff; }
.bt_yellow{ background:#f1c40f; border-color:#f1c40f; color:#fff; }
.bt_yellow:hover, .bt_yellow:focus { background-color:#f9d441; border-color:#f9d441; color:#fff; }
.bt_blue{ background:#2980b9; border-color:#2980b9; color:#fff; }
.bt_blue:hover, .bt_blue:focus { background-color:#3a91c9; border-color:#3a91c9; color:#fff; }
.bt_green{ background:#27ae60; border-color:#27ae60; color:#fff; }
.bt_green:hover, .bt_green:focus { background-color:#39c574; border-color:#39c574; color:#fff; }




/* ----------------------------------------------------------------------
Youtube responsive - Youtube動画のレスポンシブ表示
---------------------------------------------------------------------- */
.ytube { position:relative; height:0; margin-top:20px; margin-bottom:20px; padding-bottom:56.25%; padding-top:30px; overflow:hidden; }
.ytube iframe { position:absolute; top:0; right:0; width:100%; height:100%; }


/* ----------------------------------------------------------------------
Table responsive - テーブルのレスポンシブ表示
---------------------------------------------------------------------- */
.rps_table { line-height:2.0; }
@media only screen and (max-width:567px) {
  .rps_table tr { display:block; margin-bottom:1.5em; }
  .rps_table th, .rps_table td{ display:list-item; list-style-type:none; border:none; }
  .rps_table td { border-top: none; }
}


/* ----------------------------------------------------------------------
 Cardlink style - カードリンクのスタイル
---------------------------------------------------------------------- */
.cardlink { word-wrap:break-word; max-width:100%; margin:15px 0 2em; padding:20px; border:1px solid #ddd; background:#fafafa; }
.cardlink_thumbnail { margin-right:25px; float:left; }
.cardlink_thumbnail img { width:130px; height:130px; -o-object-fit:cover; object-fit:cover; }
/* for IE11 */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .cardlink_thumbnail img { height:auto; }
}
.cardlink_content { line-height:1.6; }
.cardlink_content p { color:#000; margin-bottom:.5em; line-height:1; }
.cardlink_timestamp { display:inline; margin:0; padding:0; color:#222; font-size:12px; line-height:1; vertical-align:top; }
.cardlink_title { margin:-3px 0 5px; font-size:16px; }
.cardlink_title a { color:#000; font-weight:bold; text-decoration:none; }
.cardlink_title a:hover { text-decoration:none; }
.cardlink_excerpt { overflow:hidden; color:#000; font-size:14px; line-height:1.9; max-height:5.7em; }
.cardlink_excerpt span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.cardlink_footer { clear:both; }
.clear { clear:both; }
@media screen and (max-width: 767px) {
    .cardlink_timestamp { display:none; }
}
@media screen and (max-width: 567px) {
    .cardlink { padding:15px 11px 12px 13px; }
    .cardlink_thumbnail { margin-right:12px; margin-bottom:10px; float:left; }
    .cardlink_thumbnail img { width:100px; height:100px; }
    .cardlink_title { margin-top:-5px; font-size:14px; }
    .cardlink_excerpt { clear:both; }
}


/* ----------------------------------------------------------------------
 Contactform - お問い合わせフォーム
---------------------------------------------------------------------- */
.wpcf7 { width:100%; margin:0 0 2.5em; padding:0; border:1px solid #ddd; background:#fafafa; font-size:14px; }
.wpcf7 form { margin:1.5em 1.5em 0; }
.wpcf7 p { margin-bottom:1em; font-size:16px; }
.wpcf7 input, .wpcf7 textarea { -webkit-box-sizing:border-box; box-sizing:border-box; width:100%; padding:8px; border:1px solid #ccc; line-height:1.2; }
.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] { width:auto; max-width:97%; padding:8px; border:1px solid #ccc; }
.wpcf7 select, .wpcf7 .wpcf7-list-item-label { font-size:14px; line-height:1.2; }
.wpcf7 .wpcf7-list-item { display:block; }
.wpcf7 textarea { height:300px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #bbb; outline:none; }
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous { -webkit-transition:all .3s; -webkit-box-sizing:border-box; box-sizing:border-box; display:block; position:relative; width:225px; height:48px; margin:30px auto 0; border:none; outline:none; background-color:#333333; color:#fff; font-size:14px; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:all .3s; }
.wpcf7 .wpcf7-submit:before, .wpcf7 .wpcf7-submit:after { -webkit-box-sizing:border-box; box-sizing:border-box; }
.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover { background-color:#666666; }
.wpcf7 .wpcf7-submit .wpcf7-not-valid { background:pink; }
.wpcf7 .wpcf7-submit .wpcf7-response-output { -webkit-border-radius:4px; -moz-border-radius:4px; margin:10px 0 0; padding:8px 35px 8px 14px; border-radius:4px; }
.wpcf7 .wpcf7-submit .wpcf7-validation-errors { border:1px solid #EED3D7; background-color:#F2DEDE; color:#B94A48; }
.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok { border:1px solid #BCE8F1; background-color:#D9EDF7; color:#3A87AD; }
.wpcf7 .wpcf7-previous + br { display: none; }
.wpcf7 form .wpcf7-response-output{ margin: 2em 0.5em 2em; padding:0; border: none; text-align:center; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{ color:#dc3232; font-size: 1em; }

/* Style for DIVA dark ver. */
.wpcf7 { color:#000; }

/* ----------------------------------------------------------------------
 font-size - フォントサイズ
---------------------------------------------------------------------- */
.text70{font-size:70%}       /* フォントサイズ70% */
.text80{font-size:80%}
.text90{font-size:90%}
.text100{font-size:100%}
.text110{font-size:110%}
.text120{font-size:120%}
.text130{font-size:130%}
.text140{font-size:140%}
.text150{font-size:150%}
.text160{font-size:160%}
.text170{font-size:170%}
.text180{font-size:180%}
.text190{font-size:190%}
.text200{font-size:200%}
.text210{font-size:210%}
.text220{font-size:220%}
.b{font-weight:700}     /* 太字 */
.u{text-decoration:underline}     /* 下線 */
.del{text-decoration:line-throug} /* 打ち消し線 */


/* ----------------------------------------------------------------------
 font-color - フォントカラー
---------------------------------------------------------------------- */
.red{color:red}     /* 赤色 */
.blue{color:#2ca9e1}    /* 青色 */
.green{color:#82ae46}   /* 緑色 */
.orange{color:#ff7d00}    /* 橙色 */
.yellow{color:#fff000}    /* 黄色 */
.pink{color:#ff0084}    /* ピンク */
.gray{color:#999999}    /* グレー */


/* ----------------------------------------------------------------------
 background-color - 背景色
---------------------------------------------------------------------- */
.bg-yellow{padding:2px;background-color:#ff0} /* 黄色の文字背景 */
.bg-blue{padding:2px;background-color:#4ab0f5}  /* 青色の文字背景 */
.bg-red{padding:2px;background-color:red} /* 赤色の文字背景 */


/* ----------------------------------------------------------------------
 text-align - 配置
---------------------------------------------------------------------- */
.align1{text-align:center} /* 中央寄せ */
.align2{text-align:right}  /* 右寄せ */
.align3{text-align:left} /* 左寄せ */


/* ----------------------------------------------------------------------
 float - 回り込み
---------------------------------------------------------------------- */
.r-flo{float:right;margin:10px} /* 右に回り込み */
.l-flo{float:left;margin:10px}  /* 左に回り込み */
.f-clear{clear:both}      /* 回り込みの解除 */


/* ----------------------------------------------------------------------
 hover - 画像リンクマウスオーバー時の不透明度
---------------------------------------------------------------------- */
a img.fade { background:none; outline:none; -webkit-transition:all .3s; transition:all .3s; }
a:hover img.fade { opacity:0.7; filter:alpha(opacity=70); -ms-filter:"alpha( opacity=70 )"; background:none; }


/* ----------------------------------------------------------------------
 text-style - テキストスタイル
---------------------------------------------------------------------- */
.att {padding-left:1em;text-indent:-1em;} /* 注意書き等で二行目以降を字下げ */
.att_box { margin:2em 0 2.5em; padding:1em 1.2em; line-height:2.0; border:1px dotted #cccccc; background:#fcfcfc; box-shadow:0px 4px 0px 0px #f7f7f7; } /* テキストボックス */


/* ----------------------------------------------------------------------
 margin - 要素の外側の余白
---------------------------------------------------------------------- */
.m0{margin:0}    /* margin 0px を指定するクラス */
.mt0{margin-top:0}   /* margin-top0px を指定するクラス */
.mr0{margin-right:0}   /* margin-right0px を指定するクラス*/
.mb0{margin-bottom:0}  /* margin-bottom0px を指定するクラス*/
.ml0{margin-left:0}    /* margin-left0px を指定するクラス*/

.m5{margin:5px}
.mt5{margin-top:5px}
.mr5{margin-right:5px}
.mb5{margin-bottom:5px}
.ml5{margin-left:5px}

.m10{margin:10px}
.mt10{margin-top:10px}
.mr10{margin-right:10px}
.mb10{margin-bottom:10px}
.ml10{margin-left:10px}

.m15{margin:15px}
.mt15{margin-top:15px}
.mr15{margin-right:15px}
.mb15{margin-bottom:15px}
.ml15{margin-left:15px}

.m20{margin:20px}
.mt20{margin-top:20px}
.mr20{margin-right:20px}
.mb20{margin-bottom:20px}
.ml20{margin-left:20px}

.m25{margin:25px}
.mt25{margin-top:25px}
.mr25{margin-right:25px}
.mb25{margin-bottom:25px}
.ml25{margin-left:25px}

.m30{margin:30px}
.mt30{margin-top:30px}
.mr30{margin-right:30px}
.mb30{margin-bottom:30px}
.ml30{margin-left:30px}

.m35{margin:35px}
.mt35{margin-top:35px}
.mr35{margin-right:35px}
.mb35{margin-bottom:35px}
.ml35{margin-left:35px}

.m40{margin:40px}
.mt40{margin-top:40px}
.mr40{margin-right:40px}
.mb40{margin-bottom:40px}
.ml40{margin-left:40px}

.m45{margin:45px}
.mt45{margin-top:45px}
.mr45{margin-right:45px}
.mb45{margin-bottom:45px}
.ml45{margin-left:45px}

.m50{margin:50px}
.mt50{margin-top:50px}
.mr50{margin-right:50px}
.mb50{margin-bottom:50px}
.ml50{margin-left:50px}

.m55{margin:55px}
.mt55{margin-top:55px}
.mr55{margin-right:55px}
.mb55{margin-bottom:55px}

.ml55{margin-left:55px}
.m60{margin:60px}
.mt60{margin-top:60px}
.mr60{margin-right:60px}
.mb60{margin-bottom:60px}
.ml60{margin-left:60px}

.m65{margin:65px}
.mt65{margin-top:65px}
.mr65{margin-right:65px}
.mb65{margin-bottom:65px}
.ml65{margin-left:65px}

.m70{margin:70px}
.mr70{margin-right:70px}
.mb70{margin-bottom:70px}
.ml70{margin-left:70px}

.m75{margin:75px}
.mt75{margin-top:75px}
.mr75{margin-right:75px}
.mb75{margin-bottom:75px}
.ml75{margin-left:75px}

.m80{margin:80px}
.mt80{margin-top:80px}
.mr80{margin-right:80px}
.mb80{margin-bottom:80px}
.ml80{margin-left:80px}


/* ----------------------------------------------------------------------
 padding - 要素の内側の余白
---------------------------------------------------------------------- */
.p0{padding:0}   /* padding-0px を指定するクラス */
.pt0{padding-top:0}    /* padding-top0px を指定するクラス */
.pr0{padding-right:0}  /* padding-right0px を指定するクラス */
.pb0{padding-bottom:0} /* padding-bottom0px を指定するクラス */
.pl0{padding-left:0}   /* padding-left0px を指定するクラス */

.p5{padding:5px}
.pt5{padding-top:5px}
.pr5{padding-right:5px}
.pb5{padding-bottom:5px}
.pl5{padding-left:5px}

.p10{padding:10px}
.pt10{padding-top:10px}
.pr10{padding-right:10px}
.pb10{padding-bottom:10px}
.pl10{padding-left:10px}

/*謎の中央寄せ*/
#single_news_inner #recent_news .news_list .item .date{
    margin: 0px;
}
/*背景白と後ろ黒*/
#header{
    background-color: white;
}
#global_menu_button span{
    background: black !important;
}

/*お知らせとコラムの文字の大きさ*/
#page_header #page_header_inner .common_headline{
    font-size: 40px;
    -webkit-text-stroke-color: #fff;
    -webkit-text-stroke-width: 1px;
    font-family: メイリオ;
    text-shadow: none;
}

/*四角の文字の大きさ*/
.square_headline .headline{
    font-size: 25px;
}

/*お知らせとかの文字を囲ってるやつ*/


@media screen and (max-width: 567px) {
    #page_header #page_header_inner .common_headline{
        font-size: 20px;
    }
    #blog_archive .square_headline .headline{
        font-size: 16px;
    }

}


/*dron1*/
.shop-dron-wrap{
    box-sizing: border-box;
}

.shop-dron1{
    background-image: url(../img/common/school-bg.svg);
    background-position: center;
    background-size: 46px;
}
.shop-dron1-under1{
    padding-top: 45px;
    padding-bottom: 80px;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    display: block;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
.shop-dron1-wrap{
    margin-top: 30px;
    padding: 40px 70px 50px 70px;
    box-shadow: 3px 3px 8px rgb(0 0 0 / 30%);
    border-radius: 15px;
    background-color: white;
    text-align: center;
}
.shop-dron1-title{
    border: 3px solid #a288d1;
    border-radius: 30px;
    font-size: 1.375rem;
    margin-bottom: 40px;
    width: 380px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}
.shop-dron1-box{
    display: flex;
}
.shop-dron1-box img{
    width: 350px;
    height: 100%;
    max-width: 100%;
    vertical-align: bottom;
}
.shop-dron1-text{
    padding-left: 40px;
    padding-top: 15px;
    line-height: 30px;
    font-size: 1rem;
    text-align: left;
}

/*ドローン1スマホ*/
@media only screen and (max-width: 768px) {
    .shop-dron1-wrap{
        padding: 25px 15px 35px 15px;
    }
    .shop-dron1-title{
        font-size: 1.125rem;
        width: 280px;
        margin-bottom: 20px;
    }
    .shop-dron1-box{
        display: block;
    }
    .shop-dron1-text{
        padding-left: 0px;
        line-height: 25px;
    }
   
}



/*dron2*/
.shop-dron2-under1{
    padding-top: 90px;
    padding-bottom: 90px;
    
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
    .shop-dron1-under1{
        width: 1020px;
        min-width: 320px;
    }
    .shop-dron2-under1{
        width: 1020px;
        min-width: 320px;
    }
  	.is-back-y{
        width: 1020px;
        min-width: 320px;
   }
}

.shop-dron2-title{
    position: relative;
    margin-bottom: 60px;
    font-size: 2.225rem !important;
    color: #393939;
    text-align: center;
	line-height: 1.5;
}
.shop-dron2-title::before{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -25px;
    margin-left: -15px;
    width: 30px;
    height: 1px;
    background: #a288d1;
}
.shop-dron2-box{
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
}
.shop-dron2-wrap{
    width: 50%;
    padding-left: 15px;
    box-sizing: border-box;
}
.shop-dron2-img-wrap img{
    width: 100%;
    height: 275px;
    object-fit: cover;
    max-width: 100%;
}
.shop-dron2-tbl-list{
    width: 50%;
    padding-left: 15px;
    list-style: none;
}
.about-tbl-main-ttl{
    padding: 6px 10px;
    color: #ffffff;
    background: linear-gradient(to bottom,#79c6ef,#1995e8);
    font-size: 1.375rem;
    line-height: 33px;
}
.shop-dron2-tbl-list_item{
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #dddddd;
    line-height: 24px;
}
.shop-dron2-tbl-list_item:last-child{
    border-bottom:1px solid #dddddd ;
}
.shop-dron2-th{
    width: 105px;
}
.c-tbl-list-type01_th{
    padding: 10px;
    width: 180px;
    border-right: 1px solid #dddddd;
    background-color: rgb(162, 136, 209, 0.2);
    font-weight: normal;
}
.c-tbl-list-type01_td{
    -webkit-box-flex: 1;
    flex: 1;
    padding: 10px 10px 10px 15px;
    color: #393939;
    background-color: #ffffff;
}
.c-tbl-list-type01_td .c-tbl-list-type01_th{
    overflow: hidden;
    word-wrap: break-word;
    word-break: break-all;
}


.shop-dron2-map{
    width: 100%;
    padding-top: 45px;
}
.shop-dron2-map a{
    font-size: 0.75rem;
    text-align: right;
    color: #007ae5;
    text-decoration: none;
}



.shop-dron2-title-sub{
    margin-bottom: 30px;
    font-size: 1.375rem;
    line-height: 1.8;
    text-align: center;
}

.page-dron3{
    background: rgb(162,136,209,.2);
}


.shop-dron3-list{
    display: flex;
    list-style: none;
    justify-content: space-evenly;
}
.shop-dron3-list_item{
    height: 385px;
    background-color: #ffffff;
    border-radius: 30px;
    -webkit-box-shadow: 3px 3px 8px rgb(0 0 0 /30%);
    box-shadow: 3px 3px 8px rgb(0 0 0 /30%);
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
}
.shop-dron3-list-title{
    font-weight: bold;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
}
.shop-dron3-list_item img{
    max-width: 100%;
    border: 0;
    vertical-align: bottom;
    box-sizing: border-box;
}
.btn-more-about{
    text-align: center;
    padding-top: 20px;
}
.btn-more-about::after{
    content: "";
    display: block;
    position: absolute;
    top: calc(100% + -58px);
    left: 50%;
    width: 25px;
    height: 25px;
    border-style: solid;
    border-color: transparent transparent #cccccc #cccccc;
    border-width: 4px;
    transform: rotate(-45deg) translateX(-50%);
    box-sizing: border-box;
}
.shop-dron3-btn{
    padding: 6px 15px;
    min-width: 220px;
    font-size: 1rem;
    display: inline-block;
    margin: 0 2px 2px 0;
    border: 3px solid #ffffff;
    border-radius: 40px;
    line-height: 1.4;
    background: linear-gradient(to bottom,#79c6ef,#1995e8);
    color: white;
    cursor: pointer;
    -webkit-box-shadow: 5px 5px 5px rgb(0 0 0 / 10%);
    box-shadow: 5px 5px 5px rgb(0 0 0 / 10%);
    text-align: center;
    text-decoration: none;
    transition: all 100ms 0s ease;
}






/*dron23スマホ*/
@media only screen and (max-width: 768px) {
    
    .shop-dron2-under1{
        padding-top: 45px;
        padding-bottom: 45px;
    }
    .shop-dron2-title{
        font-size: 1.75rem !important;
        margin-bottom: 45px !important;
		line-height: 1.5;
    }
    .shop-dron2-title::before{
        bottom: -15px;
    }
    .shop-dron2-box{
        display: block;
        margin: 0 auto;
    }
    .shop-dron2-wrap{
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 30px;
    }
    .shop-dron2-img-wrap img{
        height: auto;     
    }
    .shop-dron2-tbl-list{
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 30px;
    }
    .about-tbl-main-ttl{
        font-size: 1rem;
    }
    .c-tbl-list-type01_th{
        padding: 10px;
        width: 105px;
        font-size: 0.75rem !important;
		margin: 0 !important;
    }
    .c-tbl-list-type01_td{
        padding: 10px;
        font-size: 0.75rem;
    }
    .shop-dron2-map{
        padding-top: 0px;
    }
    .shop-dron2-map-wrap{
        position: relative;
        padding-bottom: 60%;
        padding-top: 30px;
        height: 0;
        overflow: hidden;
    }

    /*3*/
    .shop-dron2-title-sub{
        margin-bottom: 30px;
        font-size: 1rem;
    }
    .shop-dron3-list{
        display: block;
    }
    .shop-dron3-list_item{
        height: auto;
        width: 100%;
        margin-bottom: 15px;
        padding-top: 15px;
        padding-bottom: 45px;
        margin-left: 0px;
    }
    .shop-dron3-btn{
        min-width: 250px;
        margin: 0;
        border: 3px solid #ffffff;
        border-radius: 20px;
        box-shadow: none;
        background: linear-gradient(to right,#79c6ef,#1995e8);
    }
}

/*dron4*/

.shop-dron-wrap{
    box-sizing: border-box;
}
.shop-dron4-under1{
    padding-top: 90px;
    padding-bottom: 90px;
    
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    padding-top: 0;
    padding-bottom: 0;
}
.page-dron4{
    background-image: url();
    padding-top: 90px;
    padding-bottom: 90px;
    box-shadow: 0 5px 5px rgb(0 0 0 / 30%);
    position: relative;
    z-index: 15;

}
.is-back-y{
    background-color: #ffffff;
    border-radius: 30px;
    border: 5px solid #d9d082;
    padding-left: 60px;
    padding-right: 60px;
    box-sizing: border-box;

}
.shop4-contents{
    padding-bottom: 50px;
    padding-top: 70px;

}
.shop-minidrone-content{
    padding-top: 45px;
    padding-bottom: 30px;

}
.u-sp-only{
    display: none;
}
.shop-minidrone-list{
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    list-style: none;
}
.shop-minidrone-list_item{
    width: 50%;
    padding-left: 15px;
    padding-right: 15px;
    margin-top: auto;
    margin-bottom: auto;

}
.shop-minidrone-list_item img{
    max-width: 100%;
    border: 0;
    vertical-align: bottom;
}
.shop-minidrone-txt-main{
    padding-bottom: 45px;
    font-size: 1.375rem;
    font-weight: bold;
	line-height: 1.5;
}
.shop-minidrone-content-desc{
    line-height: 30px;

}
.shop-contents-only{
    padding-bottom: 50px;

}
.shop-experience-ttl{
    font-size: 1.375rem;
    margin-bottom: 30px;
    color: #393939;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    width: 500px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 30px;
    border: 3px solid #a288d1;
    font-weight: normal;
    line-height: 1.5;

}
.shop-minidrone-point_wrap{
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    list-style: none;

}
.shop-minidrone-point_list{
    width: calc(100% / 3 - calc(10px *3));
    padding: 20px;
    border: 5px solid #a288d1;
    border-radius: 20px;
    background-color: #a288d1;
    margin: 30px 15px 0px 15px;
    box-sizing: border-box;

}
.shop-minidrone{
    text-align: center;

}
.shop-point_txt{
    height: 54px;
    font-size: 1.125rem;
    font-weight: bold;

}
.shop-minidrone-point{
    padding-top: 15px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;

}
.shop-minidrone-point img{
    border: 0;
}

.shop-experience-wrap{
    background-color: #ffffff;
    border: 5px solid #eeeeee;
    padding: 30px 30px 40px 30px;
    border-radius: 30px;

}
.shop-experience-list{
    padding-right: 70px;
    padding-left: 70px;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    list-style: none;

}
.shop-experience-img{

}
.shop-experience-img{
    height: 175px;
    padding: 10px 0px;
}

@media only screen and (max-width: 768px) {
    .u-sp-only{
        display: block;
    }
    .page-dron4{
        padding-top: 70px ;
        padding-bottom: 70px;
    }
    .is-back-y{
        padding-left: 15px;
        padding-right: 15px;
        margin-right: 15px;
        margin-left: 15px;
		padding-top: 0;
        padding-bottom: 0;
    }
    .shop4-contents{
        padding-bottom: 35px;
        padding-top: 50px;
    }
    .shop-minidrone-content{
        padding-top: 15px;
        padding-bottom: 0;
    }
    .shop-minidrone-list{
        display: block;
        margin: 0 auto;
    }
    .shop-minidrone-list_item{
        width: auto;
        padding-left: 0;
        padding-right: 0;
    }
    .shop-minidrone-list_item img{
        width: 100%;
    }
    .shop-minidrone-txt-main{
        padding-top: 20px;
        padding-bottom: 20px;
		line-height: 1.5;
    }
	.shop-minidrone-content-desc{
        line-height: 1.5;
    }
    .shop-contents-only{
        padding-bottom: 35px;
    }
    .shop-experience-ttl{
        margin-bottom: 15px;
        width: auto;
        font-size: 1.125rem;
    }
    .shop-minidrone-point_wrap{
        margin: 0px;
    }
    .shop-minidrone-point_list{
        width: calc(100% / 2 - calc(5px * 2));
        border: 3px solid #81d8d0;
        padding: 10px;
        margin-top: 15px;
        margin-right: auto;
        margin-left: auto;
    }
    .shop-point_txt{
        padding-top: 5px;
        font-size: 0.875rem;
        height: 47px;
    }
    .shop-minidrone-point{
        padding-top: 5px;
    }
    .shop-experience-ttl{
        margin-bottom: 15px;
        width: auto;
        font-size: 1.125rem;
    }
    .shop-experience-list{
        display: block;
        padding: 0px;
    }
    .shop-experience-img img{
        height: auto;
    }
	.shop-dron4-under1{
        padding-top: 0;
        padding-bottom: 0;
    }
}
#dron-padding-top{
    padding-top: 30px;
}
@media only screen and (max-width: 768px) {
	#fly-to-the-future{
		background-position:20%;
	}
	#fly-to-the-future span{
		white-space: nowrap;
}
}


.shop-point_txt{
    height: auto !important;
    line-height: 150%;
}

.single-title.bg{

}
.blogbox h2 {
    line-height: 1.8;
    background-color: #824880;
    padding: 5px;
    color: #fff;
}
.flex22{
    display: flex;
	justify-content:space-between;
}
.w35{width:40%;}
.w65{
    width: 57%;
    padding: 0 0px 0 20px;
}

@media only screen and (max-width: 768px) {
.flex22{
	display: block !important;}	
.w35{width:100%;margin-bottom:20px;}
.w65{
    width: 100%;
    padding: 0;}}
}}