@charset "UTF-8";
/* Scss Document */
/* ==========================================================================
 Foundation
============================================================================*/
/* =============================================== */
/** 変数設定 */
/* ----------------------------------------------- */
/* =============================================== */
/** reset全体設定 */
/* ----------------------------------------------- */
* {
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
  text-decoration: none; }

/* =============================================== */
/** resetタグ設定 */
/* ----------------------------------------------- */
html {
  overflow-y: scroll; }

html, body {
  height: 100%; }

dl, dt, dd, ol, ul, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, p, blockquote, th, td, caption, address, cite, code, dfn, em, strong, th, var, map, area, figure, figcaption, span {
  margin: 0;
  padding: 0; }

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

body {
  font-size: 16px;
  /*CSS3対応ブラウザのみ*/
  font-family: "M PLUS Rounded 1c", san-serif;
  background: #FFF;
  word-break: break-word;
  position: relative;
  color: #3e3a39;
  background: url("../../img/bg_lattice.svg") center center repeat, linear-gradient(to bottom, #f6c8d7 1%, #ee1e63 100%);
  background-size: 20px 20px,100%; }
  @media screen and (max-width: 600px) {
    body {
      width: 100%;
      height: 100%;
      font-size: 14px; } }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2; }

p {
  line-height: 1.6; }

table {
  font-size: inherit;
  font: 100%;
  width: 100%; }

fieldset, img, abbr, acronym, hr {
  border: 0;
  vertical-align: middle; }

ul {
  list-style: none; }

ol {
  list-style-position: outside;
  margin-left: 20px; }

img {
  max-width: 100%;
  height: auto; }

/* =============================================== */
/** basicタグ設定 */
/* ----------------------------------------------- */
a {
  text-decoration: underline;
  color: #009EE5;
  cursor: pointer; }
  a.hanten {
    color: #FFFFFF; }

a:hover {
  color: #3e3a39; }

strong {
  font-weight: bold; }

address {
  font-style: normal; }

.w {
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .w {
      width: 100%;
      padding: 0 20px;
      box-sizing: border-box; } }
  @media screen and (max-width: 600px) {
    .w {
      width: 100%;
      padding: 0 20px;
      box-sizing: border-box; } }

.w1200 {
  width: 1200px;
  margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .w1200 {
      width: 100%;
      padding: 0 10px;
      box-sizing: border-box; } }

.f-en {
  font-family: serif; }

.f-en2 {
  font-family: sans-serif; }

.f-m {
  font-family: "M PLUS Rounded 1c", san-serif; }

.f-m2 {
  font-family: "M PLUS Rounded 1c", san-serif; }

.f-g {
  font-family: "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", sans-serif; }

/* =============================================== */
/** resetクラス設定 */
/* ----------------------------------------------- */
.f_10 {
  font-size: 10px;
  font-size: 0.625rem; }

.f_11 {
  font-size: 11px;
  font-size: 0.6875rem; }

.f_12 {
  font-size: 12px;
  font-size: 0.75rem; }

.f_13 {
  font-size: 13px;
  font-size: 0.8125rem; }

.f_14, header #form #sbox, #s07 li.t01 dt span.style05, #s07 li.t01 dt .btn-style span.btn, .btn-style #s07 li.t01 dt span.btn, #s07 li.t01 dt .btn-style span.input_btn_wrap, .btn-style #s07 li.t01 dt span.input_btn_wrap, #s07 li.t01 dt .btn-style span.input_btn_wrap::after, .btn-style #s07 li.t01 dt span.input_btn_wrap::after, #s07 li.t01 dt .contact span.require, .contact #s07 li.t01 dt span.require, #s07 li.t02 dt span.style05, #s07 li.t02 dt .btn-style span.btn, .btn-style #s07 li.t02 dt span.btn, #s07 li.t02 dt .btn-style span.input_btn_wrap, .btn-style #s07 li.t02 dt span.input_btn_wrap, #s07 li.t02 dt .btn-style span.input_btn_wrap::after, .btn-style #s07 li.t02 dt span.input_btn_wrap::after, #s07 li.t02 dt .contact span.require, .contact #s07 li.t02 dt span.require, #s07 li.t03 dt span.style05, #s07 li.t03 dt .btn-style span.btn, .btn-style #s07 li.t03 dt span.btn, #s07 li.t03 dt .btn-style span.input_btn_wrap, .btn-style #s07 li.t03 dt span.input_btn_wrap, #s07 li.t03 dt .btn-style span.input_btn_wrap::after, .btn-style #s07 li.t03 dt span.input_btn_wrap::after, #s07 li.t03 dt .contact span.require, .contact #s07 li.t03 dt span.require, .box2 li dt span.style05, .box2 li dt .btn-style span.btn, .btn-style .box2 li dt span.btn, .box2 li dt .btn-style span.input_btn_wrap, .btn-style .box2 li dt span.input_btn_wrap, .box2 li dt .btn-style span.input_btn_wrap::after, .btn-style .box2 li dt span.input_btn_wrap::after, .box2 li dt .contact span.require, .contact .box2 li dt span.require {
  font-size: 14px;
  font-size: 0.875rem; }

.f_16 {
  font-size: 16px;
  font-size: 1.0rem; }

.f_18, .fs-s {
  font-size: 18px;
  font-size: 1.1 0.25rem; }

.f_20, header nav ul li, #s09 h4, .apply-step li, #c02 ul.c02_ul01 li h3 {
  font-size: 20px;
  font-size: 1.25rem; }

.f_24, #s07 li.t01 dt, #s07 li.t01 h3, #s07 li.t02 dt, #s07 li.t02 h3, #s07 li.t03 dt, #s07 li.t03 h3, .box2 li dt, .box2 li h3, #j02 dt, #c02 ul.c02_ul02 li, .fs-m {
  font-size: 24px;
  font-size: 1.5rem; }

.f_28 {
  font-size: 28px;
  font-size: 1.75rem; }
  @media screen and (max-width: 600px) {
    .f_28 {
      font-size: 14px;
      font-size: 1.4rem; } }

.f_32 {
  font-size: 32px;
  font-size: 2.0rem; }
  @media screen and (max-width: 600px) {
    .f_32 {
      font-size: 18px;
      font-size: 1.8rem; } }

.f_36, #s09 h3, #c02 h2 {
  font-size: 36px;
  font-size: 2.28rem; }

.f_48, .fs-l, #top-slider--btn.result.btn-style .btn, #top-slider--btn.result.btn-style .input_btn_wrap, #top-slider--btn.result.btn-style .input_btn_wrap::after {
  font-size: 48px;
  font-size: 3.0rem; }
  @media screen and (max-width: 600px) {
    .f_48, .fs-l, #top-slider--btn.result.btn-style .btn, #top-slider--btn.result.btn-style .input_btn_wrap, #top-slider--btn.result.btn-style .input_btn_wrap::after {
      font-size: 24px;
      font-size: 2.4rem; } }

.f_60 {
  font-size: 60px;
  font-size: 3.75rem; }
  @media screen and (max-width: 600px) {
    .f_60 {
      font-size: 20px;
      font-size: 2.0rem; } }

.palt {
  font-feature-settings: "palt" 1; }

/*======================================================
	CLEARFIX  clearしたい親要素に加える
======================================================*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
  line-height: 0; }

.clearfix {
  display: inline-block; }

/* exlude MacIE5 \*/
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* end MacIE5 */
div {
  zoom: 100%; }

/* =============================================== */
/** basicクラス設定 */
/* ----------------------------------------------- */
.f_r {
  float: right; }

.f_l {
  float: left; }

.c_b {
  clear: both; }

.o_h {
  overflow: hidden; }

.m_t10 {
  margin-top: 10px; }

.m_t30 {
  margin-top: 30px; }

.m_t40 {
  margin-top: 40px; }

.m_r20 {
  margin-right: 20px; }

.m_b10 {
  margin-bottom: 10px; }

.m_b10 {
  margin-bottom: 10px; }

.m_b15 {
  margin-bottom: 15px; }

.m_b20 {
  margin-bottom: 20px; }

.m_b30 {
  margin-bottom: 30px; }

.m_b40 {
  margin-bottom: 40px; }

.m_b50 {
  margin-bottom: 50px; }

.m_b80 {
  margin-bottom: 80px; }

.m_b100 {
  margin-bottom: 100px; }

.m_l20 {
  margin-left: 20px; }

.p_t10 {
  padding-top: 10px; }

.p_t20 {
  padding-top: 20px; }

.p_t30 {
  padding-top: 30px; }

.p_b10 {
  padding-bottom: 10px; }

.p_l1em {
  padding-left: 1em; }

.indent_1em {
  text-indent: -1em;
  padding-left: 1em; }

.bold {
  font-weight: bold;
  font-weight: 800; }

.indent1 {
  text-indent: -1em;
  padding-left: 1em; }

.indent3 {
  padding-left: 3em;
  text-indent: -3em; }

