@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  SP
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 980px) {
  /*-- 基本 --*/
  body {
    margin: 0px;
    padding: 0px;
    /*	background:none repeat scroll 0% 0%;background-attachment:scroll;
*/
    font-family: "Noto Sans JP", "sans-serif", "ヒラギノ角ゴシック Pro",
      "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ,
      Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #555555;
    font-weight: 400;
    font-size: 2.1vw;
    letter-spacing: 0;
    line-height: 1.6;
    min-width: 100%;
  }
  .ltext {
    font-size: 3.6vw !important;
  }
  /*-- リンク系（アンカー） --*/
  a {
    color: #555555;
    text-decoration: underline;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
  }
  /*a:hover{color: #003ea5;text-decoration:underline;}
*/
  a img {
    display: block;
    transition: 0.5s;
  }
  /*a img:hover {
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
	transition: 0.5s;
}*/

  /*-- テキスト系 --*/
  .mincho {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
      "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }

  /*-- header --*/
  header {
    position: fixed;
    width: 100%;
    z-index: 9999;
    background: #fff;
  }
  div.header_box {
    display: flex;
    justify-content: space-between;
    height: 16vw;
    padding: 0 0 0 2.6vw;
  }
  div.header_box > h1 {
    width: 32.5vw;
    margin: 1.3vw 0 0;
  }
  div.header_box > h1 a,
  div.header_box > h1 a img {
    display: block;
    width: 32.5vw;
    height: auto;
  }
  div.header_box > div {
    display: flex;
  }
  div.header_box > div a.tel {
    display: block;
    width: 18.6vw;
    height: 16vw;
    padding: 8.8vw 0 0;
    background: #59a529 url("../imgs/icon/icon_tel_free.svg") no-repeat center
      2.2vw;
    background-size: 9vw auto;
    color: #ffffff;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }
  div.header_box > div a.link1 {
    display: block;
    width: 13.3vw;
    height: 16vw;
    padding: 9.4vw 0 0;
    background: #4ed3e5 url("../imgs/sp/icon/icon_yen.svg") no-repeat center
      2.2vw;
    background-size: 5.3vw auto;
    color: #ffffff;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
  }
  div.header_box > div a.link2 {
    display: block;
    width: 18.6vw;
    height: 16vw;
    padding: 8.8vw 0 0;
    background: #ff6a00 url("../imgs/sp/icon/icon_mail.svg") no-repeat center
      2.9vw;
    background-size: 6vw auto;
    color: #ffffff;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }

  /*-- primary_content --*/
  div.primary_content {
    padding: 0 0 8vw;
    background: #59a529 url("../imgs/sp/primary_content_bg.png?01") no-repeat
      center top;
    background-size: contain;
    position: relative;
    top: 16vw;
    margin-bottom: 16vw;
    height: auto;
  }
  div.primary_content > div {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  div.primary_content > div > div.c_left {
    padding: 29vw 0 0;
  }
  div.primary_content > div > div.c_left p.c_top {
    color: #ffffff;
    font-size: 6.4vw;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
    text-shadow: 3px 3px 0px rgb(0, 0, 0, 0.6);
  }
  div.primary_content > div > div.c_left p.c_top span {
    letter-spacing: 0;
  }

  div.primary_content > div > div.c_left p.c_bottom {
    color: #ffffff;
    font-size: 4.1vw;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    text-shadow: 3px 3px 0px rgb(0, 0, 0, 0.6);
  }
  div.primary_content > div > div.c_left > div {
    display: flex;
    justify-content: space-between;
    padding: 3vw 2.6vw 4.6vw;
  }
  div.primary_content > div > div.c_left > div > div {
    width: 29vw;
    height: 21vw;
    background: rgb(7, 255, 0, 0.5);
    border-top-left-radius: 4.6vw;
    border-top-right-radius: 1.3vw;
    border-bottom-left-radius: 1.3vw;
    border-bottom-right-radius: 4.6vw;
  }
  div.primary_content > div > div.c_left > div > div dl {
    position: relative;
    top: -5px;
    right: 5px;
    width: 29vw;
    height: 21vw;
    padding: 1.2vw 0 0 !important;
    background: #ffffff;
    border-top-left-radius: 4.6vw;
    border-top-right-radius: 1.3vw;
    border-bottom-left-radius: 1.3vw;
    border-bottom-right-radius: 4.6vw;
  }
  div.primary_content > div > div.c_left > div > div dl dt {
    margin: 0 1.7vw;
    color: #00a308;
    font-size: 3.8vw;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    background: rgb(255, 255, 255); /* Old browsers */
    background: -moz-linear-gradient(
      top,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 45%,
      rgba(255, 255, 59, 1) 46%,
      rgba(255, 255, 59, 1) 100%
    ); /* FF3.6-15 */
    background: -webkit-linear-gradient(
      top,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 45%,
      rgba(255, 255, 59, 1) 46%,
      rgba(255, 255, 59, 1) 100%
    ); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 45%,
      rgba(255, 255, 59, 1) 46%,
      rgba(255, 255, 59, 1) 100%
    ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffff3b',GradientType=0 ); /* IE6-9 */
  }
  div.primary_content > div > div.c_left > div > div dl dd {
    padding: 1.4vw 0 0 1.7vw;
    font-size: 2.6vw;
    font-weight: 500;
    line-height: 1.3;
  }
  div.primary_content > div > div.c_right {
    width: 89vw;
    margin: 0 auto;
    margin-top: 4vw;
    padding: 4vw 6vw 5.3vw;
    background: #ffffff;
    border-radius: 2.6vw;
    box-shadow: 0 0 7px 7px rgba(51, 51, 51, 0.3);
    height: auto;
  }
  div.primary_content > div > div.c_right img.img1 {
    display: block;
    width: 39vw;
    margin: 0 auto 2.4vw;
    height: auto;
  }
  div.primary_content > div > div.c_right dl {
    margin: 0 0 4vw;
  }
  div.primary_content > div > div.c_right dl dt {
    padding: 0.3vw 0;
    background: #569e33;
    color: #ffffff;
    font-size: 5vw;
    font-weight: 500;
    text-align: center;
    border-top-left-radius: 1.3vw;
    border-top-right-radius: 1.3vw;
    height: auto;
  }
  div.primary_content > div > div.c_right dl dd {
    height: 17.3vw;
    padding: 0 0 1.3vw;
    background: #4d5e4a;
    border-bottom-left-radius: 1.3vw;
    border-bottom-right-radius: 1.3vw;
  }
  div.primary_content > div > div.c_right dl dd a {
    display: block;
    height: 16vw;
    padding: 1.6vw 0 0 11vw;
    background: #ffffff url("../imgs/icon/icon_tel_free.svg") no-repeat 4vw
      center;
    background-size: 16.5vw auto;
    border-right: #569e33 1px solid;
    border-bottom: #569e33 1px solid;
    border-left: #569e33 1px solid;
    border-bottom-left-radius: 1.3vw;
    border-bottom-right-radius: 1.3vw;
    font-size: 3.5vw;
    text-align: center;
    text-decoration: none;
    width: auto;
    margin: 0;
  }
  div.primary_content > div > div.c_right dl dd a span {
    display: block;
    font-size: 7.4vw;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    padding: 0;
    background: none;
    width: auto;
    height: auto;
    margin: 0;
    color: #555555;
  }
  div.primary_content > div > div.c_right img.img2 {
    display: block;
    width: 67.8vw;
    margin: 0 auto 1.3vw;
    height: auto;
  }
  div.primary_content > div > div.c_right > a {
    display: block;
    margin: 0 auto;
    padding: 0 0 1.3vw;
    background: #bc3f00;
    border-radius: 11px;
    text-decoration: none;
    height: auto;
    width: auto;
  }
  div.primary_content > div > div.c_right a.pt3 {
    border-radius: 0;
  }
  div.primary_content > div > div.c_right a:hover {
    color: #555555;
  }

  div.primary_content > div > div.c_right > a span {
    position: relative;
    display: block;
    padding: 5vw 0 5vw 8vw;
    background: rgb(255, 144, 0); /* Old browsers */
    background: -moz-linear-gradient(
      top,
      rgba(255, 144, 0, 1) 0%,
      rgba(255, 106, 0, 1) 100%
    ); /* FF3.6-15 */
    background: -webkit-linear-gradient(
      top,
      rgba(255, 144, 0, 1) 0%,
      rgba(255, 106, 0, 1) 100%
    ); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(
      to bottom,
      rgba(255, 144, 0, 1) 0%,
      rgba(255, 106, 0, 1) 100%
    ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff9000', endColorstr='#ff6a00',GradientType=0 ); /* IE6-9 */
    border-radius: 10px;
    color: #ffffff;
    font-size: 5.4vw;
    font-weight: 500;
    letter-spacing: -0.8px;
    width: 100%;
    height: auto;
  }
  div.primary_content > div > div.c_right > a span::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5.3vw;
    display: block;
    width: 5.3vw;
    height: 5.3vw;
    margin: auto;
    background: url("../imgs/icon/arrow_circle_wt.svg") no-repeat center center;
    background-size: 5.3vw 5.3vw;
  }
  div.primary_content > div > div.c_right a span.pt2::after {
    display: none;
  }

  /*-- type --*/
  div.type {
    padding: 10.6vw 0;
    background: #f0f2f0;
  }
  /*タブ切り替え全体のスタイル*/
  .tabs01 {
    width: 94%;
    margin: 0 auto 10.6vw;
    overflow: hidden;
  }
  /*タブのスタイル*/
  .tabs01_item {
    display: block;
    width: 45vw;
    height: 13.3vw;
    padding: 2.4vw 0 0;
    background: #c2ccc4;
    border-top: #c2ccc4 1.3vw solid;
    font-size: 4vw;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
  }
  .tab_left {
    float: left;
  }
  .tab_right {
    float: right;
  }
  /*ラジオボタンを全て消す*/
  input[name="tabs01_item"] {
    display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tabs01_content {
    clear: both;
    display: none;
    background: #ffffff;
  }
  /*選択されているタブのコンテンツのみを表示*/
  #tabs01_a:checked ~ #tabs01_a_content,
  #tabs01_b:checked ~ #tabs01_b_content {
    display: block;
  }
  /*選択されているタブのスタイルを変える*/
  .tabs01 input:checked + .tabs01_item {
    background: #ffffff;
    border-top: #59a529 1.3vw solid;
  }

  div.tabs01_content_a > div {
    display: flex;
    flex-wrap: wrap;
    padding: 5.3vw 1vw 0;
  }
  div.tabs01_content_a > div > dl {
    width: calc(50% - 2vw);
    margin: 0 1vw 5.3vw;
    padding: 1vw 5px 1.5vw;
    border: #c9c9c9 1px solid;
    height: auto;
  }
  div.tabs01_content_a > div > dl > dt {
    padding: 0 0 1vw;
    color: #59a529;
    font-size: 4vw;
    font-weight: 500;
    text-align: center;
  }
  div.tabs01_content_a > div > dl > dd > img {
    display: block;
    width: 100%;
    margin: 0 0 1.8vw;
    height: auto;
  }
  div.tabs01_content_a > div > dl > dd dl dt {
    margin: 0 0 1vw;
    padding: 1vw 0;
    background: #59a529;
    color: #ffffff;
    font-size: 3.6vw;
    text-align: center;
    height: auto;
  }
  div.tabs01_content_a > div > dl > dd dl dd ul li {
    margin: 0 0 1vw;
    padding: 1vw 0;
    background: #dddddd;
    color: #000000;
    font-size: 3.6vw;
    text-align: center;
    height: auto;
  }

  div.tabs01_content_b > div {
    display: flex;
    flex-wrap: wrap;
    padding: 5.3vw 1vw 0;
  }
  div.tabs01_content_b > div > dl {
    width: calc(50% - 2vw);
    margin: 0 1vw 5.3vw;
    padding: 1vw 5px 4vw;
    border: #c9c9c9 1px solid;
  }
  div.tabs01_content_b > div > dl > dt {
    padding: 0 0 1vw;
    color: #59a529;
    font-size: 4vw;
    font-weight: 500;
    text-align: center;
    height: auto;
  }
  div.tabs01_content_b > div > dl > dt.edit {
    padding: 1.2vw 0 2.5vw;
    line-height: 1.1;
  }
  div.tabs01_content_b > div > dl > dd > img {
    display: block;
    width: 100%;
    margin: 0 0 1.8vw;
    height: auto;
  }
  div.tabs01_content_b > div > dl > dd > p {
    font-size: 3.7vw;
    letter-spacing: 0;
    line-height: 1.2;
  }

  @media screen and (max-width: 980px) {
    .navi_flex {
      width: 100%;
      height: auto;
      margin: 0 auto;
    }
  }

  a.order_1day {
    display: block;
    width: 89%;
    margin: 0 auto;
    padding: 5px;
    background: #4ed3e5;
    text-decoration: none;
    height: auto;
    background: linear-gradient(#8ae7f4, #4ed3e5);
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
    box-shadow: 0px 3px #037281;
  }

  a.order_1day_02 {
    display: block;
    width: 89%;
    margin: 0 auto;
    padding: 5px;
    background: #ff6a00;
    text-decoration: none;
    height: auto;
    background: linear-gradient(#fab17d, #ff6a00);
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
    box-shadow: 0px 3px #9a4102;
  }

  a.order_1day div {
    padding: 2vw 0 2.5vw;
    background: url("../imgs/icon/arrow_circle_wt.svg") no-repeat right 3vw
      center;
    background-size: 6vw auto;
    border: #ffffff 1px solid;
    color: #ffffff;
    font-size: 3vw;
    line-height: 1.3;
    text-align: center;
    height: auto;
  }

  a.order_1day_02 div {
    padding: 1vw 0 2.5vw;
    background: url("../imgs/icon/arrow_circle_wt.svg") no-repeat right 3vw
      center;
    background-size: 6vw auto;
    border: #ffffff 1px solid;
    color: #ffffff;
    font-size: 3vw;
    line-height: 1.3;
    text-align: center;
    height: auto;
  }

  a.order_1day div span.c1 {
    color: #ffff00;
    font-size: 7vw;
    font-weight: 700 !important;
  }
  a.order_1day div span.c2 {
    color: #fff;
    font-size: 6.5vw;
    font-weight: 700 !important;
  }
  a.order_1day div span.c3 {
    font-size: 5.8vw;
    font-weight: 700 !important;
  }
  a.order_1day div span.c4 {
    display: inline-block;
    font-size: 3vw;
    padding: 1vw 0 0;
  }
  a.order_1day_02 div span.c4 {
    display: inline-block;
    font-size: 6.5vw;
    padding: 1vw 0 0;
  }

  /*-- service --*/
  div.service > h2 {
    padding: 2.5vw 0;
    background: #59a529;
    color: #ffffff;
    font-size: 5.8vw;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    height: auto;
  }
  div.service > h2 span {
    display: block;
    color: #ffff3b;
    font-size: 6.5vw;
    font-weight: 900;
  }
  div.service > div {
    padding: 8vw 0 2vw 5px;
    background: #dcead3;
    display: block;
  }
  div.service > div > div {
    width: 89vw;
    margin: 0 auto 6vw;
    background: rgb(145, 175, 144);
    border-top-left-radius: 4.6vw;
    border-top-right-radius: 1.3vw;
    border-bottom-left-radius: 1.3vw;
    border-bottom-right-radius: 4.6vw;
    height: auto;
  }
  div.service > div > div > div {
    position: relative;
    top: -5px;
    left: -5px;
    width: 89vw;
    padding: 2.5vw 3.5vw 4.5vw;
    background: #ffffff;
    border-top-left-radius: 4.6vw;
    border-top-right-radius: 1.3vw;
    border-bottom-left-radius: 1.3vw;
    border-bottom-right-radius: 4.6vw;
    height: auto;
  }
  div.service > div > div > div h3 {
    width: 40vw;
    margin: 0 auto;
    font-size: 6.5vw;
    font-weight: 900;
    text-align: center;
    line-height: 1.3;
    background: rgb(255, 255, 255); /* Old browsers */
    background: -moz-linear-gradient(
      top,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 45%,
      rgba(255, 255, 59, 1) 46%,
      rgba(255, 255, 59, 1) 100%
    ); /* FF3.6-15 */
    background: -webkit-linear-gradient(
      top,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 45%,
      rgba(255, 255, 59, 1) 46%,
      rgba(255, 255, 59, 1) 100%
    ); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 45%,
      rgba(255, 255, 59, 1) 46%,
      rgba(255, 255, 59, 1) 100%
    ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffff3b',GradientType=0 ); /* IE6-9 */
  }
  div.service > div > div > div p.c1 {
    padding: 1.5vw 0;
    color: #ff2436;
    font-size: 4vw;
    font-weight: 700;
    text-align: center;
  }
  div.service > div > div > div p.c2 {
    font-size: 3.8vw;
    letter-spacing: 0;
    line-height: 1.4;
  }

  /*-- problem --*/
  div.problem {
    padding: 8vw 0 0;
    background: url("../imgs/problem_bg.png?01") repeat center top;
    background-size: 3.3vw auto;
  }
  div.problem > h2 {
    width: 84vw;
    margin: 0 auto;
    padding: 0 0 2vw;
    border-bottom: #ff6e00 4px solid;
    font-size: 5.5vw;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }
  div.problem > h2 span.c1 {
    color: #6eb242;
    font-size: 6.5vw;
    font-weight: 900;
  }
  div.problem > h2 span.c2 {
    font-size: 6vw;
    font-weight: 900;
    color: #555555;
  }
  div.problem > div {
    background: url("../imgs/sp/problem_woman.png") no-repeat left bottom;
    background-size: contain;
    height: auto;
  }
  div.problem > div > div {
    padding: 5.6vw 0 8vw;
    width: auto;
  }
  div.problem > div > div ul {
    width: 56vw;
    margin: 0 2.6vw 0 auto;
    padding: 1vw 2vw 2vw 9vw;
    background: #ffffff;
    border: #6eb242 3px solid;
    border-radius: 10px;
    box-shadow: 0 0 5px 3px rgb(153, 153, 153, 0.5);
    height: auto;
  }
  div.problem > div > div ul li {
    position: relative;
    padding: 1vw 0 1.7vw;
    background: url("../imgs/dots.png?01") repeat-x left bottom;
    background-size: 4px auto;
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1.4;
    height: auto;
  }
  div.problem > div > div ul li::after {
    content: "";
    position: absolute;
    top: 1.2vw;
    left: -6.5vw;
    display: block;
    width: 5.3vw;
    height: 5.3vw;
    background: url("../imgs/icon/icon_check.svg") no-repeat center center;
    background-size: 5.3vw auto;
  }
  div.problem > div > div ul li span {
    color: #ff2436;
  }

  /*-- flow --*/
  div.flow {
    padding: 8.6vw 0 8vw;
    background: #f0f2f0;
  }
  div.flow > h2 {
    width: 56vw;
    margin: 0 auto 5vw;
    padding: 0 0 1vw;
    border-bottom: #555555 2px solid;
    font-size: 5vw;
    font-weight: 700;
    text-align: center;
  }
  div.flow > ol {
    width: 94%;
    margin: 0 auto;
    display: block;
  }
  div.flow > ol li {
    list-style: none;
    position: relative;
    min-height: 33vw;
    margin: 0 0 6.6vw;
    padding: 2vw 4vw;
    background: #ffffff;
    border-radius: 10px;
    width: auto;
  }
  div.flow > ol li:nth-child(n + 2)::after {
    content: "";
    position: absolute;
    top: -6.5vw;
    left: 0;
    right: 0;
    display: block;
    width: 4vw;
    height: 7vw;
    margin: auto;
    background: url("../imgs/icon/arrow_gr.svg") no-repeat center center;
    background-size: 4vw auto;
    transform: rotate(90deg);
    bottom: auto;
  }
  div.flow > ol li h3 {
    padding: 0 0 3vw;
    color: #00a308;
    font-size: 5vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
  }
  div.flow > ol li h3 span {
    letter-spacing: -5px;
  }
  div.flow > ol li img {
    float: left;
    display: block;
    width: 27vw;
    height: auto;
    margin: 0;
  }
  div.flow > ol li p {
    margin: 0 0 0 32vw;
    padding: 0 0 1.5vw;
    font-size: 3.6vw;
    letter-spacing: 0;
    line-height: 1.4;
  }

  a.order_1day_b {
    margin: 10.6vw auto;
  }

  /*-- achievement --*/
  div.achievement {
    padding: 10vw 0 5.3vw;
    background: url("../imgs/sp/achievement_bg.jpg") no-repeat center bottom;
    background-size: cover;
  }
  div.achievement > h2 {
    width: 30%;
    margin: 0 auto 8.8vw;
    padding: 0 0 1vw;
    border-bottom: #ffffff 2px solid;
    color: #ffffff;
    font-size: 6.5vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
  }
  div.achievement > div {
    width: 94%;
    margin: 0 auto;
    display: block;
  }
  div.achievement > div > div {
    margin: 0 0 8vw;
    padding: 0 0 2vw;
    background: #ffffff;
    border-radius: 10px;
    width: auto;
  }
  div.achievement > div > div h3 {
    display: flex;
    padding: 1.7vw 0;
    background: #f08b07;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    height: auto;
  }
  div.achievement > div > div h3 span.c1 {
    display: block;
    padding: 0.8vw 4.5vw;
    border-right: #ffffff 2px solid;
    color: #ffffff;
    font-size: 5vw;
    font-weight: 700;
    height: auto;
  }
  div.achievement > div > div h3 span.c2 {
    display: block;
    padding: 1.1vw 0 0 4.5vw;
    color: #ffffff;
    font-size: 5.5vw;
    font-weight: 700;
    line-height: 1.2;
  }
  div.achievement > div > div img {
    display: block;
    width: 84vw;
    margin: 4.5vw auto 7vw;
    height: auto;
  }
  div.achievement > div > div dl {
    width: 84vw;
    margin: 0 auto;
    padding: 0;
  }
  div.achievement > div > div dl dt {
    width: 16vw;
    padding: 0.5vw 0;
    color: #ffffff;
    font-size: 4vw;
    font-weight: 500;
    text-align: center;
  }
  div.achievement > div > div dl dt.c1 {
    background: #567a70;
    height: auto;
  }
  div.achievement > div > div dl dt.c2 {
    background: #f08b07;
    height: auto;
  }
  div.achievement > div > div dl dd {
    padding: 2vw 0 5vw;
    font-size: 3.7vw;
    letter-spacing: 0;
    line-height: 1.5;
  }
  div.achievement > div > div dl dt.c1 + dd {
    border-top: #567a70 1px solid;
  }
  div.achievement > div > div dl dt.c2 + dd {
    border-top: #f08b07 1px solid;
  }

  /*-- qa --*/
  div.qa > h2 {
    margin: 0 auto 7.3vw;
    padding: 3vw 0;
    background: #6eb242;
    color: #ffffff;
    font-size: 7vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    height: auto;
  }
  div.qa h3 {
    margin: 0 0 6vw 2.6%;
    padding: 0.5vw 0 0.8vw 10px;
    border-left: #59a529 1.3vw solid;
    font-size: 5vw;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    width: auto;
    height: auto;
  }
  div.qa dl {
    width: 94%;
    margin: 0 auto;
    padding: 0 0 12vw;
  }
  div.qa dl dt {
    min-height: 13vw;
    padding: 0 0 3.5vw 10vw;
    background: url("../imgs/icon/icon_q.svg") no-repeat left 0.5vw;
    background-size: 8vw auto;
    font-size: 4.2vw;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
  }
  div.qa dl dd {
    min-height: 16vw;
    margin: 0 0 15px;
    padding: 0 0 6vw 10vw;
    background-image: url("../imgs/icon/icon_a.svg"), url("../imgs/dots2.png?2");
    background-repeat: no-repeat, repeat-x;
    background-position: left 0.5vw, left bottom;
    background-size: 8vw auto, 4px auto;
    font-size: 3.6vw;
    letter-spacing: 0;
    line-height: 1.4;
  }
  div.qa dl dd a {
    color: #1545f6;
    letter-spacing: 0;
    text-decoration: underline;
  }

  /*-- area --*/
  div.area > h2 {
    margin: 0 auto;
    padding: 3vw 0;
    background: #6eb242;
    color: #ffffff;
    font-size: 7vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    height: auto;
  }
  div.area > div {
    padding: 8vw 0 10vw;
    background: url("../imgs/problem_bg.png?01") repeat center top;
    background-size: 3.3vw auto;
    display: block;
  }
  div.area > div > img {
    display: block;
    width: 80%;
    margin: 0 auto 4.6vw;
    height: auto;
  }
  div.area > div > div {
    width: 80%;
    margin: 0 auto;
    padding: 0;
  }
  div.area > div > div p {
    margin: 0 0 4vw;
    color: #00a308;
    font-size: 5.8vw;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
    text-align: center;
    background: -moz-linear-gradient(
      top,
      rgba(255, 255, 59, 0) 0%,
      rgba(255, 255, 59, 0) 49%,
      rgba(255, 255, 59, 1) 50%,
      rgba(255, 255, 59, 1) 100%
    ); /* FF3.6-15 */
    background: -webkit-linear-gradient(
      top,
      rgba(255, 255, 59, 0) 0%,
      rgba(255, 255, 59, 0) 49%,
      rgba(255, 255, 59, 1) 50%,
      rgba(255, 255, 59, 1) 100%
    ); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(
      to bottom,
      rgba(255, 255, 59, 0) 0%,
      rgba(255, 255, 59, 0) 49%,
      rgba(255, 255, 59, 1) 50%,
      rgba(255, 255, 59, 1) 100%
    ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffff3b', endColorstr='#ffff3b',GradientType=0 ); /* IE6-9 */
  }
  div.area > div > div dl dt {
    width: 32vw;
    padding: 1vw 0;
    background: #6eb242;
    border-radius: 8vw;
    color: #ffffff;
    font-size: 5vw;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    height: auto;
  }
  div.area > div > div dl dd {
    padding: 1vw 0 0;
    font-size: 3.6vw;
    letter-spacing: 0;
    line-height: 1.4;
  }

  /*-- cost --*/
  div.cost {
    padding: 0 0 13vw;
    background: #f0f2f0;
  }
  div.cost > h2 {
    margin: 0 auto 6.6vw;
    padding: 3vw 0;
    background: #4ed3e5;
    color: #ffffff;
    font-size: 7vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    height: auto;
  }
  /*タブ切り替え全体のスタイル*/
  .tabs02 {
    width: 94%;
    margin: 0 auto;
    overflow: hidden;
  }
  /*タブのスタイル*/
  .tabs02_item {
    display: block;
    width: 45vw;
    height: 13.3vw;
    padding: 2.4vw 0 0;
    background: #c2ccc4;
    border-top: #c2ccc4 1.3vw solid;
    font-size: 4vw;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
  }
  /*ラジオボタンを全て消す*/
  input[name="tabs02_item"] {
    display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tabs02_content {
    clear: both;
    display: none;
    background: #ffffff;
  }
  /*選択されているタブのコンテンツのみを表示*/
  #tabs02_a:checked ~ #tabs02_a_content,
  #tabs02_b:checked ~ #tabs02_b_content {
    display: block;
  }
  /*選択されているタブのスタイルを変える*/
  .tabs02 input:checked + .tabs02_item {
    background: #ffffff;
    border-top: #4ed3e5 1.3vw solid;
  }

  div.tabs02_content_a div.table_box > div {
    display: block;
  }

  div.tabs02_content_a > div {
    padding: 5.3vw 2.6vw 8vw;
  }
  div.tabs02_content_a > div > p.c1,
  div.tabs02_content_a > div > p.c1_2 {
    padding: 0 0 8vw;
    font-size: 3.6vw;
    letter-spacing: 0;
    line-height: 1.6;
  }
  div.tabs02_content_a > div > p.c1 {
    padding: 0 0 4vw;
  }
  div.tabs02_content_a > div > p.c1 a {
    color: #1c3bba;
  }
  div.tabs02_content_a div.table_box {
    padding: 0 0 12vw;
  }
  div.tabs02_content_a div.table_box h3 {
    margin: 0 0 1vw;
    padding: 0 0 0 8vw;
    background: url("../imgs/icon/icon_sun.svg") no-repeat left center;
    background-size: 40px 40px;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0;
  }
  div.tabs02_content_a div.day > div.c1 h3 {
    background: url("../imgs/icon/icon_sun.svg") no-repeat left center;
    background-size: 6.6vw 100%;
  }
  div.tabs02_content_a div.night > div.c1 h3 {
    background: url("../imgs/icon/icon_moon.svg") no-repeat left center;
    background-size: 6.6vw 100%;
  }
  div.tabs02_content_a div.night > div.c1 h3 span {
    font-size: 3.6vw;
  }
  div.tabs02_content_a h3 + p {
    padding: 0 0 1vw;
    font-size: 2.6vw;
    letter-spacing: 0;
  }
  div.tabs02_content_a div.table_box > div.c2 {
    overflow-x: scroll; /*overflow: auto;-webkit-overflow-scrolling: touch;*/
  }
  div.tabs02_content_a div.table_box > div.c2::-webkit-scrollbar {
    height: 10px;
  }
  div.tabs02_content_a div.table_box > div.c2::-webkit-scrollbar-track {
    margin: 0 2px;
    background: #e8e8e8;
    border-radius: 5px;
  }
  div.tabs02_content_a div.table_box > div.c2::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #8c8c8c;
  }
  div.tabs02_content_a div.table_box table {
    width: 168vw;
    margin: 0 0 10px;
    border: #c9c9c9 1px solid;
  }
  div.tabs02_content_a div.table_box table th {
    padding: 1vw 0;
    color: #ffffff;
    font-size: 3.2vw;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    vertical-align: middle;
    border-left: #ffffff 1px solid;
  }
  div.tabs02_content_a div.table_box table tr:first-child th:first-child {
    border-left: none !important;
  }
  div.tabs02_content_a div.table_box table th.border {
    border-bottom: #ffffff 1px solid;
    font-size: 3.2vw;
    font-weight: 400;
  }
  div.tabs02_content_a div.table_box table th.border span {
    font-size: 3.2vw;
    font-weight: 500;
  }
  div.tabs02_content_a div.table_box table th.c1 {
    font-size: 2.6vw !important;
    font-weight: 400 !important;
  }
  div.tabs02_content_a div.day table th {
    background: #f08b07;
  }
  div.tabs02_content_a div.night table th {
    background: #3f5089;
  }
  div.tabs02_content_a div.table_box table td {
    padding: 1vw 0 1vw 8px;
    font-size: 2.6vw;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    vertical-align: middle;
    border: #c9c9c9 1px solid;
  }
  div.tabs02_content_a div.day table td.bg {
    background: #fff5e6;
    font-size: 2.6vw;
    font-weight: 400;
    text-align: center;
  }
  div.tabs02_content_a div.night table td.bg {
    background: #e9f0ff;
    font-size: 2.6vw;
    font-weight: 400;
    text-align: center;
  }
  div.tabs02_content_a div.table_box table td span {
    display: inline-block;
    padding: 0 0 0 2vw;
    font-size: 2.2vw !important;
    font-weight: 400;
  }

  div.tabs02_content_a div.other_cost {
    padding: 0 0 60px;
  }
  div.tabs02_content_a div.other_cost_edit {
    padding: 0 0 45px;
  }
  div.tabs02_content_a div.other_cost h3 {
    margin: 0 0 4vw;
    padding: 0 0 0 1.8vw;
    border-left: #4ed3e5 1.4vw solid;
    font-size: 5vw;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    height: auto;
  }
  div.tabs02_content_a div.other_cost h3 span {
    font-size: 2.8vw;
    font-weight: 400;
  }

  div.tabs02_content_a div.other_cost dl {
    display: block;
  }
  div.tabs02_content_a div.other_cost dl.c1 dt {
    width: 26vw;
    margin: 0 0 1vw;
  }
  div.tabs02_content_a div.other_cost dl.c2 dt {
    width: 20vw;
    margin: 0 0 1vw;
  }
  div.tabs02_content_a div.other_cost dl dt span {
    display: block;
    padding: 0 0 0;
    background: #6eb242;
    color: #ffffff;
    font-size: 4vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
  }
  div.tabs02_content_a div.other_cost dl.c1 dt span {
    width: auto;
    height: auto;
  }
  div.tabs02_content_a div.other_cost dl.c2 dt span {
    width: auto;
    height: auto;
  }

  div.tabs02_content_a div.other_cost dl dd {
    padding: 0 0 3vw;
    font-size: 3.6vw;
    letter-spacing: 0;
    line-height: 1.5;
  }
  div.tabs02_content_a div.other_cost dl.c1 dd {
    width: 100%;
  }

  div.tabs02_content_a div.other_cost dl.c2 dd {
    width: 100%;
  }

  div.tabs02_content_a div.other_cost > p {
    font-size: 3.6vw;
    letter-spacing: 0;
  }
  div.tabs02_content_a div.other_cost > p.edit {
    padding: 1vw 0 0;
  }

  div.tabs02_content_a div.other_cost table.spOnly {
    width: 100%;
    border: #c9c9c9 1px solid;
  }
  div.tabs02_content_a div.other_cost table.spOnly th {
    padding: 1vw 0;
    background: #e8edef;
    font-size: 2.7vw;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    vertical-align: middle;
    border: #c9c9c9 1px solid;
  }
  div.tabs02_content_a div.other_cost table.spOnly th.c1 {
    font-size: 3.2vw;
    font-weight: 700;
  }
  div.tabs02_content_a div.other_cost table.spOnly th.c2 {
    padding: 0 0;
    font-weight: 400;
    line-height: 1;
  }
  div.tabs02_content_a div.other_cost table.spOnly th.bg {
    height: 18vw;
    background: #eff7f9;
    font-weight: 400;
  }
  div.tabs02_content_a div.other_cost table.spOnly th.w1 {
    width: 13%;
  }
  div.tabs02_content_a div.other_cost table.spOnly th.w2 {
    width: 6%;
  }
  div.tabs02_content_a div.other_cost table.spOnly td {
    position: relative;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    vertical-align: middle;
    border: #c9c9c9 1px solid;
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c1 {
    position: absolute;
    top: 4vw;
    left: 0;
    width: calc(300% + 2px);
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c1_edit {
    width: calc(200% + 1px);
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c2 {
    position: absolute;
    top: 4vw;
    left: 0;
    width: calc(100% - 1px);
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c3 {
    position: absolute;
    top: 4vw;
    left: 0;
    width: calc(200% + 1px);
    height: 10vw;
    padding: 2.9vw 0 0;
    background: #ff2436;
    color: #ffffff;
    font-size: 2.8vw;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c3_edit {
    width: calc(300% + 3px);
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c1 span {
    position: relative;
    display: block;
    width: 100%;
    height: 10vw;
    padding: 2.8vw 0 0;
    background: #f7f7f7;
    font-size: 2.8vw;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    border-top: #b0babf 1px solid;
    border-bottom: #b0babf 1px solid;
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c1_edit span {
    width: 100%;
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c2 span {
    position: relative;
    display: block;
    width: 100%;
    height: 10vw;
    padding: 1.7vw 1vw 0 0;
    background: #a58989;
    color: #ffffff;
    font-size: 2.8vw;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c1 span::after {
    content: "";
    position: absolute;
    top: -1px;
    right: 0;
    display: block;
    width: 4vw;
    height: 10vw;
    background: url("../imgs/sp/mask.png") no-repeat right center;
    background-size: cover;
  }
  div.tabs02_content_a div.other_cost table.spOnly td div.c2 span::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 4vw;
    height: 10vw;
    background: url("../imgs/sp/mask2.png") no-repeat right center;
    background-size: cover;
  }

  div.tabs02_content_a > div > p.c2 {
    color: #ff2436;
    font-size: 4vw;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3;
    text-align: center;
  }

  div.tabs02_content_b > div {
    padding: 5.3vw 2.6vw 6vw;
  }
  div.tabs02_content_b div.other_cost h3 {
    margin: 0 0 4vw;
    padding: 0 0 0 1.8vw;
    border-left: #4ed3e5 1.4vw solid;
    font-size: 5vw;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    height: auto;
  }
  div.tabs02_content_b div.other_cost ul {
    padding: 0 0 4vw;
  }
  div.tabs02_content_b div.other_cost ul.edit {
    padding: 0 0 2vw;
  }
  div.tabs02_content_b div.other_cost ul li,
  div.tabs02_content_b div.other_cost p {
    font-size: 3.6vw;
    letter-spacing: 0;
    line-height: 1.6;
  }
  div.tabs02_content_b div.other_cost ul li span {
    display: block;
    padding: 0 0 0 3.6vw;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /*-- ask --*/
  div.ask > h2 {
    margin: 0 auto;
    padding: 3vw 0;
    background: #6eb242;
    color: #ffffff;
    font-size: 7vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    height: auto;
  }
  div.ask > form {
    width: 90%;
    margin: 0 auto;
    padding: 8vw 0 15vw;
  }
  div.ask > form dl {
    padding: 0;
  }
  div.ask > form dl dt {
    padding: 0 0 0.6vw;
    display: inline;
    width: auto;
  }
  div.ask > form dl dt span:nth-child(1) {
    font-size: 3.6vw;
    font-weight: 700;
    letter-spacing: 0;
    display: inline-block;
  }
  div.ask > form dl dt span:nth-child(2) {
    display: inline-block;
    margin: 0 0 0 2vw;
    padding: 0.6vw 1vw;
    background: #f08b07;
    color: #ffffff;
    font-size: 3vw;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    width: auto;
    height: auto;
  }
  div.ask > form dl dd {
    width: 100%;
    padding: 0 0 7vw;
  }
  div.ask > form dl dd ul {
    padding: 0 0 5vw;
    display: block;
  }
  div.ask > form dl dd ul li {
    padding: 0 0 3vw;
  }
  div.ask > form dl dd ul li input {
    border: #555555 1px solid;
  }
  div.ask > form .privacy_check_inner input {
    border: #555555 1px solid;
  }
  div.ask > form dl dd ul li label {
    position: relative;
    top: 0.8vw;
    display: inline-block;
    padding: 0 0 0 1.5vw;
    font-size: 3.6vw;
  }
  div.ask > form dl dd > input,
  div.ask > form dl dd > textarea {
    width: 100%;
    height: 10vw;
    padding: 2vw 4vw;
    border: #555555 1px solid;
    font-size: 3.6vw;
  }
  div.ask > form dl dd > textarea {
    min-height: 20vw;
  }
  div.ask > form > button {
    display: block;
    width: 80%;
    height: 20vw;
    margin: 15vw auto 0;
    background: #ffffff url("../imgs/sp/submit_bg.png?01") no-repeat center
      center;
    background-size: contain;
    color: #ffffff;
    font-size: 5vw;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    cursor: pointer;
  }

  .submit_box {
    width: 90%;
    margin: 0 auto;
    font-size: 3vw;
    line-height: 1.7;
    padding: 20px 3vw;
    border: 1px solid #cfcfcf;
  }

  div.ask > form .privacy_box {
    width: 100%;
    height: 30vw;
    font-size: 3.2vw;
    padding: 1em;
  }
  div.ask > form .privacy_box dl dt {
    display: block;
  }
  .privacy_check_inner {
    padding-top: 1em;
    font-size: 3.6vw;
    white-space: nowrap;
  }
  div.ask > form .privacy_box dl dd .pl7 {
    padding-left: 6em;
  }

  div.ask > form p.mt20.center {
    font-size: 3vw;
  }

  /*-- footer --*/
  div.footer_box {
    padding: 6.5vw 0;
    background: #6eb242;
    height: auto;
  }

  div.footer_box > div {
    display: block;
    width: auto;
  }

  div.footer_box > div ul {
    display: flex;
    justify-content: center;
  }
  div.footer_box > div ul li {
    padding: 0 5vw 0;
  }
  div.footer_box > div ul li a {
    color: #ffffff;
    font-size: 3.2vw;
    text-decoration: none;
  }
  div.footer_box > div > div {
    padding: 6vw 0 0;
    text-align: center;
  }
  div.footer_box > div > div small {
    color: #ffffff;
    font-size: 2.6vw;
  }
}
