@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; margin:36px 0; }
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}

@media screen and (max-width:768px){
   p { margin:30px 0; }

}
hr { border-top:1px solid #dbdbd9; border-bottom:1px solid #ffffff; border-right:none; border-left:none; margin:30px 0 40px 0; }
img.center,.aligncenter { margin:0 auto; display:block; }
img.left { float:left; margin:0 30px 30px 0; }
img.right { float:right; margin:0 0 30px 30px; }
img.photo { background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo_left { transform:rotate(-4deg); -moz-transform:rotate(-4deg); -webkit-transform:rotate(-4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo_right { transform:rotate(4deg); -moz-transform:rotate(4deg); -webkit-transform:rotate(4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
.bold { font-weight:bold; }
.underline { text-decoration:underline; }
.color { color:#d61618; }
.white { color:#fff; }
.red { color:#b55a5a; font-weight:bold; }
.blue { color:#7eb3c4; font-weight:bold; }
.yellow { background:linear-gradient(rgba(255,230,186,0) 60%, rgba(255,230,186,1) 60%); }
.center { text-align:center; }
.text_link { text-decoration:underline!important; }
.sp00 { margin-top:0 !important; }
.sp10 { margin-top:10px !important; }
.sp20 { margin-top:20px !important; }
.sp30 { margin-top:30px !important; }
.sp40 { margin-top:40px !important; }
.sp50 { margin-top:50px !important; }
.sp60 { margin-top:60px !important; }
.sp70 { margin-top:70px !important; }
.sp100 { margin-top:100px !important; }
.align_left { text-align:left; }
.align_right { text-align:right; }
.align_center { text-align:center; }
.ffffff { background:#ffffff!important; }
.f7f7f7 { background:#f7f7f7!important; }
.small { font-size:12px; }
.red_marker { background:linear-gradient(transparent 60%, #FFB3D4 60%); }
.yellow_marker { background:linear-gradient(transparent 60%, #FFF799 60%); }
.blue_marker { background:linear-gradient(transparent 60%, #B3E6FF 60%); }
.link { color:#A59776!important; text-decoration:underline!important; }
.dod { text-emphasis: filled dot #2f2f2f; -webkit-text-emphasis: filled dot #2f2f2f; font-weight:bold; }
.mincho { font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.rotate { transform:rotate(-10deg);}
@media screen and (max-width:768px){
  img.left , img.right  { float:none; margin:0 auto 20px auto; display:block; }
  .big { font-size:16px; }
}
.pc { display:inline-block!important; }
.sp { display:none!important; }
@media screen and (max-width:768px){
  .pc { display:none!important; }
  .sp { display:inline-block!important; }
}

.box { border:2px solid #d5d5d5; border-radius:10px; margin:36px 0; padding:20px; }
.box p { margin:0 }
@media screen and (max-width:768px) {
   .box { width:100%; margin:30px 0; padding:15px; }
}

.video{ position:relative; width:100%; height:0; margin:0 auto; padding-top:55%; }
.video iframe{ position:absolute; top:0; left:0; width:100%; height:100%; }
.video img{ position:absolute; top:0; left:0; width:100%; height:100%; }
.frame { width:650px; height:390px; background:url(img/waku.png) no-repeat 50% 0; background-size:contain; padding:22px 20px 0 20px; margin:0 auto; }
@media screen and (max-width:768px) {
  .frame { width:100%; height:auto; background-size:contain; padding: 3.5% 4% 5% 4%; }
}
a.button { display:block; width:100%; margin:20px auto 0 auto; padding:10px; font-size:14px; text-align:center; color:#fff; background:#ec264c; border-radius:5px; }
a.button:hover { background:#000; color:#fff; }

.bg { background:url(img/index/bg.jpg); } 
.bg_green { background:url(img/index/bg.jpg); } 



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

main { background:url(img/bg02.jpg); }
article { max-width:440px; width:100%; margin:0 auto; display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap; /*折り返す*/ background:url(img/bg.jpg); box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
section.right_box {  }
.inner { padding:0 20px;  }



input[type="text"] { width:100%; height:50px; text-align:center; font-size:30px; border:3px solid #057ef3; }
input[type="submit"] { 
    width:100%; color: rgb(255, 255, 255); background-color: rgb(0, 193, 0); margin-top:10px; padding: 20px 0; font-size: 20px; box-shadow: inset 0 0 0 2px hsla(0,0%,100%,.2); border: solid rgba(0,0,0,.2); border-width: 1px 1px 3px; border-radius:3px; animation: title01 2s ease infinite; }

/*緑ボタン*/
.button_green { width:100%; color:rgb(255, 255, 255); background-color:rgb(48, 160, 92); margin-top:10px; font-size:24px; padding:30px 10px; border:solid rgba(0,0,0,.2); border-width:1px 1px 3px; border-radius:3px; box-shadow:inset 0 0 0 2px hsla(0,0%,100%,.2); display:block; text-align:center; text-decoration:none; animation:title01 2s ease infinite; }

/*赤ボタン*/
.button_red { width:100%; color:rgb(255, 255, 255); background-color:#f03748; margin-top:10px; font-size:24px; padding:30px 10px; border:solid rgba(0,0,0,.2); border-width:1px 1px 3px; border-radius:3px; box-shadow:inset 0 0 0 2px hsla(0,0%,100%,.2); display:block; text-align:center; text-decoration:none; animation:title01 2s ease infinite; }


@media screen and (max-width:768px) {
  input[type="text"] { height:50px; font-size:16px; }
  input[type="submit"] { margin-top:10px; padding:10px 0; font-size:20px; }
}

@keyframes title01 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}



/* ------------------------------FV------------------------------　*/
header#fv { width:100%; height:auto; padding-top:0; }
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%; }
}

header#mv { width:100%; height:auto; padding-top:0; background:#f7f7f7; 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; font-style:italic; }
header#mv p { text-align:center }
@media screen and (max-width:768px){
   header#mv { width:100%; height:250px; background:url(img/page/mv_bg_sp.jpg) no-repeat 50% 50%; background-size:cover; }
   header#mv #inner { width:100%; height:250px; }
   header#mv h1 { margin:0; padding:0; }
}


/* ------------------------------共通------------------------------　*/

h2 { text-align:center; font-size:40px; }
@media screen and (max-width:768px) {
  h2 { font-size:26px; }
}

h3 { font-size:26px; }
@media screen and (max-width:768px) {
  h3 { font-size:20px; }
}

ul.two_col { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ margin:30px 0; }
ul.two_col li { width:49%; margin-top:20px; }
ul.two_col li:nth-of-type(odd) { margin-right:1%; }
ul.two_col li:nth-of-type(even) { margin-left:1%; }
ul.two_col li p { text-align:center; font-size:14px; }
@media screen and (max-width:768px) {
  ul.two_col li { width:49%; }
   ul.two_col li:nth-of-type(odd) { margin-right:1%; }
   ul.two_col li:nth-of-type(even) { margin-left:1%; }
  ul.two_col li p { font-size:14px; }
}

ul.col_three { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ margin:36px 0; }
ul.col_three li { width:33.33%; padding:0 2%; margin-top:20px; }
ul.col_three li h3 { text-align:center; font-size:20px; margin-top:10px; }
ul.col_three li p { font-size:14px; }
@media screen and (max-width:768px) {
   ul.col_three { margin:30px 0; }
   ul.col_three li { width:100%; padding:0; }
   ul.col_three li h3 { font-size:18px; margin-top:5px; }
   ul.col_three li p { font-size:14px; }
}

dl.col_two { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ margin-top:50px; }
dl.col_two dt { width:35%; position:relative; }
dl.col_two dt img { margin:0 auto; }
dl.col_two dd { width:calc(100% - 35%); padding-left:30px; }
@media screen and (max-width:768px) {
  dl.col_two dt { width:100%; }
  dl.col_two dd { width:100%; padding-left:0; margin-top:20px; }
}

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.table { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ margin-top:20px; }
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 { margin-top:10px; }
   dl.table dt { width:100%; border-bottom:none; padding-bottom:0; }
   dl.table dd { width:100%; padding-left:0; padding-top:0; }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 装飾用
 *
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

.box02 { border:2px solid #2f2f2f; margin:36px 0; padding:40px 40px; position:relative; }
.box02 li { font-size:26px; margin-top:10px; padding-bottom:10px; border-bottom:1px solid #ccc;}
.box02 li:nth-of-type(1) { margin-top:0; }
.box02 img { position:absolute; bottom:0; right:0 }
@media screen and (max-width:768px) {
   .box02 { width:100%; margin:0; padding:15px; }
   .box02 li { font-size:16px; margin-top:10px; padding-bottom:10px; border-bottom:1px solid #ccc;}
   .box02 img { width:100px; bottom:0; right:0 }
}

.box03 { background:#fff; position:relative; top:-50px; padding:50px 50px 0 50px; }
@media screen and (max-width:768px) {
  .box03 { top:-10px; padding:15px 15px 0 15px; }


}

dl.two_col dd h3 { margin-top:10px; }
dl.two_col dd p { margin-top:20px }
dl.two_col:nth-of-type(1) dd:before { content:"01"; font-size:30px; color:#8fa4c4; font-weight:bold; line-height:1; }
dl.two_col:nth-of-type(2) dd:before { content:"02"; font-size:30px; color:#8fa4c4; font-weight:bold; line-height:1; }
dl.two_col:nth-of-type(3) dd:before { content:"03"; font-size:30px; color:#8fa4c4; font-weight:bold; line-height:1; }


dl.col_two02 { display:flex; justify-content:center;/*中央に配置*/ flex-wrap:wrap;/*折り返す*/ border-radius:10px; border:2px solid #000;  }
dl.col_two02 dt { width:50%; position:relative; }
dl.col_two02 dd { width:calc(100% - 50%); padding:40px 40px 40px 0; }
dl.col_two02 dd a.button { border-radius:0; padding:20px 0 }
@media screen and (max-width:768px) {
  dl.col_two02 dt { width:100%; }
  dl.col_two02 dd { width:100%; padding:20px; margin-top:20px; }
  dl.col_two02 dd h3 { font-size:14px; }
}

a.button { display:block; width:100%; margin:20px auto 0 auto; padding:30px 20px; font-size:16px; text-align:center; color:#fff; background:#013158; border-radius:5px; animation:bounce 2s ease-in-out forwards; animation-iteration-count:infinite; }
a.button:hover { background:#000; color:#fff; }

  @keyframes bounce {
    0% {
      transform: scale(1);
      -webkit-transform: scale(1);
    }
    50% {
      transform: scale(1.1);
      -webkit-transform: scale(1.1);
    }
  }


ul.col_three li p.number { text-align:left;  font-size:20px; color:#8fa4c4; font-weight:bold; line-height:1; margin-top:0; }
ul.col_three li h3 { text-align:left; margin-bottom:20px;}
ul.col_three li p { margin-top:20px;}

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%; padding:20px; margin-top:15px; }
   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; }
}

/*--------------------------------------------------------------------------------
 *
 *
 * 料金
 *
 *
--------------------------------------------------------------------------------*/

/*タブ切り替え全体のスタイル*/
.tabs { padding-bottom:40px; background-color:#fff; box-shadow:0 0 10px rgba(0,0,0,0.07); width:100%; margin-top:40px; border-radius:10px; overflow:visible; }
/*タブのスタイル*/
.tab_item {width:calc(100%/2); height:50px; border-bottom:3px solid #324158; background-color:#f7f7f7; line-height:3; padding-top:5px; font-size:12px; text-align:center; color:#565656; display:block; float:left; text-align:center; font-weight:normal; transition:all 0.2s ease; position:relative; }
.tab_item:hover {opacity:0.75; }
.tab_item img { display:block; margin:0 auto; }
/*ラジオボタンを全て消す*/
input[name="tab_item"] {display:none; }
/*タブ切り替えの中身のスタイル*/
.tab_content {display:none; clear:both; overflow:hidden; padding:30px 100px 0 100px; }
/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {display:block; }
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {background-color:#324158; color:#fff; }
@media screen and (max-width:768px) {
   .tabs { margin-top:30px; padding-bottom:20px }
   .tabs { border-radius:10px; }
   .tab_content { padding:20px 20px 0 20px; }
}
.tabs p { font-size:12px;}
.tabs h3 { font-size:14px; text-align:center; margin-top:30px; }
.tabs h3:before { content:"●"; margin-right:5px; color:#324158; }
@media screen and (max-width:768px) {
   .tabs p { font-size:12px;}
   .tabs h3 { font-weight:normal; }
}

.tab_item .hukidashi { position:absolute; top:-30px; left:0; right:0; background:#f24439; color:#fff; width:300px; margin:auto; border-radius:100vh; }
.tab_item .hukidashi:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -6px;
  border: 6px solid transparent;
  border-top: 6px solid #f24439;
}
@media screen and (max-width:768px) {
  .tabs { position:relative; margin-top:50px;}
  .tab_item { position:static; }
  .tab_item .hukidashi { font-size:10px; width:280px; top:-24px; }
  .tab_item .hukidashi:before { left:80%; }

}



dl.price02 { width:100%; margin:0 auto; display:flex; justify-content:center;/*中央に配置*/align-items:center; /*上下中央*/flex-wrap:wrap;/*折り返す*/ margin-top:1%; padding:5px 20px; letter-spacing:0.05em; background:#f7f7f7; border-radius:10px; }
dl.price02 dt { width:50%; position:relative; font-size:14px; font-weight:normal; border-right:2px solid #e2e4e4; }
dl.price02 dd { width:calc(100% - 50%); padding-left:30px; font-size:14px; font-weight:normal; text-align:center; }
dl.price02 dd span.small { font-size:12px; font-weight:normal; margin-left:0; }
dl.price02 dd span.pink { color:#324158; }
@media screen and (max-width:768px) {
   dl.price02 { margin-top:2%; }
   dl.price02 dt { width:50%; font-size:12px; }
   dl.price02 dd {  width:calc(100% - 50%); padding-left:0; font-size:12px; }
}

/* ------------------------------よくある質問------------------------------　*/
dl.faq { margin-top:50px; position:relative; }
dl.faq:first-child { margin-top:0; }
dl.faq > dt:before { content:"Q."; margin-right:10px; font-size:20px; line-height:1; font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
dl.faq > dt { font-size:20px; }
dl.faq > dd:before { content:"A."; margin-right:10px; font-size:20px; line-height:1; font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
dl.faq > dd { padding:0; margin:20px 0 0 0; font-size:14px }
@media screen and (max-width:768px) {
   dl.faq { margin-top:50px; }
   dl.faq > dt:before { top:-10px; font-size:50px; }
   dl.faq > dt { font-size:16px; padding-left:50px; }
   dl.faq > dd { padding:10px 0 10px 20px; margin:20px 0 0 20px; font-size:12px }
}













/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * フッター
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
footer { position:relative; width:100%; margin:0; padding:10px 0 20px 0; border-top:1px solid #ccc; }
footer ul { width:1000px; margin:30px auto 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; }
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 p a { font-size:12px; }
footer ul li img { width:260px; margin:10px 0; }
footer p { font-size:12px; text-align:center; }
address { font-size:12px; text-align:center; margin-top:0px; padding:0; }

@media screen and (max-width:768px){
  footer { padding:20px 0 80px 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 { width:200px; 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; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * その他（jQuery、文字装飾なと）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------グローバルナビ上部固定------------------------------　*/
.fixed { position:fixed; top:0; width:100%; z-index:10000; }
@media screen and (max-width:768px){
.fixed { position:static; }
}

/* ------------------------------ページ下部固定CTA------------------------------　*/
#button_bottom { position:fixed; right:10px; bottom:10px; z-index:1000; }
#button_bottom li a { display:block; width:160px; height:160px; border-radius:80px; line-height:1.4; margin:0 auto; padding:50px 0 0 0; text-align:center; font-weight:normal; color:#000; font-size:20px; animation: fluffy1 3s ease infinite; background:#ffca08; }
#button_bottom li a span { font-size:10px }
#button_bottom li a:hover { text-decoration:none }
#button_bottom li i { font-size:60px; width:100%; margin:25px 0 5px 0; }
@media screen and (max-width:768px){
   #button_bottom { width:100%; right:0; }
   #button_bottom li {   }
   #button_bottom li br { display:none; }
   #button_bottom li a { width:90%; height:auto; font-size:14px; padding:15px 0; font-weight:normal; }
   #button_bottom li a span { display:none }
   #button_bottom li i { font-size:20px; width:auto; margin:0 10px 0 0;}
}
@keyframes fluffy1 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

/* ------------------------------フェードインアニメーション------------------------------　*/
.sa {opacity: 0; transition: all .5s ease; } /* ノーマル */
.sa.show {opacity: 1; transform: none; } /* ノーマル */
.sa-lr {transform: translate(-100px, 0); } /* 右から */
.sa-rl {transform: translate(100px, 0); } /* 左から */
.sa-up {transform: translate(0, 100px); } /* 下から */
.sa-down {transform: translate(0, -100px); } /* 上から */
.sa-scaleUp {transform: scale(.5); } /* 縮小→拡大 */
.sa-scaleDown {transform: scale(1.5); } /* 拡大→縮小 */
.sa-rotateL {transform: rotate(180deg); } /* 左回転 */
.sa-rotateR {transform: rotate(-180deg); } /* 右回転 */

/* ------------------------------ふわふわ------------------------------　*/
@keyframes horizontal {
    0% { transform:translateX( -5px); }
  100% { transform:translateX(  0px); }
}
@keyframes vertical {
    0% { transform:translateY(-5px); }
  100% { transform:translateY(  0px); }
}
img.huwahuwa { animation: horizontal 2s ease-in-out infinite alternate; }
img.huwahuwa { animation: vertical 2s ease-in-out infinite alternate; }
img.huwa01 { animation-duration: 1.1s}
img.huwa02 { animation-duration: 1.3s}
img.huwa03 { animation-duration: 1.5s}

/* ------------------------------吹き出しを作る------------------------------　*/
.line { width:700px; margin:0 auto; }
@media screen and (max-width:768px){
  .line { width:100%; margin:30px auto 0 auto; }
}

.balloon { margin:0; 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 #d5d5d5; }
.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 #d5d5d5; }
.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 #d5d5d5; 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 #d5d5d5; 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 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; }
}
/* ------------------------------モーダルウィンドウ------------------------------　*/
.content{ margin:0 auto; }
.modal{ display:none; height:auto; position:fixed; top:0; left:0; width:100%; z-index:9998; }
.modal__bg{ background:rgba(0,0,0,0.8); height:100vh; position:relative; width:100%; }
.modal__content{ position:absolute;
top:50%; left:50%; transform:translateY(-50%) translateX(-50%); -webkit- transform:translateY(-50%) translateX(-50%);
width:1000px; height:auto; background:transparent; }
.modal__content a { color:#000; font-size:14px; }
.modal__content p { margin-top:0; }
.modal__content iframe { width:100% }
a.js-modal-close { display:block; width:70%; margin:0 auto; font-size:14px; color:#fff; font-weight:normal; position:absolute; top:-30px; left:0; z-index:9999; }
a.js-modal-close i { margin-right:5px; }

@media screen and (max-width:768px){
  .modal__content{ width:90%; margin:0 auto; padding:0; }
  a.js-modal-close { top:-25px; left:0; }
}

/* newをつけて点滅 */
.new { position:absolute; top:5px; left:5px; background:#ff0000; color:#fff; font-size:10px; padding:0 5px; border-radius:100vh }
/* 点滅 */
.blinking{
  -webkit-animation:blink 2s ease-in-out infinite alternate;
    -moz-animation:blink 2s ease-in-out infinite alternate;
    animation:blink 2s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
   0% {opacity:0;}
   100% {opacity:1;}
}

/* ------------------------------ページ下部固定CTA_PC------------------------------　*/
ul#bana_pc { position:fixed; width:63px; height:auto; bottom:50px; right:0px; z-index:997; }
ul#bana_pc li { position:relative; }
ul#bana_pc li a { width:70px; height:80px; display:block; background:#fff; border:1px solid #ccc; border-bottom:none; color:#000; font-size:12px; text-align:center; line-height:1.7; display:flex; justify-content:center;/*中央に配置*/ align-items:center; /*上下中央*/ flex-wrap:wrap; /*折り返す*/}
ul#bana_pc li:first-child a { border-radius:5px 0 0 0; text-align:center; }
ul#bana_pc li:last-child a { border-radius:0 0 0 5px; border-bottom:1px solid #ccc;}
ul#bana_pc li a span { display:none }
@media screen and (max-width:768px){
   ul#bana_pc { width:100%; top:auto; bottom:0; left:auto; right:auto;
   display:flex; justify-content:center;/*中央に配置*/ align-items:center; /*上下中央*/ flex-wrap:wrap;/*折り返す*/ }
   ul#bana_pc li { margin-top:0; width:25%; height:auto; }
   ul#bana_pc li a { width:100%; height:auto; text-align:center; display:block; padding:6px 0; font-size:10px; border-left:none; }
   ul#bana_pc li:first-child a { border-radius:0 0 0 0; text-align:center;  }
   ul#bana_pc li:last-child a { border-radius:0 0 0 0; border-bottom:none; border-right:none; }
   ul#bana_pc li a br { display:none; }
   ul#bana_pc li a i { margin-right:6px }

}

/* ------------------------------お問い合わせ一時停止------------------------------　*/
.form_none { position:relative; }
.form_none .text_box { position:absolute; top:50%; left:50%; -webkit-transform :translate(-50%,-50%); transform :translate(-50%,-50%); z-index:998; color:#000; width:100%; text-align:center; white-space:normal; }
.form_none .text_box p.title { width:100%; font-size:20px; font-weight:bold; line-height:1.6; }
.form_none .text_box p.small { width:100%; font-size:20px; margin-top:10px; }
.form_none .text_box a { max-width:400px; background:#0091a0; color:#fff; display:block; margin:30px auto 0 auto; padding:30px 0; border-radius:3px; box-shadow:0 0 30px rgba(0,0,0,0.2); font-size:16px; }
.form_none:after { position:absolute; content:""; top:0; right:0; bottom:0; left:0; background:rgba(255,255,255,0.7); }
@media screen and (max-width:768px) {
   .form_none .text_box p.title { font-size:20px; }
   .form_none .text_box p.small { font-size:16px; }
   .form_none .text_box a { max-width:90%;margin:30px auto 0 auto; padding:20px 0; font-size:16px; }
}