.c_red {
  color: #F00; }

.c_blue {
  color: #00b1bb; }

.c_orange {
  color: #e7465a; }

.c_gray {
  color: #fbfbfb; }

.t_l {
  text-align: left; }

.t_r {
  text-align: right; }

.t_c {
  text-align: center; }

ul.list-disc {
  list-style: outside disc !important;
  margin-left: 20px; }

.duble {
  background-image: url("../img/double.png");
  background-repeat: repeat-x;
  background-position: center; }

.youtube {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9; }

img.frame {
  padding: 3px !important;
  border: 1px solid #B1B1B1 !important; }

table.basic {
  border-top: 1px dotted #BBB; }

table.basic th,
table.basic td {
  border-bottom: 1px dotted #BBB;
  padding: 5px; }

table.basic th {
  font-weight: bold; }

table.basic2 th,
table.basic2 td {
  /*基本のテーブル*/
  border: solid #ccc 1px;
  padding: 7px 10px 10px 10px;
  background: #fff; }

table.basic2 .bg-gray {
  background: #eee; }

.info {
  background: #DFD5BC;
  padding: 10px; }

/* btn */
.btn-style {
  margin-left: auto;
  margin-right: auto;
  max-width: 80%;
  text-align: center; }
  @media screen and (max-width: 600px) {
    .btn-style {
      max-width: 100%; } }
  .btn-style .btn, .btn-style .input_btn_wrap, .btn-style .input_btn_wrap::after {
    height: 78px;
    border-radius: calc( 78px/2 );
    border: none;
    padding: 0 32px;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    transition: 0.3s all ease-in-out;
    text-decoration: none;
    box-shadow: 4px 4px 4px 0 rgba(100, 100, 100, 0.5); }
    @media screen and (max-width: 600px) {
      .btn-style .btn, .btn-style .input_btn_wrap, .btn-style .input_btn_wrap::after {
        border-radius: 10px;
        height: calc(60 / 414 * 100vw);
        padding: 0 calc(1 / 414 * 100vw);
        font-size: calc(15 / 414 * 100vw); } }
    .btn-style .btn::after, .btn-style .input_btn_wrap::after {
      position: absolute;
      right: 24px;
      top: 50%;
      transform: translate(0, -50%);
      content: "";
      width: 24px;
      height: 24px;
      background: url("../../img/btn_right.svg") center center no-repeat;
      background-size: 100% 100%; }
    .btn-style .btn:hover, .btn-style .input_btn_wrap:hover, .btn-style .input_btn_wrap:hover::after {
      background: #f09cb8;
      color: #fff;
      opacity: 0.9; }
    .btn-style .btn.gray, .btn-style .gray.input_btn_wrap, .btn-style .gray.input_btn_wrap::after {
      box-shadow: 4px 4px 0 0 rgba(170, 170, 170, 0.9); }
  .btn-style .input_btn_wrap input[type="submit"], .btn-style .input_btn_wrap input[type="button"] {
    border: none;
    background: none;
    color: #fff;
    width: 100%; }
  .btn-style .btn2 {
    background: #fff;
    border: 1px solid #e7465a;
    color: #e7465a;
    width: 100%;
    height: 78px;
    border-radius: calc( 78px/2 );
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s all ease-in-out;
    text-decoration: none;
    box-shadow: 4px 4px 0 0 rgba(170, 106, 106, 0.9); }
    @media screen and (max-width: 600px) {
      .btn-style .btn2 {
        border-radius: 10px;
        height: calc(60 / 414 * 100vw);
        padding: 0 calc(1 / 414 * 100vw);
        font-size: calc(15 / 414 * 100vw); } }
    .btn-style .btn2:after {
      position: absolute;
      right: 24px;
      top: 50%;
      transform: translate(0, -50%);
      content: "";
      width: 24px;
      height: 24px;
      background: url("../../img/btn_right2.svg") center center no-repeat;
      background-size: 100% 100%; }
    .btn-style .btn2:hover {
      background: #e7465a;
      color: #fff;
      opacity: 1.0; }
      .btn-style .btn2:hover:after {
        background: url("../../img/btn_right.svg") center center no-repeat; }

.sp {
  display: none; }
  @media screen and (max-width: 600px) {
    .sp {
      display: inherit; } }

.sp-s {
  display: none; }
  @media screen and (max-width: 319px) {
    .sp-s {
      display: inherit; } }

.pc {
  display: inherit; }
  @media screen and (max-width: 600px) {
    .pc {
      display: none; } }

/* =============================================== */
/** 文字設定 */
/* ----------------------------------------------- */
/* ----------------------------------------------- */
a:hover img, a:hover, input:hover {
  zoom: 1;
  filter: alpha(opacity=60);
  /* IE6/7 */
  -ms-filter: "alpha(opacity=60)";
  /* IE8 */
  -moz-opacity: 0.60;
  /* Firefox */
  opacity: 0.60; }

a.noline {
  color: inherit;
  text-decoration: none; }

#page_top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  z-index: 100; }

#page_top a {
  background: #7f7f7f;
  text-decoration: none;
  color: #fff;
  width: 40px;
  padding: 10px 0;
  text-align: center;
  display: block;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  zoom: 1;
  filter: alpha(opacity=75);
  /* IE6/7 */
  -ms-filter: "alpha(opacity=75)";
  /* IE8 */
  -moz-opacity: 0.75;
  /* Firefox */
  opacity: 0.75; }

#page_top a:hover {
  text-decoration: none;
  background: #999;
  zoom: 1;
  filter: alpha(opacity=90);
  /* IE6/7 */
  -ms-filter: "alpha(opacity=90)";
  /* IE8 */
  -moz-opacity: 0.90;
  /* Firefox */
  opacity: 0.90; }

/* h系スタイル*/
.style01 {
  /* 主にh2 */
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  font-size: 4.8rem;
  text-align: left;
  margin-bottom: 2.8rem; }
  @media screen and (max-width: 600px) {
    .style01 {
      font-size: 4.0rem;
      margin-bottom: 2.0rem; } }

.style02 {
  /* 主にh3 */
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  font-size: 3.6rem;
  margin-bottom: 2.5rem; }
  @media screen and (max-width: 600px) {
    .style02 {
      font-size: 2.5rem;
      margin-bottom: 1.75rem; } }

.style02b {
  /* 文字がレインボー */
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  font-size: 3.6rem;
  margin-bottom: 2.5rem;
  background: linear-gradient(90deg, #c9c7c9 0%, #e7dbfd 50%, #83c1f5 100%);
  color: #ff00e2;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }
  @media screen and (max-width: 600px) {
    .style02b {
      font-size: 2.5rem;
      margin-bottom: 1.75rem; } }

.style02c {
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  font-size: 2.0rem;
  margin-bottom: 2.0rem; }

.style03 {
  border-bottom: solid #fff 1px;
  font-size: 2.4rem;
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  padding: 0 0 10px 0;
  margin-bottom: 2.5rem;
  color: #fff; }
  @media screen and (max-width: 600px) {
    .style03 {
      font-size: 2.3rem; } }

.style03b {
  border-bottom: none;
  background-color: #e7465a;
  display: inline-block;
  width: fit-content;
  padding: 16px;
  font-size: 1.8rem;
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  margin-bottom: 2rem;
  color: #fff;
  border-radius: 4px; }
  @media screen and (max-width: 600px) {
    .style03b {
      font-size: 1.6rem; } }

.style03c {
  border-bottom: none;
  background-color: #fff;
  display: inline-block;
  width: fit-content;
  padding: 4px 16px;
  font-size: 1.5rem;
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  margin-bottom: 1.25rem;
  color: #e7465a;
  border-radius: 4px; }

.style04 {
  /* 主にh4 バックグラウンドがレインボー */
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff00e2+0,956cdb+50,2de5cd+100 */
  background: #ff00e2;
  /* Old browsers */
  background: -moz-linear-gradient(90deg, #ff00e2 0%, #956cdb 50%, #2de5cd 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(90deg, #ff00e2 0%, #956cdb 50%, #2de5cd 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(90deg, #ff00e2 0%, #956cdb 50%, #2de5cd 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff00e2', endColorstr='#2de5cd',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
  color: #fff;
  font-family: "M PLUS Rounded 1c", san-serif;
  font-weight: 800;
  font-style: bold;
  padding-top: 6px;
  padding-bottom: 10px;
  border-radius: 4px;
  font-size: 2.0rem;
  line-height: 2.6rem;
  margin-bottom: 2.0rem; }

.style05, .btn-style .btn, .btn-style .input_btn_wrap, .btn-style .input_btn_wrap::after, .contact .require, .contact button.btn, .contact .btn-style button.input_btn_wrap, .btn-style .contact button.input_btn_wrap {
  color: #fff;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e50060+1,eb6492+100 */
  background: #e50060;
  /* Old browsers */
  background: -moz-linear-gradient(left, #e50060 1%, #eb6492 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #e50060 1%, #eb6492 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #e50060 1%, #eb6492 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e50060', endColorstr='#eb6492',GradientType=1 );
  /* IE6-9 */ }

.style06, .btn-style .btn.gray, .btn-style .gray.input_btn_wrap, .btn-style .gray.input_btn_wrap::after {
  color: #bbb;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
  background: #ffffff;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
  /* IE6-9 */ }

.gra {
  background: linear-gradient(70.6deg, #ac1eff 0.3%, #4123fb 55.8%, #23fbe0 105.1%);
  color: #fff; }

.box01 {
  box-shadow: 0 4px 8px 4px rgba(100, 100, 100, 0.2);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  padding: 40px;
  box-sizing: border-box;
  color: #3e3a39; }
  @media screen and (max-width: 600px) {
    .box01 {
      padding: 20px; }
      .box01.padding16 {
        padding: 20px 16px; } }

.box02 {
  border: 1px solid #fff;
  padding: 20px 40px 0 40px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  border-radius: 10px; }

#side dl dd table.basic th {
  width: 6em; }

div.white-area {
  background: #fff;
  padding: 14px;
  box-shadow: 0 0 10px rgba(50, 50, 50, 0.2); }

/* =============================================== */
/** top */
/* ----------------------------------------------- */
/*-feed-*/
#top #feed th {
  color: #999; }

#top #feed th:after {
  content: " 更新"; }

div#saiji {
  padding: 20px;
  background: url(../img/history/yuisho_bg2.png) no-repeat right bottom #fff; }

/* 2019.12.10 aota*/
.menu__item__link {
  display: block; }

.submenu {
  display: none; }

.dummy {
  background: #ddd;
  width: 100%;
  aspect-ratio: 5 / 3;
  font-size: 28px;
  font-size: 2.8rpm;
  font-weight: bold;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  flex-flow: column; }
  .dummy p {
    font-size: 28px;
    font-size: 2.8rpm;
    font-weight: bold; }

/* .tokyo　header
----------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  box-shadow: 0 4px 8px 4px rgba(100, 100, 100, 0.2); }
  header.logo {
    background-color: rgba(255, 255, 255, 0);
    position: static;
    box-shadow: none;
    text-align: center;
    margin: 0 0 80px 0;
    padding-top: 80px; }
    header.logo figure {
      width: 80%;
      margin: 0 auto; }
    @media screen and (max-width: 600px) {
      header.logo {
        padding-top: 20px; } }
  header nav {
    margin: 0 auto;
    width: 100%;
    position: relative;
    padding: 0 20px;
    box-sizing: border-box; }
    header nav ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      box-sizing: border-box;
      align-items: center; }
      header nav ul li {
        font-family: "M PLUS Rounded 1c", san-serif;
        font-weight: 800;
        padding: 0 20px;
        height: 68px;
        display: flex;
        align-items: center;
        justify-content: center; }
        header nav ul li.order3 {
          margin-left: calc( 180px + 10% ); }
          @media screen and (max-width: 800px) {
            header nav ul li.order3 {
              margin-left: 0; } }
        header nav ul li.btn-style .btn, header nav ul li.btn-style .input_btn_wrap, header nav ul li.btn-style .input_btn_wrap::after {
          font-size: 18px;
          height: auto;
          padding: 10px;
          box-shadow: none; }
          header nav ul li.btn-style .btn:after, header nav ul li.btn-style .input_btn_wrap:after, header nav ul li.btn-style .input_btn_wrap::after:after {
            background-image: none; }
  header #form {
    position: relative; }
    header #form #sbox {
      padding: 0 8px;
      border-radius: 8px;
      border: solid 1px #009EE5;
      color: #009EE5; }
    header #form #sbtn {
      background: url("../../img/search-solid.svg");
      background-size: contain;
      background-repeat: no-repeat;
      width: 14px;
      height: 14px;
      position: absolute;
      right: 8px;
      top: 4px;
      padding: 0;
      border: 0; }
  @media screen and (max-width: 600px) {
    header {
      position: absolute;
      top: 4px; } }
  @media screen and (max-width: 1000px) {
    header {
      padding: 10px 0; }
      header nav {
        padding: 0; }
        header nav ul li {
          padding: 0 8px 0 0; } }
  @media screen and (max-width: 1000px) and (orientation: landscape) {
    header {
      z-index: 1000;
      padding: 10px 0;
      height: 60px;
      background-color: rgba(255, 255, 255, 0);
      box-shadow: none; }
      header ul {
        padding: 10px;
        right: -210px;
        width: 210px;
        transition: all 0.4s;
        position: fixed;
        background: #3e3a39;
        height: 100%;
        top: 0; }
        header ul.active {
          transition: all 0.4s;
          right: 0;
          display: block; }
        header ul a {
          color: #fff;
          text-decoration: none; }
      header .-menubtn {
        width: 50px;
        height: 50px;
        position: absolute;
        top: -4px;
        right: 0;
        z-index: 2000;
        cursor: pointer;
        transition: all 0.4s;
        background-color: rgba(255, 255, 255, 0.9);
        box-shadow: 0 4px 8px 4px rgba(100, 100, 100, 0.2);
        border-radius: 50%; }
        header .-menubtn::before {
          content: 'MENU';
          position: absolute;
          width: 50px;
          font-size: 10px;
          left: 0;
          top: 5px;
          color: #009EE5;
          text-align: center; }
        header .-menubtn > span {
          width: 30px;
          margin: 0 auto;
          left: 0;
          right: 0;
          height: 3px;
          background: #009EE5;
          display: inline-block;
          position: absolute;
          transition: all 0.4s; }
          header .-menubtn > span:nth-of-type(1) {
            top: 20px; }
          header .-menubtn > span:nth-of-type(2) {
            top: 28.5px; }
          header .-menubtn > span:nth-of-type(3) {
            top: 38px; }
        header .-menubtn.active {
          right: 200px;
          background-color: #3e3a39; }
          header .-menubtn.active::before {
            color: #fff; }
          header .-menubtn.active > span {
            background-color: #fff; }
            header .-menubtn.active > span:nth-of-type(1) {
              top: 30px;
              transform: rotate(45deg); }
            header .-menubtn.active > span:nth-of-type(2) {
              opacity: 0; }
            header .-menubtn.active > span:nth-of-type(3) {
              top: 30px;
              transform: rotate(-45deg); } }
  @media screen and (max-width: 800px) {
    header {
      z-index: 1000;
      padding: 10px 0;
      height: 60px;
      background-color: rgba(255, 255, 255, 0);
      box-shadow: none; }
      header ul {
        padding: 10px;
        right: -210px;
        width: 210px;
        transition: all 0.4s;
        position: fixed;
        background: #3e3a39;
        height: 100%;
        top: 0; }
        header ul.active {
          transition: all 0.4s;
          right: 0;
          display: block; }
        header ul a {
          color: #fff;
          text-decoration: none; }
      header .-menubtn {
        width: 50px;
        height: 50px;
        position: absolute;
        top: -4px;
        right: 0;
        z-index: 2000;
        cursor: pointer;
        transition: all 0.4s;
        background-color: rgba(255, 255, 255, 0.9);
        box-shadow: 0 4px 8px 4px rgba(100, 100, 100, 0.2);
        border-radius: 50%; }
        header .-menubtn::before {
          content: 'MENU';
          position: absolute;
          width: 50px;
          font-size: 10px;
          left: 0;
          top: 5px;
          color: #009EE5;
          text-align: center; }
        header .-menubtn > span {
          width: 30px;
          margin: 0 auto;
          left: 0;
          right: 0;
          height: 3px;
          background: #009EE5;
          display: inline-block;
          position: absolute;
          transition: all 0.4s; }
          header .-menubtn > span:nth-of-type(1) {
            top: 20px; }
          header .-menubtn > span:nth-of-type(2) {
            top: 28.5px; }
          header .-menubtn > span:nth-of-type(3) {
            top: 38px; }
        header .-menubtn.active {
          right: 200px;
          background-color: #3e3a39; }
          header .-menubtn.active::before {
            color: #fff; }
          header .-menubtn.active > span {
            background-color: #fff; }
            header .-menubtn.active > span:nth-of-type(1) {
              top: 30px;
              transform: rotate(45deg); }
            header .-menubtn.active > span:nth-of-type(2) {
              opacity: 0; }
            header .-menubtn.active > span:nth-of-type(3) {
              top: 30px;
              transform: rotate(-45deg); } }

/* header2 下層のヘッダー */
#header2 {
  background: url("../../img/bg_orangestripe.svg") center top repeat;
  position: relative;
  text-align: center; }
  #header2--top-logo {
    width: 380px;
    margin: 0 auto 20px;
    padding-top: 20px; }
    @media screen and (max-width: 600px) {
      #header2--top-logo {
        padding: 50px 40px 30px;
        width: 100%;
        box-sizing: border-box; } }
  #header2 header {
    position: relative; }
    @media screen and (max-width: 600px) {
      #header2 header {
        position: absolute;
        top: 4px; } }
    @media screen and (max-width: 1000px) {
      #header2 header {
        padding: 10px 0; }
        #header2 header nav {
          padding: 0; }
          #header2 header nav ul li {
            padding: 0 8px 0 0; } }

/* end header */
main {
  z-index: 10;
  padding: 0;
  margin: 0;
  position: relative; }
  @media screen and (max-width: 1000px) {
    main {
      margin-top: 0; } }
  @media screen and (max-width: 600px) {
    main {
      margin-top: 0; } }

/* .effect　footer
----------------------------------------------- */
footer {
  text-align: center;
  padding: 0;
  background: url("../../img/bg_orangestripe.svg") bottom center repeat-x;
  background-size: 1600px 1000px; }
  @media screen and (max-width: 600px) {
    footer {
      height: 86vh;
      background-size: 100vh 100%;
      margin-bottom: -12vh; } }
  footer #footer--link_area {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 4px 0; }
    footer #footer--link_area ul {
      display: flex;
      justify-content: center;
      gap: 1em; }
      footer #footer--link_area ul a {
        color: #fff;
        text-decoration: none; }
  footer #footer--01 {
    font-size: 1.125rem;
    display: flex;
    gap: 20px;
    padding: 30px 0; }
    footer #footer--01left {
      display: flex;
      gap: 20px;
      max-width: 400px;
      flex: 0 0 auto; }
      @media screen and (max-width: 1000px) {
        footer #footer--01left {
          margin: 0 auto; } }
      @media screen and (max-width: 600px) {
        footer #footer--01left {
          width: 100%; } }
    footer #footer--01right {
      text-align: left;
      width: auto;
      flex: 1 0 auto;
      margin-bottom: 120px; }
      @media screen and (max-width: 1000px) {
        footer #footer--01right {
          margin: 0 auto;
          width: 480px; } }
      @media screen and (max-width: 600px) {
        footer #footer--01right {
          width: 100%; } }
      @media screen and (max-width: 1000px) {
        footer #footer--01right h3 {
          text-align: center; } }
      footer #footer--01right address {
        width: fit-content;
        max-width: 460px;
        margin: 0 auto; }
        @media screen and (max-width: 600px) {
          footer #footer--01right address {
            width: 100%;
            max-width: none; } }
    footer #footer--01 .grid2 {
      grid-template-columns: 1fr 2fr; }
      footer #footer--01 .grid2 .box3 {
        grid-column-start: 2; }
    @media screen and (max-width: 1000px) {
      footer #footer--01 {
        flex-wrap: wrap;
        font-size: inherit;
        text-align: center; } }
    @media screen and (max-width: 600px) {
      footer #footer--01 {
        flex-wrap: wrap;
        font-size: inherit; } }
  footer #footer--02 {
    color: #fff;
    margin-top: 40px; }
  footer #footer--tokyo-logo {
    width: 14%;
    text-align: center; }

/* flex base
----------------------------------------------- */
.flex, .flex2, .flex3, .flex4, .flex5, .flex6 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  height: 100%;
  align-items: stretch; }
  .flex2 > * {
    flex: 0 1 auto;
    width: calc(( 100% - 40px ) / 2);
    margin-bottom: 40px; }
    @media screen and (max-width: 600px) {
      .flex2 > * {
        width: 100%; } }
  .flex3 > * {
    flex: 0 0 auto;
    width: calc(( 100% - 40px ) / 3);
    margin-bottom: 40px; }
    @media screen and (max-width: 600px) {
      .flex3 > * {
        width: 100%; } }
  .flex4 > * {
    flex: 0 0 auto;
    width: calc(( 100% - 60px ) / 4);
    margin-bottom: 20px; }
    @media screen and (max-width: 600px) {
      .flex4 > * {
        width: calc(( 100% - 10px ) / 2);
        margin-bottom: 10px; } }
  .flex5 > * {
    flex: 0 0 auto;
    width: calc(( 100% - 80px ) / 5);
    margin-bottom: 20px; }
    @media screen and (max-width: 1000px) {
      .flex5 > * {
        width: calc(( 100% - 40px ) / 5);
        margin-bottom: 10px; } }
    @media screen and (max-width: 600px) {
      .flex5 > * {
        width: calc(( 100% - 10px ) / 2);
        margin-bottom: 10px; } }
  .flex6 > * {
    flex: 0 0 auto;
    width: calc(( 100% - 100px ) / 6);
    margin-bottom: 20px; }
    @media screen and (max-width: 1000px) {
      .flex6 > * {
        width: calc(( 100% - 50px ) / 6);
        margin-bottom: 10px; } }
    @media screen and (max-width: 600px) {
      .flex6 > * {
        width: calc(( 100% - 20px ) / 3);
        margin-bottom: 10px; } }

.flex-center, .flex-center-column, .flex-center-top {
  display: flex;
  justify-content: center;
  align-items: center; }
  .flex-center-column {
    flex-flow: column; }
  .flex-center-top {
    align-items: flex-start; }

/* grid base
----------------------------------------------- */
.grid, .grid2 {
  display: grid; }
  .grid2 {
    grid-template-columns: 1fr 1fr; }

/* icon base
----------------------------------------------- */
.ka {
  font-size: 70%;
  color: white;
  background-color: maroon;
  padding: 1px 8px;
  font-weight: 600; }

span.ka {
  display: inline-block; }

/* tokyo-snsdouga page create by shd aota
----------------------------------------------- */
#top-bg {
  background: url("../../img/bg_lattice.svg") center center repeat, linear-gradient(to bottom, #f6c8d7 1%, #ee1e63 100%);
  background-size: 20px 20px,100%; }

#top-slider {
  position: relative;
  text-align: center; }
  #top-slider--bg {
    background-color: #fff;
    background: url("../../img/bg_orangestripe.svg") bottom center repeat-x;
    background-size: 1600px 1000px; }
    @media screen and (max-width: 600px) {
      #top-slider--bg {
        height: 86vh;
        background-size: 100vh 100%;
        margin-bottom: -12vh; } }
  #top-slider--w {
    position: relative;
    height: 736px;
    padding-top: 88px; }
    @media screen and (max-width: 1000px) and (orientation: landscape) {
      #top-slider--w {
        padding-top: 8vh; } }
    @media screen and (max-width: 600px) {
      #top-slider--w {
        padding-top: 36px;
        height: auto; } }
  #top-slider--logo {
    position: absolute;
    top: 88px;
    left: 20px;
    width: 80px; }
    @media screen and (max-width: 600px) {
      #top-slider--logo {
        top: 10px;
        width: 16%; } }
  #top-slider--logo2 {
    width: 800px;
    margin: -10px auto 0 auto; }
    @media (tb-l) {
      #top-slider--logo2 {
        margin: 0 auto; }
        #top-slider--logo2 img {
          height: 40vh;
          width: auto; } }
    @media screen and (max-width: 1000px) {
      #top-slider--logo2 {
        width: 100%;
        margin: 70px auto 0 auto; }
        #top-slider--logo2 img {
          max-height: 24vh;
          width: auto; } }
  #top-slider--seishiga {
    position: absolute;
    right: -80px;
    top: 100px;
    width: 200px; }
    #top-slider--seishiga img {
      width: 100%; }
    @media screen and (max-width: 1000px) {
      #top-slider--seishiga {
        width: 160px;
        right: 20px;
        top: 70px; } }
    @media screen and (max-width: 1000px) and (orientation: landscape) {
      #top-slider--seishiga {
        top: 30vh;
        width: 30vh;
        right: 20px; } }
    @media screen and (max-width: 600px) {
      #top-slider--seishiga {
        position: static;
        width: 48%;
        margin: 10px auto; } }
  #top-slider--gengo {
    position: absolute;
    right: 10px;
    top: 20px;
    display: inline-block; }
    #top-slider--gengo.sp {
      display: none; }
    @media screen and (max-width: 1000px) {
      #top-slider--gengo {
        right: 100px; }
        #top-slider--gengo.pc {
          display: none; }
        #top-slider--gengo.sp {
          display: inherit; } }
    @media screen and (max-width: 600px) {
      #top-slider--gengo {
        right: 80px; }
        #top-slider--gengo.pc {
          display: none; }
        #top-slider--gengo.sp {
          display: inherit; } }
  #top-slider--btn {
    margin-top: 20px; }
    @media screen and (max-width: 600px) {
      #top-slider--btn.result.btn-style .btn, #top-slider--btn.result.btn-style .input_btn_wrap, #top-slider--btn.result.btn-style .input_btn_wrap::after {
        height: auto;
        padding-top: 8px;
        padding-bottom: 8px; } }
  #top-slider--daytime {
    width: fit-content;
    padding: 16px;
    margin: 0 auto 0 auto;
    font-size: 1.5rem;
    line-height: 1.2;
    color: #fff;
    border-radius: 0.75rem;
    background-color: #e7465a; }
    @media screen and (max-width: 600px) {
      #top-slider--daytime {
        margin: 10px auto 0 0;
        font-size: 1.1rem; } }
  #top-slider--img {
    position: absolute;
    bottom: 0;
    width: 100%; }
    @media screen and (max-width: 1000px) and (orientation: landscape) {
      #top-slider--img {
        width: 56%;
        left: 22%; } }
  @media screen and (max-width: 600px) {
    #top-slider--seisiga-daytime {
      display: flex;
      align-items: center; } }

.new::after {
  content: url("../../img/icon-new.svg");
  vertical-align: middle;
  padding-left: 1em;
  transform: scale(0.5);
  position: absolute;
  right: -30px;
  top: -10px; }

/* 王冠 */
.prize {
  position: relative; }
  .prize01 {
    position: relative; }
  .prize02 {
    position: relative; }
  .prize03 {
    position: relative; }
  .prize01::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    display: block;
    width: 100%;
    height: 48px;
    box-sizing: border-box;
    background-image: url("../../img/img-king01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle; }
    @media screen and (max-width: 600px) {
      .prize01::before {
        top: -28px; } }
  .prize02::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    display: block;
    width: 100%;
    height: 48px;
    box-sizing: border-box;
    background-image: url("../../img/img-king02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle; }
    @media screen and (max-width: 600px) {
      .prize02::before {
        top: -28px; } }
  .prize03::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    display: block;
    width: 100%;
    height: 48px;
    box-sizing: border-box;
    background-image: url("../../img/img-king03.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle; }
    @media screen and (max-width: 600px) {
      .prize03::before {
        top: -28px; } }

/* 王冠終わり */
/* コンテストについて */
#s01 {
  position: relative; }
  #s01 .style02 {
    color: #fff; }
  #s01 #btn-hint {
    position: absolute;
    right: -82px;
    top: -20px;
    width: 408px; }
    #s01 #btn-hint img {
      width: 100%; }
    @media screen and (max-width: 1000px) {
      #s01 #btn-hint {
        position: relative;
        right: auto;
        top: auto; } }
    @media screen and (max-width: 600px) {
      #s01 #btn-hint {
        max-width: 100%; } }
  #s01 .box01 {
    position: relative; }
    #s01 .box01 .style03 {
      color: #e7465a;
      border-bottom: solid #e7465a 1px; }
  @media screen and (max-width: 600px) {
    #s01--00 {
      flex-direction: column; } }
  #s01--00 li {
    background-color: #e7465a;
    border-radius: 9999px;
    padding: 4px 16px;
    width: auto;
    color: #fff; }
  #s01--01 figure {
    position: relative;
    text-align: left; }
  @media screen and (max-width: 600px) {
    #s01--01 .chairman {
      order: 1; } }
  @media screen and (max-width: 600px) {
    #s01--01 .member {
      order: 3; } }
  #s01--01 figure img {
    border-radius: 50%; }
  #s01--01 figcaption {
    margin-top: -2.0rem;
    text-align: center; }
    #s01--01 figcaption dl {
      text-align: left;
      font-family: "M PLUS Rounded 1c", san-serif;
      max-width: 270px;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 1000px) {
        #s01--01 figcaption dl {
          max-width: 10em; } }
      @media screen and (max-width: 600px) {
        #s01--01 figcaption dl {
          max-width: 270px; } }
    #s01--01 figcaption dt, #s01--01 figcaption dd {
      background-color: #e7465a;
      color: #fff;
      padding: 4px 12px;
      display: inline-block;
      border-radius: 8px;
      vertical-align: baseline; }
      #s01--01 figcaption dt span, #s01--01 figcaption dd span {
        padding-left: 0.5em; }
        @media screen and (max-width: 1000px) {
          #s01--01 figcaption dt span, #s01--01 figcaption dd span {
            display: block; } }
        @media screen and (max-width: 600px) {
          #s01--01 figcaption dt span, #s01--01 figcaption dd span {
            display: inline; } }
    #s01--01 figcaption .sns a {
      color: #fff; }
    #s01--01 figcaption .sns i {
      font-family: "Font Awesome 5 Brands";
      font-size: 2.0rem;
      display: inline-block;
      padding: 4px 2px; }
  #s01--02--01 dl {
    padding: 4px 70px;
    font-family: "M PLUS Rounded 1c", san-serif;
    font-size: 1.5rem;
    margin-bottom: 2.2rem;
    display: flex;
    align-items: baseline;
    gap: 1em; }
    @media screen and (max-width: 600px) {
      #s01--02--01 dl {
        padding: 4px;
        flex-direction: column;
        align-items: center; } }
  #s01--02--01 dt, #s01--02--01 dd {
    line-height: 1.0;
    vertical-align: text-bottom;
    text-align: left; }
  #s01--02--01 dt {
    width: 12em;
    text-align: left; }
    @media screen and (max-width: 600px) {
      #s01--02--01 dt {
        width: auto;
        border-bottom: 2ch solid #e7465a;
        padding-bottom: 4px; } }
    #s01--02--01 dt.onrydt {
      margin-top: 1.55rem;
      width: auto; }
  #s01--02--01 dd {
    color: #3e3a39;
    text-align: left; }
  #s01--02--01 .kingaku {
    font-size: 200%; }
  #s01--02--01 .prize01 {
    border: 1px solid #3e3a39;
    padding: 24px 70px; }
    @media screen and (max-width: 600px) {
      #s01--02--01 .prize01 {
        padding: 30px; } }
    #s01--02--01 .prize01::before {
      top: -30px; }
      @media screen and (max-width: 600px) {
        #s01--02--01 .prize01::before {
          top: -28px; } }
  #s01--02--01 .zeiin {
    padding: 4px; }

#s02 {
  background: url("../../img/bg_lattice.svg") center center repeat, linear-gradient(to bottom, #fcfcfc 1%, #d6fffe 100%);
  background-size: 20px 20px,100%; }
  #s02 .shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); }
  #s02--theme {
    display: flex;
    gap: 20px;
    justify-content: center; }
    #s02--theme p {
      margin-block-start: 0;
      background: #fff;
      padding: 10px 12px 2px 12px;
      border-radius: 4px;
      color: #e7465a; }
  #s02--01--01 {
    display: flex;
    gap: 40px; }
    @media screen and (max-width: 600px) {
      #s02--01--01 {
        flex-wrap: wrap;
        position: relative; } }
    @media screen and (max-width: 600px) {
      #s02--01--01--01 {
        width: 50%;
        margin: 0 auto;
        order: 3;
        position: absolute;
        bottom: 10px;
        right: 10px;
        z-index: 80; } }
    #s02--01--01--02 {
      width: 70%; }
      @media screen and (max-width: 600px) {
        #s02--01--01--02 {
          width: 100%;
          margin-top: 20px;
          z-index: 90; } }
  #s02--02.box01 {
    background: #fff; }
  #s02--02 .bumon h4 {
    border: 1px solid #CE7C29;
    border-radius: 4px;
    padding: 4px;
    color: #CE7C29;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center; }
  #s02--02 .bumon dl {
    padding: 20px 20px;
    font-size: 1.3rem;
    display: grid;
    text-align: left;
    grid-column-start: 2;
    grid-row-gap: 4px;
    grid-template-columns: 16em calc( 100% - 16em );
    border-bottom: 1px solid #333; }
    @media screen and (max-width: 600px) {
      #s02--02 .bumon dl {
        display: block; } }
  #s02--02 .bumon dt {
    font-weight: bold; }
  @media screen and (max-width: 600px) {
    #s02--02 .bumon dd {
      margin-bottom: 4px; } }
  @media screen and (max-width: 600px) {
    #s02--02 .bumon {
      width: 100%;
      display: flex;
      flex-wrap: wrap; } }

@media screen and (max-width: 600px) {
  #s--news {
    flex-wrap: wrap; } }
#s--news dl {
  display: flex;
  align-items: flex-end;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  padding: 24px 0;
  gap: 20px;
  line-height: 1.0;
  vertical-align: middle;
  align-content: flex-start; }
#s--news dt {
  width: 8.5em; }
  @media screen and (max-width: 600px) {
    #s--news dt {
      line-height: 1.6; } }
@media screen and (max-width: 600px) {
  #s--news dd {
    text-align: left;
    line-height: 1.6; } }

#s03 {
  background: url("../../img/bg_lattice.svg") center center repeat, linear-gradient(to bottom, #f6c8d7 1%, #ee1e63 100%);
  background-size: 20px 20px,100%; }
  @media screen and (max-width: 600px) {
    #s03--01 {
      margin-bottom: 40px; } }
  #s03--01--01 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
    align-items: center; }
    #s03--01--01 dt {
      font-size: 1.125rem;
      background: #3e3a39;
      color: #fff;
      border-radius: 1.8rem;
      padding: 4px 0;
      text-align: center; }
  #s03--02 img {
    display: block; }

#s04 {
  background: #F1F6FC; }

#s05 {
  background: url("../../img/bg_lattice.svg") center center repeat, linear-gradient(to bottom, #29abe2 1%, #757df3 100%);
  background-size: 20px 20px,100%;
  color: #fff; }
  #s05 .box01 {
    position: relative; }
    #s05 .box01 .style03 {
      color: #29abe2;
      border-bottom: solid #29abe2 1px; }
  #s05 .s05--01 {
    display: flex;
    gap: 20px;
    margin-bottom: 40px; }
    @media screen and (max-width: 600px) {
      #s05 .s05--01 {
        flex-wrap: wrap; } }
    #s05 .s05--01boxleft {
      width: 40%; }
      @media screen and (max-width: 600px) {
        #s05 .s05--01boxleft {
          width: 100%; } }
    #s05 .s05--01boxright {
      width: 60%; }
      @media screen and (max-width: 600px) {
        #s05 .s05--01boxright {
          width: 100%; } }
    #s05 .s05--01 .btn, #s05 .s05--01 .btn-style .input_btn_wrap, .btn-style #s05 .s05--01 .input_btn_wrap, #s05 .s05--01 .btn-style .input_btn_wrap::after, .btn-style #s05 .s05--01 .input_btn_wrap::after {
      width: 100%; }
  #s05 li {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 1em;
    margin-bottom: 10px;
    align-items: center;
    font-size: 1.5rem; }
    @media screen and (max-width: 600px) {
      #s05 li {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 30px; } }
    #s05 li.x2 {
      grid-template-columns: 1fr 1fr;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #s05 li.x2 {
          grid-template-columns: 1fr; } }
  #s05 .title_x {
    border: 2px solid #29abe2;
    border-radius: 20px;
    padding: 22px;
    color: #29abe2; }
    @media screen and (max-width: 600px) {
      #s05 .title_x {
        padding: 12px; } }
  #s05 .point {
    font-weight: 800;
    padding-left: 2.2rem;
    text-indent: -2.2rem; }
    #s05 .point::before {
      content: "▶";
      color: #29abe2;
      font-size: 1.8rem; }

#s06 {
  background: url("../../img/bg_lattice.svg") center center repeat, linear-gradient(to bottom, #52a176 1%, #cff3ca 100%);
  background-size: 20px 20px,100%;
  color: #fff; }
  #s06 .style02 {
    color: #fff; }
  #s06 .box01 {
    position: relative; }
    #s06 .box01 .style03 {
      color: #52a176;
      border-bottom: solid #52a176  1px; }
  #s06 .btn, #s06 .btn-style .input_btn_wrap, .btn-style #s06 .input_btn_wrap, #s06 .btn-style .input_btn_wrap::after, .btn-style #s06 .input_btn_wrap::after {
    background: #52a176;
    /* Old browsers */ }
  #s06--01 {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff00e2+0,956cdb+50,2de5cd+100 */
    background: #ff00e2;
    /* Old browsers */
    background: -moz-linear-gradient(90deg, #ff00e2 0%, #956cdb 50%, #2de5cd 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(90deg, #ff00e2 0%, #956cdb 50%, #2de5cd 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(90deg, #ff00e2 0%, #956cdb 50%, #2de5cd 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff00e2', endColorstr='#2de5cd',GradientType=1 );
    /* IE6-9 fallback on horizontal gradient */
    color: #fff;
    padding: 12px;
    border-radius: 8px;
    margin-top: 80px; }
    #s06--01 a {
      color: #fff;
      display: flex;
      gap: 40px;
      text-decoration: none; }
      @media screen and (max-width: 600px) {
        #s06--01 a {
          flex-wrap: wrap;
          gap: 8px; } }
    @media screen and (max-width: 1000px) {
      #s06--01--tokyohelpdesk {
        width: calc( 100% - 18.5rem - 40px); } }
    @media screen and (max-width: 600px) {
      #s06--01--tokyohelpdesk {
        width: 100%; } }
    #s06--01--tokyohelpdesk img {
      border-radius: 8px; }
    #s06--01right {
      width: 24rem;
      flex: 0 0 auto;
      position: relative; }
      @media screen and (max-width: 1000px) {
        #s06--01right {
          width: 18.5rem; } }
      @media screen and (max-width: 600px) {
        #s06--01right {
          width: 100%;
          padding: 10px 0;
          text-align: right; } }
      #s06--01right img {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 148px;
        height: 148px; }
        @media screen and (max-width: 1000px) {
          #s06--01right img {
            top: -60px; } }
        @media screen and (max-width: 600px) {
          #s06--01right img {
            position: static; } }
      #s06--01right figcaption {
        position: absolute;
        bottom: 10px;
        left: 0; }
        @media screen and (max-width: 600px) {
          #s06--01right figcaption {
            position: static;
            text-align: left;
            margin-top: -20px; } }

/*bx-slider*/
#s07 .style02 {
  background: #ED1E79; }
#s07 li.t01 {
  background: #009C84;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #009C84; }
  #s07 li.t01 dt {
    position: relative;
    background: #fff;
    color: #009C84;
    height: 70px;
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center; }
    #s07 li.t01 dt span.style05, #s07 li.t01 dt .btn-style span.btn, .btn-style #s07 li.t01 dt span.btn, #s07 li.t01 dt .btn-style span.input_btn_wrap, .btn-style #s07 li.t01 dt span.input_btn_wrap, #s07 li.t01 dt .btn-style span.input_btn_wrap::after, .btn-style #s07 li.t01 dt span.input_btn_wrap::after, #s07 li.t01 dt .contact span.require, .contact #s07 li.t01 dt span.require {
      padding: 0  8px;
      margin-left: 1em;
      vertical-align: middle; }
  #s07 li.t01 dd {
    border-radius: 10px;
    border: 2px solid #009C84;
    background: #009C84;
    color: #fff;
    padding: 20px 20px 30px 20px; }
  #s07 li.t01 h3 {
    font-weight: bold;
    margin-bottom: 8px; }
    @media screen and (max-width: 600px) {
      #s07 li.t01 h3 {
        font-size: 18px;
        font-size: 1.8rem; } }
  #s07 li.t01 figure img {
    width: 100%; }
#s07 li.t02 {
  background: #EF8200;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #EF8200; }
  #s07 li.t02 dt {
    position: relative;
    background: #fff;
    color: #EF8200;
    height: 70px;
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center; }
    #s07 li.t02 dt span.style05, #s07 li.t02 dt .btn-style span.btn, .btn-style #s07 li.t02 dt span.btn, #s07 li.t02 dt .btn-style span.input_btn_wrap, .btn-style #s07 li.t02 dt span.input_btn_wrap, #s07 li.t02 dt .btn-style span.input_btn_wrap::after, .btn-style #s07 li.t02 dt span.input_btn_wrap::after, #s07 li.t02 dt .contact span.require, .contact #s07 li.t02 dt span.require {
      padding: 0  8px;
      margin-left: 1em;
      vertical-align: middle; }
  #s07 li.t02 dd {
    border-radius: 10px;
    border: 2px solid #EF8200;
    background: #EF8200;
    color: #fff;
    padding: 20px 20px 30px 20px; }
  #s07 li.t02 h3 {
    font-weight: bold;
    margin-bottom: 8px; }
    @media screen and (max-width: 600px) {
      #s07 li.t02 h3 {
        font-size: 18px;
        font-size: 1.8rem; } }
  #s07 li.t02 figure img {
    width: 100%; }
#s07 li.t03 {
  background: #00b1bb;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #00b1bb; }
  #s07 li.t03 dt {
    position: relative;
    background: #fff;
    color: #00b1bb;
    height: 70px;
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center; }
    #s07 li.t03 dt span.style05, #s07 li.t03 dt .btn-style span.btn, .btn-style #s07 li.t03 dt span.btn, #s07 li.t03 dt .btn-style span.input_btn_wrap, .btn-style #s07 li.t03 dt span.input_btn_wrap, #s07 li.t03 dt .btn-style span.input_btn_wrap::after, .btn-style #s07 li.t03 dt span.input_btn_wrap::after, #s07 li.t03 dt .contact span.require, .contact #s07 li.t03 dt span.require {
      padding: 0  8px;
      margin-left: 1em;
      vertical-align: middle; }
  #s07 li.t03 dd {
    border-radius: 10px;
    border: 2px solid #00b1bb;
    background: #00b1bb;
    color: #fff;
    padding: 20px 20px 30px 20px; }
  #s07 li.t03 h3 {
    font-weight: bold;
    margin-bottom: 8px; }
    @media screen and (max-width: 600px) {
      #s07 li.t03 h3 {
        font-size: 18px;
        font-size: 1.8rem; } }
  #s07 li.t03 figure img {
    width: 100%; }

#s08 {
  background-color: #00b1bb;
  padding: 20px 0 40px 0; }
  #s08 .style02 {
    background: #fff;
    color: #00b1bb; }
  #s08 .vln {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #ccc;
    padding: 32px;
    box-sizing: border-box; }
    @media screen and (max-width: 1000px) {
      #s08 .vln {
        padding: 16px; }
        #s08 .vln h2 {
          font-size: 1.9rem; } }
    #s08 .vln figure {
      border: 1px solid #ccc;
      padding: 10px; }

#s09 .style02 {
  background: #E8554D; }
#s09 .flex, #s09 .flex2, #s09 .flex3, #s09 .flex4, #s09 .flex5, #s09 .flex6 {
  align-items: center; }
@media screen and (max-width: 600px) {
  #s09 #s09_img {
    margin-left: -20px;
    margin-right: -20px; }
    #s09 #s09_img figcaption {
      padding-right: 20px; } }
#s09 iframe {
  height: auto;
  min-height: 750px; }
  @media screen and (max-width: 600px) {
    #s09 iframe {
      min-height: inherit;
      height: 80vh;
      margin-left: -20px;
      margin-right: -20px;
      width: calc( 100% + 40px ); } }
#s09 h3 {
  font-weight: bold;
  margin-bottom: 4px; }
  @media screen and (max-width: 600px) {
    #s09 h3 {
      font-size: 24px;
      font-size: 2.4rpm; } }
@media screen and (max-width: 600px) {
  #s09 p {
    font-size: 14px;
    font-size: 1.4rpm; } }
#s09 h4 {
  color: #00b1bb;
  font-weight: bold;
  margin-bottom: 8px; }
#s09 dl {
  display: grid;
  grid-template-columns: 1fr 7fr;
  column-gap: 10px;
  row-gap: 40px; }

#s10 li {
  border: 1px solid #ccc;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center; }
@media screen and (max-width: 600px) {
  #s10 .flex3 {
    display: block; }
    #s10 .flex3 li {
      width: 100%; } }

.box2 li {
  background: #009EE5;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #009EE5; }
  .box2 li dt {
    background: #fff;
    color: #009EE5;
    height: 70px;
    text-align: center;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center; }
    .box2 li dt span.style05, .box2 li dt .btn-style span.btn, .btn-style .box2 li dt span.btn, .box2 li dt .btn-style span.input_btn_wrap, .btn-style .box2 li dt span.input_btn_wrap, .box2 li dt .btn-style span.input_btn_wrap::after, .btn-style .box2 li dt span.input_btn_wrap::after, .box2 li dt .contact span.require, .contact .box2 li dt span.require {
      padding: 0  8px;
      margin-left: 1em;
      vertical-align: middle; }
  .box2 li dd {
    border-radius: 10px;
    border: 2px solid #009EE5;
    background: #009EE5;
    color: #fff;
    padding: 20px 20px 30px 20px; }
  .box2 li h3 {
    font-weight: bold;
    margin-bottom: 8px; }
    @media screen and (max-width: 600px) {
      .box2 li h3 {
        font-size: 18px;
        font-size: 1.8rem; } }

@media screen and (max-width: 600px) {
  #top-notice table th, #top-notice table td {
    display: block;
    width: 100%;
    box-sizing: border-box; } }

/* #top-categoryは下に記述 */
/* section共通部品 */
.section {
  text-align: center;
  margin-bottom: 0px;
  padding-top: 60px;
  padding-bottom: 80px; }
  @media screen and (max-width: 600px) {
    .section {
      padding-top: 20px;
      padding-bottom: 40px; } }

/* .contact ()
----------------------------------------------- */
.apply-step {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 40px;
  margin-bottom: 20px; }
  .apply-step li {
    background: #3e3a39;
    color: #fff;
    padding: 8px;
    position: relative; }
    @media screen and (max-width: 600px) {
      .apply-step li {
        font-size: 14px !important;
        font-size: 1.4rem !important; } }
    .apply-step li.active {
      background: #00b1bb; }
    .apply-step li::after {
      position: absolute;
      right: -30px;
      top: -12px;
      transform: translate(0, 50%);
      content: "";
      width: 18px;
      height: 36px;
      background: url("../../img/applystep_right.svg") center center no-repeat;
      background-size: 100% 100%; }
    .apply-step li:nth-child(3)::after {
      display: none; }

.contact #inq_form {
  text-align: center; }

.contact table {
  margin: 0 auto;
  width: 100%; }

.contact th {
  display: block;
  font-weight: bold;
  padding: 0.8rem 0.8rem 0 0.8rem;
  text-align: left; }

.contact .require {
  padding: 4px 6px;
  font-size: 12px;
  line-height: 1;
  display: inline-block;
  background-color: #f36929;
  color: #fff;
  border-radius: 4px;
  margin-left: 1em;
  vertical-align: middle; }

.contact .notice {
  padding-left: 1em; }
  @media screen and (max-width: 600px) {
    .contact .notice {
      display: block;
      padding-left: 0; } }

.contact td {
  display: block;
  padding: 0.8rem 0.8rem 1.6rem 0.8rem;
  text-align: left; }

.contact input[type="text"], .contact input[type="email"], .contact textarea, .contact input[type="textarea"], .contact select {
  display: block;
  width: 100%;
  margin-bottom: 0.4rem;
  background: #fff;
  border: solid 1px #d1d1d1;
  padding: 12px;
  border-radius: 4px;
  box-sizing: border-box; }

.contact #privacy-box {
  background: #FFF;
  height: 150px;
  padding: 20px;
  margin: 0 0 20px 0;
  border: 1px solid #CCC;
  overflow: auto; }

.contact button.btn, .contact .btn-style button.input_btn_wrap, .btn-style .contact button.input_btn_wrap, .contact .btn-style button.input_btn_wrap::after, .btn-style .contact button.input_btn_wrap::after {
  height: 78px;
  width: 100%;
  border-radius: calc( 78px/2 );
  border: none;
  padding: 0 20px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s all ease-in-out;
  text-decoration: none;
  box-shadow: 4px 4px 0 0 rgba(170, 106, 106, 0.9); }
  @media screen and (max-width: 600px) {
    .contact button.btn, .contact .btn-style button.input_btn_wrap, .btn-style .contact button.input_btn_wrap, .contact .btn-style button.input_btn_wrap::after, .btn-style .contact button.input_btn_wrap::after {
      border-radius: 10px;
      height: calc(60 / 414 * 100vw);
      padding: 0 calc(1 / 414 * 100vw);
      font-size: calc(15 / 414 * 100vw); } }
  .contact button.btn:after, .contact .btn-style button.input_btn_wrap:after, .btn-style .contact button.input_btn_wrap:after, .contact .btn-style button.input_btn_wrap::after:after, .btn-style .contact button.input_btn_wrap::after:after {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translate(0, -50%);
    content: "";
    width: 12px;
    height: 12px;
    background: url("../../img/btn_right.svg") center center no-repeat;
    background-size: 100% 100%; }
  .contact button.btn:hover, .contact .btn-style button.input_btn_wrap:hover, .btn-style .contact button.input_btn_wrap:hover, .contact .btn-style button.input_btn_wrap:hover::after, .btn-style .contact button.input_btn_wrap:hover::after {
    background: #00b1bb;
    color: #fff; }

.contact .c-red {
  color: red; }

.contact .text {
  background-color: inherit;
  border: none;
  text-decoration: underline; }

form#inq_form input, form#inq_form textarea, form#inq_form radio {
  font-size: 16px !important; }

/* .contact (question)
----------------------------------------------- */
table#question {
  width: 100%; }
  table#question th, table#question td {
    display: block; }
  table#question th {
    padding: 20px 0 12px 2em;
    font-size: 16px;
    text-indent: -2em;
    font-weight: normal;
    width: 100%;
    box-sizing: border-box;
    font-weight: bold; }
  table#question td {
    padding: 6px 0 12px 2em;
    word-break: break-all; }
    @media screen and (max-width: 799px) {
      table#question td {
        padding-left: 0; } }
    table#question td p {
      padding-left: 3em;
      text-indent: -3em; }
      table#question td p.t_l {
        padding-left: 0;
        text-indent: 0; }
  table#question .else {
    width: calc(100% - 8em );
    display: inline-block;
    margin-left: 1em; }
    @media screen and (max-width: 799px) {
      table#question .else {
        display: block;
        width: 100%;
        margin-left: 0; } }
  table#question .p_l1 {
    padding-left: 1em;
    margin-bottom: 4px; }
  table#question dl {
    display: block;
    max-width: 100%;
    margin-bottom: 10px; }
    table#question dl dt {
      max-width: 100%;
      border: none;
      padding: 0; }
    table#question dl dd {
      padding: 0 0 0 1em;
      box-sizing: border-box; }
    @media screen and (max-width: 799px) {
      table#question dl {
        display: block; }
        table#question dl dt, table#question dl dd {
          width: 100%;
          max-width: 100%; } }
  table#question .require {
    width: 2em;
    text-indent: 0; }
  table#question .flex, table#question .flex2, table#question .flex3, table#question .flex4, table#question .flex5, table#question .flex6 {
    justify-content: flex-start; }
    table#question .flex > *, table#question .flex2 > *, table#question .flex3 > *, table#question .flex4 > *, table#question .flex5 > *, table#question .flex6 > * {
      padding-right: 1em; }
    table#question .flex input[type="text"], table#question .flex2 input[type="text"], table#question .flex3 input[type="text"], table#question .flex4 input[type="text"], table#question .flex5 input[type="text"], table#question .flex6 input[type="text"], table#question .flex textarea, table#question .flex2 textarea, table#question .flex3 textarea, table#question .flex4 textarea, table#question .flex5 textarea, table#question .flex6 textarea {
      width: calc( 100% - 8em );
      padding-right: 0; }
    @media screen and (max-width: 799px) {
      table#question .flex, table#question .flex2, table#question .flex3, table#question .flex4, table#question .flex5, table#question .flex6 {
        flex-direction: column; }
        table#question .flex input[type="text"], table#question .flex2 input[type="text"], table#question .flex3 input[type="text"], table#question .flex4 input[type="text"], table#question .flex5 input[type="text"], table#question .flex6 input[type="text"], table#question .flex textarea, table#question .flex2 textarea, table#question .flex3 textarea, table#question .flex4 textarea, table#question .flex5 textarea, table#question .flex6 textarea {
          width: calc( 100% - 3em );
          margin-left: 3em; } }

/* .contact (join)
----------------------------------------------- */
#j02 {
  background-color: #00b1bb;
  padding: 20px 0 40px 0; }
  #j02 .style02 {
    background: #fff;
    color: #00b1bb; }
  #j02 .box01 dd p {
    margin-bottom: 4px; }
  #j02 .box01 {
    background-color: #fff; }
  #j02 dl {
    text-align: left; }
  #j02 dt {
    color: #00b1bb;
    font-weight: bold; }
  #j02 dd {
    margin-bottom: 20px;
    padding-left: 2em; }

#j03 .j03_vln_5 textarea#vln_5 {
  width: calc(100% - 5em ); }
  @media screen and (max-width: 600px) {
    #j03 .j03_vln_5 textarea#vln_5 {
      width: 100%; } }
#j03 tr.j03_citycast {
  padding-left: 4em;
  box-sizing: border-box; }
  #j03 tr.j03_citycast td {
    width: calc(100% - 16em); }
    @media screen and (max-width: 600px) {
      #j03 tr.j03_citycast td {
        width: 100%; } }

/* .circle divとsection 気軽に使えません！ごめんね。
----------------------------------------------- */
#c02 .box01 {
  overflow: hidden;
  padding: 0; }
#c02 h2 {
  padding: 40px 0 40px 0; }
#c02 #tabcontrol {
  cursor: pointer; }
#c02 #tabbody > div {
  display: none; }
#c02 #tabbody > div.active {
  display: block; }
#c02 ul.c02_ul02 {
  display: flex;
  gap: 0;
  align-items: center;
  justify-content: center; }
  #c02 ul.c02_ul02 li {
    background-color: #ccc;
    width: 50%;
    height: 80px;
    line-height: 80px;
    font-weight: bold;
    color: #fff; }
    @media screen and (max-width: 600px) {
      #c02 ul.c02_ul02 li {
        font-size: 20px;
        font-size: 2.0rpm; } }
    #c02 ul.c02_ul02 li.active {
      background-color: #009975; }
  #c02 ul.c02_ul02 li + li.active {
    background-color: #62D3C8; }
#c02 ul.c02_ul01 {
  background-color: rgba(255, 255, 255, 0.9);
  border-top: 1px solid #00b1bb; }
  #c02 ul.c02_ul01 li {
    display: flex;
    gap: 0 40px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #00b1bb;
    padding: 40px 20px 40px 20px;
    text-align: left; }
    #c02 ul.c02_ul01 li h3 {
      color: #00b1bb;
      font-weight: bold;
      margin-bottom: 20px; }
    #c02 ul.c02_ul01 li figure {
      flex: 0 0 auto;
      width: 36%; }
    #c02 ul.c02_ul01 li section {
      min-width: 60%; }
      @media screen and (max-width: 600px) {
        #c02 ul.c02_ul01 li section {
          min-width: auto; } }
    #c02 ul.c02_ul01 li.circle24 {
      flex-direction: column; }
      #c02 ul.c02_ul01 li.circle24 figure {
        width: 100%;
        margin-top: 20px; }
      @media screen and (max-width: 600px) {
        #c02 ul.c02_ul01 li.circle24 {
          flex-direction: column;
          gap: 20px 40px; }
          #c02 ul.c02_ul01 li.circle24 figure {
            width: calc( 100% + 80px );
            max-width: calc( 100% + 80px ); } }
    #c02 ul.c02_ul01 li#c02_b33 section.btn-style {
      max-width: 94%; }
    @media screen and (max-width: 600px) {
      #c02 ul.c02_ul01 li {
        flex-direction: column;
        gap: 20px 40px; }
        #c02 ul.c02_ul01 li figure {
          width: calc( 100% + 40px );
          max-width: calc( 100% + 40px ); } }
#c02 #c02_a {
  border-top: #009975 4px solid;
  padding: 40px; }
  #c02 #c02_a ul.c02_ul01 {
    border-top: 1px solid #009975; }
    #c02 #c02_a ul.c02_ul01 li {
      border-bottom: 1px solid #009975; }
      #c02 #c02_a ul.c02_ul01 li h3 {
        color: #009975; }
  @media screen and (max-width: 600px) {
    #c02 #c02_a {
      padding: 20px; } }
#c02 #c02_b {
  border-top: #62D3C8 4px solid;
  padding: 40px; }
  #c02 #c02_b ul.c02_ul01 {
    border-top: 1px solid #62D3C8; }
    #c02 #c02_b ul.c02_ul01 li {
      border-bottom: 1px solid #62D3C8; }
      #c02 #c02_b ul.c02_ul01 li h3 {
        color: #62D3C8; }
  @media screen and (max-width: 600px) {
    #c02 #c02_b {
      padding: 20px; } }

/* =============================================== */
/** 下層 */
/* ----------------------------------------------- */
#sitepolicy--01 .style04, #tips--01 .style04 {
  font-family: "M PLUS Rounded 1c", san-serif; }
#sitepolicy--01 p, #tips--01 p {
  text-align: left;
  margin-bottom: 20px; }
#sitepolicy--01 dl, #tips--01 dl {
  text-align: left; }
#sitepolicy--01 dt, #tips--01 dt {
  color: #00b1bb;
  font-weight: bold;
  padding-left: 1.3em;
  text-indent: -1.3em; }
#sitepolicy--01 dd, #tips--01 dd {
  padding-left: 1.3em;
  margin-bottom: 20px; }
#sitepolicy--01 table, #tips--01 table {
  border: 1px solid #ccc;
  border-collapse: collapse; }
  #sitepolicy--01 table th, #sitepolicy--01 table td, #tips--01 table th, #tips--01 table td {
    padding: 4px;
    border: 1px solid #ccc; }

/* =============================================== */
/** フォーム */
/* ----------------------------------------------- */
.cvForm__icon {
  display: inline-block;
  line-height: 24px;
  font-size: 12px;
  color: #fff;
  background-color: #dadada;
  vertical-align: middle;
  transform: translateY(-0.2em);
  padding: 0 6px;
  box-sizing: border-box;
  border-radius: 3px;
  margin-right: 0.85em;
  text-indent: 0; }

.cvForm__icon--must {
  background-color: #001aa0; }

.cvForm__data--radio {
  padding: 30px 0 10px;
  align-items: flex-start; }

.cvForm__data {
  padding: 20px 0 20px;
  box-sizing: border-box;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 600px) {
    .cvForm__data {
      flex-wrap: wrap; } }

.cvForm__ttl {
  width: 220px;
  font-size: 16px;
  font-weight: 700;
  text-indent: calc(-1*(36px + 0.68em));
  margin-left: calc(1*(36px + 0.68em));
  padding-right: 60px;
  text-align: left; }
  @media screen and (max-width: 600px) {
    .cvForm__ttl {
      width: 100%; } }
  @media screen and (max-width: 600px) {
    .cvForm__ttl {
      padding-right: 0; } }
  .cvForm__ttl.confirm__ttl {
    text-indent: 0;
    margin-left: 0;
    padding-right: calc(1*(36px + 0.68em) +  60px ); }
    @media screen and (max-width: 600px) {
      .cvForm__ttl.confirm__ttl {
        padding-right: 0; } }

.cvForm__box {
  width: calc(100% - 300px);
  text-align: left; }
  @media screen and (max-width: 600px) {
    .cvForm__box {
      width: 100%; } }

.cvForm__box input[type=text],
input[type="email"],
input[type="tel"] {
  width: 100%;
  border: solid 1px #d7dee6;
  border-radius: 5px;
  padding: 0 15px;
  box-sizing: border-box;
  line-height: 56px;
  height: 56px;
  background-color: #f4f5f8;
  font-size: 16px; }

.cvForm__data + .cvForm__data {
  border-top: solid 1px #d7dee6; }

.checkItem {
  display: inline-block;
  margin-right: 14px;
  margin-bottom: 20px; }

.radioBtn {
  display: inline-block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  vertical-align: middle;
  transform: translateY(-0.1em);
  border: solid 1px #bdc3ca;
  background-color: #f4f5f8;
  position: relative; }

.cvForm__box textarea {
  width: 100%;
  border: solid 1px #d7dee6;
  border-radius: 5px;
  padding: 15px 15px;
  box-sizing: border-box;
  line-height: 1.6;
  height: 280px;
  background-color: #f4f5f8;
  font-size: 16px; }

.cvForm__box select {
  width: 100%;
  border: solid 1px #d7dee6;
  border-radius: 5px;
  padding: 15px 15px;
  box-sizing: border-box;
  line-height: 1.6;
  background-color: #f4f5f8;
  font-size: 16px; }
