@charset "UTF-8";
.u-lg-col4,
.u-lg-col3,
.u-lg-col2,
.u-md-col4,
.u-md-col3,
.u-md-col2,
.u-sm-col4,
.u-sm-col3,
.u-sm-col2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

@media screen and (min-width: 769px) {
  .u-sp {
    display: none !important; } }

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

.u-pcline {
  display: none; }
  @media screen and (min-width: 769px) {
    .u-pcline {
      display: inline; } }

.u--red {
  color: #ff6666; }

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

.u--center {
  text-align: center; }

.u--serif {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.u--sans {
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "Meiryo UI", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.u--movie {
  position: relative;
  padding-bottom: 56.25%;
  width: 100%;
  overflow: hidden; }
  .u--movie > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.listbox-icon {
  float: left;
  height: 40px;
  padding: 9px 0;
  color: #6098ad; }
  @media screen and (min-width: 554px) {
    .listbox-icon {
      height: 40px;
      padding: 9px 0; } }
  @media screen and (min-width: 769px) {
    .listbox-icon {
      height: 53px;
      padding: 15px 0; } }

.listbox-text {
  float: left;
  height: 41px;
  position: absolute;
  left: 38px;
  overflow: hidden;
  padding: 2px 0 2px 5px; }
  @media screen and (min-width: 554px) {
    .listbox-text {
      padding: 2px 0 2px 5px; } }
  @media screen and (min-width: 769px) {
    .listbox-text {
      padding: 1px 0 1px 5px; } }

.debug-area {
  width: 100%;
  display: none;
  background-color: #b0ad70;
  padding: 7px 7px 6px 7px;
  border: 1px solid #000000;
  box-sizing: border-box; }
  .debug-area .debug-section {
    width: 100%;
    display: inline-block;
    background-color: #4f4f4f;
    margin-bottom: 3px;
    float: left; }
    .debug-area .debug-section .title {
      width: 100%;
      color: #ffff00;
      background-color: #610202;
      font-weight: bold;
      font-size: 12px;
      padding: 3px 10px; }
    .debug-area .debug-section .item {
      width: 100%;
      background-color: #1d1d1d;
      margin-bottom: 1px;
      display: flex; }
      .debug-area .debug-section .item .name {
        float: left;
        width: 40%;
        color: #ffffff;
        font-size: 12px;
        padding: 2px 0 2px 10px;
        overflow-x: hidden; }
      .debug-area .debug-section .item .value {
        float: left;
        width: 60%;
        color: #ffffff;
        background-color: #333333;
        font-size: 12px;
        padding: 2px 0 2px 10px;
        overflow-x: hidden;
        white-space: pre-wrap; }

.no-border-table {
  width: unset !important;
  margin: 0 !important; }
  .no-border-table tr {
    border-top: unset !important;
    border-bottom: unset !important; }
    .no-border-table tr td {
      display: table-cell !important;
      width: unset !important;
      padding: 0 10px 0 0 !important; }

.width-80, .width-100, width-120, width-150, width-200, width-250, width-300, width-350, width-400 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0;
  padding: 0; }

.width-80 {
  max-width: 80px !important; }

.width-100 {
  max-width: 100px !important; }

.width-120 {
  max-width: 120px !important; }

.width-150 {
  max-width: 150px !important; }

.width-200 {
  max-width: 200px !important; }

.width-250 {
  max-width: 250px !important; }

.width-300 {
  max-width: 300px !important; }

.width-350 {
  max-width: 350px !important; }

.width-400 {
  max-width: 400px !important; }

.height-60 {
  height: 60px !important; }

.height-90 {
  height: 90px !important; }

.subject-english {
  color: #6e7208;
  background-color: #fcffaf;
  border: 1px solid #e6e9a8; }

.subject-math {
  color: #a51ba9;
  background-color: #fed8ff;
  border: 1px solid #e4bde5; }

.subject-national {
  color: #076bb1;
  background-color: #d3edff;
  border: 1px solid #bbd8ed; }

.subject-science {
  color: #505050;
  background-color: #e9e9e9;
  border: 1px solid #c3c3c3; }

.subject-society {
  color: #4ead28;
  background-color: #e1fdd6;
  border: 1px solid #c3e1b7; }

.bg-english {
  background-color: #fde400; }

.bg-math {
  background-color: #fc7eff; }

.bg-national {
  background-color: #139fff; }

.bg-science {
  background-color: #bfbfbf; }

.bg-society {
  background-color: #34b502; }

.bg-blue {
  background-color: #015cb59e; }

.bg-red {
  background-color: #d9000063; }

html {
  font-size: 100%;
  /*
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    @media screen and (min-width: 768px) {
      font-size: 12px;
    }
    @media screen and (max-width: 768px) {
      font-size: 12px;
    }
  */ }

body {
  font-size: 15px;
  line-height: 1.6;
  color: #212121;
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "Meiryo UI", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  height: 100%;
  width: 100%;
  text-align: left;
  margin: 0px;
  padding: 0px;
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: "メイリオ","ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Osaka",Arial,sans-serif; }
  @media screen and (min-width: 769px) {
    body {
      overflow-x: auto;
      min-width: 1260px; } }

a {
  display: block;
  color: #212121;
  text-decoration: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer; }

a:hover {
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

::-moz-selection {
  background: #eee;
  color: #212121;
  text-shadow: none; }

::selection {
  background: #eee;
  color: #212121;
  text-shadow: none; }

::-moz-selection {
  background: #eee;
  color: #212121;
  text-shadow: none; }

.legacy-ie {
  background: #eee;
  width: 100%;
  padding: 100px 0;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  z-index: 10000; }

.legacy-ie a {
  color: #0066b3;
  text-decoration: none; }

.noscript {
  background: #eee;
  width: 100%;
  padding: 100px 0;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  z-index: 10000; }

.margin-bottom-10 {
  margin-bottom: 10px; }

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption {
  margin: 0;
  padding: 0; }

input, textarea {
  margin: 0;
  font-size: 100%; }

label {
  /*cursor: pointer;*/ }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

fieldset, img {
  border: 0; }

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

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: bold; }

q:after, q:before {
  content: ''; }

a, input {
  outline: none; }

input, textarea {
  border-radius: 0;
  font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }

input[type="button"], input[type="submit"] {
  -webkit-appearance: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer; }

abbr, acronym {
  border: 0; }

* {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* LP contents
   ----------------------------------------------------------------- */
/* header */
.header {
  position: relative;
  z-index: 20; }
  @media screen and (min-width: 769px) {
    .header {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 200;
      width: 100%; } }
  @media screen and (min-width: 769px) {
    .header .header-inner .header-navglobal-cover {
      display: block;
      background: #FFFFFF;
      padding-top: 10px;
      height: 70px;
      width: 100%;
      margin: 0 auto;
      transition: all 0.2s; } }
  .header .header-logo {
    float: left; }
  @media screen and (max-width: 768px) {
    .header {
      display: block;
      width: 100%;
      height: 55px; }
      .header .header-inner > * {
        position: relative;
        z-index: 2; }
      .header .menu .icon > div {
        -webkit-transform: all .25s ease;
        -ms-transform: all .25s ease;
        transform: all .25s ease; }
      .header .menu .c {
        display: none; }
      .header .header-navglobal {
        pointer-events: none;
        opacity: 0;
        -webkit-transition: opacity .25s ease;
        -o-transition: opacity .25s ease;
        transition: opacity .25s ease; }
      .header.active:after {
        content: '';
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 1;
        background-color: rgba(0, 0, 0, 0.8); }
      .header.active .header-navglobal {
        pointer-events: all;
        opacity: 1;
        width: 90%;
        max-width: 500px; }
      .header.active .menu .icon > div {
        -webkit-transform-origin: center;
        -ms-transform-origin: center;
        transform-origin: center; }
        .header.active .menu .icon > div:nth-child(1) {
          -webkit-transform: translate(0, 235%) rotate(45deg);
          -ms-transform: translate(0, 235%) rotate(45deg);
          transform: translate(0, 235%) rotate(45deg); } }
      @media screen and (max-width: 768px) and (min-width: 554px) {
        .header.active .menu .icon > div:nth-child(1) {
          -webkit-transform: translate(0, 7px) rotate(45deg);
          -ms-transform: translate(0, 7px) rotate(45deg);
          transform: translate(0, 7px) rotate(45deg); } }
  @media screen and (max-width: 768px) {
        .header.active .menu .icon > div:nth-child(2) {
          opacity: 0; }
        .header.active .menu .icon > div:nth-child(3) {
          -webkit-transform: translate(0, -235%) rotate(-45deg);
          -ms-transform: translate(0, -235%) rotate(-45deg);
          transform: translate(0, -235%) rotate(-45deg); } }
      @media screen and (max-width: 768px) and (min-width: 554px) {
        .header.active .menu .icon > div:nth-child(3) {
          -webkit-transform: translate(0, -7px) rotate(-45deg);
          -ms-transform: translate(0, -7px) rotate(-45deg);
          transform: translate(0, -7px) rotate(-45deg); } }
  @media screen and (max-width: 768px) {
      .header.active .menu .c {
        display: block; }
      .header.active .menu .o {
        display: none; }
      .header .header-logo {
        /*text-align: center;*/
        /*max-width: calc(100% - 240px);*/
        height: 100%;
        display: flex;
        align-items: center;
        align-content: center;
        flex-direction: row;
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow: hidden; }
        .header .header-logo a img {
          /*margin: 10px 10px 10px 15px;
          height: 35px;*/
          width: auto;
          height: 45px;
          object-fit: contain;
          margin-left: 10px; }
      .header .header-h1 {
        text-align: center;
        font-size: 12px;
        font-weight: normal;
        float: left;
        padding-top: 18px; }
        .header .header-h1 br {
          display: none; }
      .header .header-navutility {
        position: fixed;
        display: block;
        /*overflow: hidden;*/
        top: 0;
        left: 0;
        z-index: 20;
        width: 100%;
        height: 55px;
        background-color: #ffffff;
        border-bottom: 1px solid #e4e4e4; }
        .header .header-navutility .message,
        .header .header-navutility .try,
        .header .header-navutility .member,
        .header .header-navutility .login,
        .header .header-navutility .logout,
        .header .header-navutility .regist {
          height: 55px;
          width: 60px; }
          .header .header-navutility .message a,
          .header .header-navutility .try a,
          .header .header-navutility .member a,
          .header .header-navutility .login a,
          .header .header-navutility .logout a,
          .header .header-navutility .regist a {
            padding: 9px 0;
            height: 100%;
            text-align: center;
            font-weight: bold;
            color: #FFFFFF; }
            .header .header-navutility .message a .icon,
            .header .header-navutility .try a .icon,
            .header .header-navutility .member a .icon,
            .header .header-navutility .login a .icon,
            .header .header-navutility .logout a .icon,
            .header .header-navutility .regist a .icon {
              margin: 0 5px;
              font-size: 25px; }
            .header .header-navutility .message a .text,
            .header .header-navutility .try a .text,
            .header .header-navutility .member a .text,
            .header .header-navutility .login a .text,
            .header .header-navutility .logout a .text,
            .header .header-navutility .regist a .text {
              text-align: left;
              line-height: 1px; }
              .header .header-navutility .message a .text > span,
              .header .header-navutility .try a .text > span,
              .header .header-navutility .member a .text > span,
              .header .header-navutility .login a .text > span,
              .header .header-navutility .logout a .text > span,
              .header .header-navutility .regist a .text > span {
                display: block; }
              .header .header-navutility .message a .text .l,
              .header .header-navutility .try a .text .l,
              .header .header-navutility .member a .text .l,
              .header .header-navutility .login a .text .l,
              .header .header-navutility .logout a .text .l,
              .header .header-navutility .regist a .text .l {
                display: block;
                font-size: 11px;
                text-align: center; }
              .header .header-navutility .message a .text .s,
              .header .header-navutility .try a .text .s,
              .header .header-navutility .member a .text .s,
              .header .header-navutility .login a .text .s,
              .header .header-navutility .logout a .text .s,
              .header .header-navutility .regist a .text .s {
                font-size: 9px;
                line-height: 1.2;
                display: none; } }
            @media screen and (max-width: 768px) and (min-width: 554px) {
              .header .header-navutility .message a .text .s,
              .header .header-navutility .try a .text .s,
              .header .header-navutility .member a .text .s,
              .header .header-navutility .login a .text .s,
              .header .header-navutility .logout a .text .s,
              .header .header-navutility .regist a .text .s {
                display: block; }
                .header .header-navutility .message a .text .s br,
                .header .header-navutility .try a .text .s br,
                .header .header-navutility .member a .text .s br,
                .header .header-navutility .login a .text .s br,
                .header .header-navutility .logout a .text .s br,
                .header .header-navutility .regist a .text .s br {
                  display: none; } }
  @media screen and (max-width: 768px) {
        .header .header-navutility .message {
          display: inline-block;
          position: absolute;
          right: 60px; }
          .header .header-navutility .message a {
            background-color: #78a208; }
          .header .header-navutility .message .message-mark p {
            display: inline-block;
            position: absolute;
            top: 7px;
            right: 7px;
            background-color: #fb1f6a;
            color: #ffffff;
            font-size: 14px;
            font-weight: normal;
            border-radius: 10px;
            height: 20px;
            max-width: 30px;
            min-width: 20px;
            z-index: 1; }
          .header .header-navutility .message .message-mark .disabled {
            display: none; }
        .header .header-navutility .try {
          display: inline-block;
          position: absolute;
          right: 60px; }
          .header .header-navutility .try a {
            background-color: #008dcd; }
        .header .header-navutility .login {
          position: absolute;
          right: 120px; }
          .header .header-navutility .login a {
            background-color: #ff6666; }
        .header .header-navutility .logout {
          position: absolute;
          right: 120px; }
          .header .header-navutility .logout a {
            background-color: #ff6666; }
        .header .header-navutility .member {
          position: absolute;
          right: 180px; }
          .header .header-navutility .member a {
            background-color: #ffa000; }
        .header .header-navutility .regist {
          position: absolute;
          right: 180px; }
          .header .header-navutility .regist a {
            background-color: #ffa000; }
        .header .header-navutility .menu {
          background-color: #454044;
          pointer-events: all;
          cursor: pointer;
          display: inline-block;
          width: 60px;
          height: 55px;
          text-align: center;
          position: absolute;
          right: 0; }
          .header .header-navutility .menu .icon {
            width: 100%;
            padding: 12px 20px 10px; }
            .header .header-navutility .menu .icon > div {
              height: 3px;
              background-color: #FFFFFF; }
              .header .header-navutility .menu .icon > div:nth-child(n+2) {
                margin-top: 4px; }
          .header .header-navutility .menu .text {
            color: #FFFFFF;
            font-size: 10px;
            line-height: 1px; }
      .header .header-navglobal {
        position: fixed;
        top: 55px;
        right: 0;
        height: 100%;
        overflow-y: scroll; } }
    @media screen and (max-width: 768px) and (min-width: 554px) {
      .header .header-navglobal {
        top: 55px; } }
  @media screen and (max-width: 768px) {
        .header .header-navglobal .list {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: flex-end;
          align-content: flex-start;
          background-color: #ffffff;
          padding-bottom: 100px;
          min-height: 100%; }
          .header .header-navglobal .list .special {
            font-weight: bold; }
          .header .header-navglobal .list .item {
            width: 100%;
            border-bottom: 1px solid #e8e8e8;
            background-color: #FFFFFF; }
            .header .header-navglobal .list .item > a {
              position: relative;
              padding: 1em 0 1em 7.5%;
              font-size: 14px; } }
          @media screen and (max-width: 768px) and (max-width: 335px) {
            .header .header-navglobal .list .item > a {
              font-size: 12px; } }
  @media screen and (max-width: 768px) {
              .header .header-navglobal .list .item > a:after {
                content: '';
                display: block;
                position: absolute;
                top: 50%;
                right: 7.5%;
                border-top: 1px solid #000;
                border-right: 1px solid #000;
                width: .4em;
                height: .4em;
                -webkit-transform: translate(0, -50%) rotate(45deg);
                -ms-transform: translate(0, -50%) rotate(45deg);
                transform: translate(0, -50%) rotate(45deg); }
          .header .header-navglobal .list .item-sp {
            width: 100%;
            background-color: #FFFFFF;
            border-bottom: 1px solid #e8e8e8; }
            .header .header-navglobal .list .item-sp > a {
              position: relative;
              padding: 1em 0 1em 7.5%;
              font-size: 14px; } }
          @media screen and (max-width: 768px) and (max-width: 335px) {
            .header .header-navglobal .list .item-sp > a {
              font-size: 12px; } }
  @media screen and (max-width: 768px) {
            .header .header-navglobal .list .item-sp form {
              display: flex;
              padding: 1em 1em 1em 7.5%; }
              .header .header-navglobal .list .item-sp form .search-box {
                width: auto; }
                .header .header-navglobal .list .item-sp form .search-box input {
                  font-family: "メイリオ","ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Osaka",Arial,sans-serif;
                  width: 100%;
                  height: 34px;
                  border: 1px solid #e8e8e8;
                  background-color: #fbfbfb;
                  font-size: 18px;
                  padding: 0 12px; }
                .header .header-navglobal .list .item-sp form .search-box input::placeholder {
                  font-size: 14px;
                  color: #cccccc; }
              .header .header-navglobal .list .item-sp form .search-btn {
                margin-left: 5px;
                padding: 5px 20px;
                background-color: #353535;
                color: #ffffff;
                border-radius: 7px;
                width: 80px;
                text-align: center;
                cursor: pointer;
                white-space: nowrap; }
          .header .header-navglobal .list .item-sp-sub {
            width: 100%;
            background-color: #f3f3f3;
            border-bottom: 1px solid #e8e8e8; }
            .header .header-navglobal .list .item-sp-sub > a {
              position: relative;
              padding: 1em 0 1em 12%;
              font-size: 14px;
              color: #3c3c3c; } }
          @media screen and (max-width: 768px) and (max-width: 335px) {
            .header .header-navglobal .list .item-sp-sub > a {
              font-size: 12px; } }
  @media screen and (max-width: 768px) {
          .header .header-navglobal .list .item-pc {
            display: none; }
          .header .header-navglobal .list .item-pc-search {
            display: none; } }
  @media screen and (min-width: 769px) {
    .header .header-inner {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      min-width: 1260px;
      padding: 20px 30px 0;
      background-color: #FFFFFF;
      -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
      box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04); }
    .header .header-logo {
      margin-right: 15px; }
      .header .header-logo a {
        display: inline-block; }
        .header .header-logo a:hover {
          opacity: .6; }
        .header .header-logo a img {
          height: 45px;
          width: auto; }
    .header .header-h1 {
      width: 313px;
      font-size: 12px;
      font-weight: normal;
      text-indent: 0.5em;
      line-height: 1.5;
      float: left; }
    .header .header-navutility {
      width: 1200px;
      height: 45px; }
      .header .header-navutility .message,
      .header .header-navutility .try,
      .header .header-navutility .member,
      .header .header-navutility .login,
      .header .header-navutility .logout,
      .header .header-navutility .regist {
        width: 130px;
        float: right;
        margin-left: 10px; }
        .header .header-navutility .message a,
        .header .header-navutility .try a,
        .header .header-navutility .member a,
        .header .header-navutility .login a,
        .header .header-navutility .logout a,
        .header .header-navutility .regist a {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          border-radius: 4px;
          height: 45px;
          text-align: center;
          font-size: 14px;
          font-weight: bold;
          color: #FFFFFF; }
          .header .header-navutility .message a:hover,
          .header .header-navutility .try a:hover,
          .header .header-navutility .member a:hover,
          .header .header-navutility .login a:hover,
          .header .header-navutility .logout a:hover,
          .header .header-navutility .regist a:hover {
            opacity: .6; }
          .header .header-navutility .message a .icon,
          .header .header-navutility .try a .icon,
          .header .header-navutility .member a .icon,
          .header .header-navutility .login a .icon,
          .header .header-navutility .logout a .icon,
          .header .header-navutility .regist a .icon {
            margin-right: .1em;
            font-size: 24px; }
          .header .header-navutility .message a .text,
          .header .header-navutility .try a .text,
          .header .header-navutility .member a .text,
          .header .header-navutility .login a .text,
          .header .header-navutility .logout a .text,
          .header .header-navutility .regist a .text {
            padding: .18rem 0;
            text-align: left; }
            .header .header-navutility .message a .text .l,
            .header .header-navutility .try a .text .l,
            .header .header-navutility .member a .text .l,
            .header .header-navutility .login a .text .l,
            .header .header-navutility .logout a .text .l,
            .header .header-navutility .regist a .text .l {
              display: block;
              font-size: 16px;
              padding-top: 4px; }
            .header .header-navutility .message a .text .s,
            .header .header-navutility .try a .text .s,
            .header .header-navutility .member a .text .s,
            .header .header-navutility .login a .text .s,
            .header .header-navutility .logout a .text .s,
            .header .header-navutility .regist a .text .s {
              display: none; }
      .header .header-navutility .message {
        position: relative; }
        .header .header-navutility .message a {
          background-color: #78a208; }
        .header .header-navutility .message .message-mark p {
          position: absolute;
          background-color: #fb1f6a;
          color: #ffffff;
          font-size: 14px;
          font-weight: normal;
          border-radius: 10px;
          height: 20px;
          max-width: 30px;
          min-width: 20px;
          left: -3px;
          top: -3px; }
        .header .header-navutility .message .message-mark .disabled {
          display: none; }
      .header .header-navutility .try a {
        background-color: #008dcd; }
      .header .header-navutility .member a {
        background-color: #ffa000; }
      .header .header-navutility .regist a {
        background-color: #ffa000; }
      .header .header-navutility .login a {
        background-color: #ff6666; }
      .header .header-navutility .logout a {
        background-color: #ff6666; }
      .header .header-navutility .menu {
        display: none; }
    .header .header-navglobal {
      width: 100%; }
      .header .header-navglobal .list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: flex-start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: flex-start;
        justify-content: flex-start;
        align-items: center;
        margin: 0 auto;
        width: 1200px; }
        .header .header-navglobal .list .special {
          font-weight: bold; }
        .header .header-navglobal .list .item-pc {
          position: relative;
          width: 14%; }
          .header .header-navglobal .list .item-pc:before {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 1px;
            height: 100%;
            background: -webkit-gradient(linear, left top, left bottom, from(#f7f8f9), color-stop(50%, #cfd0d1), to(#f7f8f9));
            background: -webkit-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: -o-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: linear-gradient(to bottom, #f7f8f9, #cfd0d1 50%, #f7f8f9); }
          .header .header-navglobal .list .item-pc > a {
            padding: 23px 0;
            text-align: center;
            font-size: 14px;
            line-height: 1;
            letter-spacing: -.05em;
            white-space: nowrap;
            -webkit-transition: color .25s ease;
            -o-transition: color .25s ease;
            transition: color .25s ease; }
            .header .header-navglobal .list .item-pc > a:hover {
              color: #ffa000; }
        .header .header-navglobal .list .item-sp {
          display: none; }
        .header .header-navglobal .list .item-sp-sub {
          display: none; }
        .header .header-navglobal .list .item-pc-search {
          position: relative;
          display: flex;
          align-items: center;
          width: 100%;
          padding: 0 10px 0 20px; }
          .header .header-navglobal .list .item-pc-search:before {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 1px;
            height: 100%;
            background: -webkit-gradient(linear, left top, left bottom, from(#f7f8f9), color-stop(50%, #cfd0d1), to(#f7f8f9));
            background: -webkit-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: -o-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: linear-gradient(to bottom, #f7f8f9, #cfd0d1 50%, #f7f8f9); }
          .header .header-navglobal .list .item-pc-search form {
            display: contents; }
          .header .header-navglobal .list .item-pc-search .search-box {
            width: 100%;
            text-align: right; }
            .header .header-navglobal .list .item-pc-search .search-box input {
              font-family: "メイリオ","ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Osaka",Arial,sans-serif;
              width: 70%;
              height: 34px;
              border: 1px solid #e8e8e8;
              border-radius: 5px;
              background-color: #fbfbfb;
              font-size: 18px;
              padding: 0 12px; }
              .header .header-navglobal .list .item-pc-search .search-box input:focus {
                border-color: #545454;
                box-shadow: 0 0 0 1px #545454; }
            .header .header-navglobal .list .item-pc-search .search-box input::placeholder {
              font-size: 14px;
              color: #cccccc; }
          .header .header-navglobal .list .item-pc-search .search-btn {
            margin-left: 5px;
            padding: 5px 20px;
            background-color: #353535;
            color: #ffffff;
            border-radius: 7px;
            width: 80px;
            text-align: center;
            cursor: pointer; }
            .header .header-navglobal .list .item-pc-search .search-btn:hover {
              opacity: 0.7; } }
  .header .header-megamenu-container {
    display: none; }
    @media screen and (min-width: 769px) {
      .header .header-megamenu-container {
        display: block;
        -webkit-transition: opacity .2s ease;
        -o-transition: opacity .2s ease;
        transition: opacity .2s ease;
        position: fixed;
        left: 0;
        width: 100vw;
        visibility: hidden;
        opacity: 0;
        background-color: #ffa000; } }
  .header .is-active > a + .header-megamenu-container {
    visibility: visible;
    opacity: 1; }
  .header .header-navglobal .list .item > a::after {
    content: '';
    position: absolute;
    opacity: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    border-right: solid 8px transparent;
    border-bottom: solid 8px #ffa000;
    border-left: solid 8px transparent;
    -webkit-transition: opacity .2s ease;
    -o-transition: opacity .2s ease;
    transition: opacity .2s ease; }
  .header .header-navglobal .list .item.is-active > a::after {
    opacity: 1; }
  .header .header-megamenu-inner {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 25px;
    padding-bottom: 25px; }
  .header .header-megamenu-service {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: -30px; }
    .header .header-megamenu-service > li {
      padding-left: 30px;
      width: 25%; }
      .header .header-megamenu-service > li a {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        height: 46px;
        line-height: 46px;
        border-radius: 23px;
        text-align: center;
        background-color: #FFFFFF;
        position: relative;
        -webkit-transition: color .2s ease;
        -o-transition: color .2s ease;
        transition: color .2s ease;
        padding-right: 8px; }
        .header .header-megamenu-service > li a .ico {
          color: #ffa000;
          padding-right: 10px;
          cursor: pointer; }
        .header .header-megamenu-service > li a .txt {
          line-height: 1px;
          cursor: pointer; }
        .header .header-megamenu-service > li a:hover {
          color: #ffa000; }
        .header .header-megamenu-service > li a::before {
          content: '';
          display: block;
          position: absolute;
          right: 15px;
          top: 50%;
          -webkit-transform: translateY(-50%) rotate(45deg);
          -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
          width: 6px;
          height: 6px;
          border-top: solid 1px #ffa000;
          border-right: solid 1px #ffa000; }
        .header .header-megamenu-service > li a img {
          margin-right: 10px;
          vertical-align: middle;
          margin-bottom: 2px;
          width: 25px; }
  .header .header-megamenu-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: -20px; }
    .header .header-megamenu-item__col {
      padding-left: 20px;
      width: 25%; }
    .header .header-megamenu-item__group {
      position: relative;
      overflow: hidden; }
      .header .header-megamenu-item__group a {
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 3;
        color: #FFFFFF;
        font-weight: bold;
        font-size: 20px;
        text-align: center; }
        .header .header-megamenu-item__group a > span {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      .header .header-megamenu-item__group::before {
        content: '';
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -webkit-transition: background-color .2s ease;
        -o-transition: background-color .2s ease;
        transition: background-color .2s ease;
        background-color: rgba(0, 0, 0, 0.3); }
      .header .header-megamenu-item__group::after {
        content: '';
        position: absolute;
        z-index: 2;
        top: 50%;
        right: 15px;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg);
        width: 15px;
        height: 15px;
        border-top: 2px solid #FFFFFF;
        border-right: 2px solid #FFFFFF; }
      .header .header-megamenu-item__group:hover::before {
        background-color: rgba(0, 0, 0, 0.2); }
    .header .header-megamenu-item__item {
      min-height: 200px; }
      .header .header-megamenu-item__item > ul {
        margin-top: 8px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-left: -15px;
        color: #FFFFFF; }
        .header .header-megamenu-item__item > ul > li {
          width: 50%;
          padding-left: 15px;
          padding-bottom: 3px; }
          .header .header-megamenu-item__item > ul > li a {
            color: #FFFFFF;
            font-size: 14px;
            line-height: 1.4;
            padding-left: 15px;
            position: relative; }
            .header .header-megamenu-item__item > ul > li a .material-icons {
              position: absolute;
              top: 2px;
              left: 0;
              vertical-align: middle;
              font-size: 14px; }
            .header .header-megamenu-item__item > ul > li a:hover {
              text-decoration: underline; }
  .header .header-megamenu-brand {
    color: #FFFFFF;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: -15px; }
    .header .header-megamenu-brand dt {
      font-size: 16px;
      font-weight: bold;
      width: 100%;
      margin-bottom: 5px;
      padding-left: 15px; }
    .header .header-megamenu-brand dd {
      width: 33.3333333333%;
      padding: 3px 0 5px 15px; }
      .header .header-megamenu-brand dd a {
        color: #FFFFFF;
        font-size: 14px; }
        .header .header-megamenu-brand dd a .material-icons {
          vertical-align: middle;
          margin-right: 5px;
          margin-bottom: 2px;
          font-size: 14px; }
        .header .header-megamenu-brand dd a:hover {
          text-decoration: underline; }

@media screen and (min-width: 769px) {
  .header.fixed .header-inner {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0; }
    .header.fixed .header-inner .header-navglobal-cover {
      height: 0;
      opacity: 0;
      pointer-events: none; }
    .header.fixed .header-inner:hover .header-navglobal-cover {
      height: 70px;
      opacity: 1;
      pointer-events: auto; } }

@media screen and (min-width: 769px) {
  #js-megamenu-bg {
    display: none;
    position: fixed;
    z-index: 199;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.2); } }
/* footer
   ----------------------------------------------------------------- */
.footer {
  position: relative;
  z-index: 1;
  background-color: #ffffff; }
  @media screen and (max-width: 768px) {
    .footer {
      overflow: hidden; }
      .footer .footer-navtext .list .item {
        border-bottom: 1px solid #e1e2e3; }
        .footer .footer-navtext .list .item:nth-child(1) {
          border-top: 1px solid #e1e2e3; }
        .footer .footer-navtext .list .item > a {
          position: relative;
          padding: 18px 3%; }
          .footer .footer-navtext .list .item > a:after {
            content: '';
            position: absolute;
            top: 50%;
            right: 3%;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            width: 6px;
            height: 6px;
            -webkit-transform: translate(0, -50%) rotate(45deg);
            -ms-transform: translate(0, -50%) rotate(45deg);
            transform: translate(0, -50%) rotate(45deg); }
        .footer .footer-navtext .list .item > ul {
          display: none; }
      .footer .footer-copy {
        text-align: center;
        font-size: 0.875rem;
        padding: 9px 0 9px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background-color: #F7AB00; }
        .footer .footer-copy .debug-toggle {
          color: #ffffff;
          background-color: #760000;
          border-radius: 7px;
          margin-left: 10px;
          padding: 0 10px;
          height: 30px;
          display: flex;
          align-items: center;
          justify-content: center;
          cursor: pointer; }
          .footer .footer-copy .debug-toggle:hover {
            color: #ffffff;
            background-color: #666666; } }
  @media screen and (min-width: 769px) {
    .footer {
      min-width: 1200px;
      overflow: hidden; }
      .footer .footer-navtext {
        border-top: 1px solid #e1e2e3;
        border-bottom: 1px solid #e1e2e3;
        padding: 20px 0 50px; }
        .footer .footer-navtext .list {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
          margin: 0 auto;
          width: 1110px;
          padding: 0 30px; }
          .footer .footer-navtext .list .item {
            width: 20%; }
            .footer .footer-navtext .list .item dt {
              margin-bottom: 10px;
              font-size: 13px;
              font-weight: bold; }
              .footer .footer-navtext .list .item dt a {
                -webkit-transition: color .25s ease;
                -o-transition: color .25s ease;
                transition: color .25s ease; }
                .footer .footer-navtext .list .item dt a:hover {
                  opacity: 0.6; }
            .footer .footer-navtext .list .item dd {
              font-size: 12px;
              line-height: 1.75; }
              .footer .footer-navtext .list .item dd a {
                -webkit-transition: color .25s ease;
                -o-transition: color .25s ease;
                transition: color .25s ease;
                font-family: "Noto Sans JP", sans-serif;
                font-size: 15px;
                margin: 14px 0; }
                .footer .footer-navtext .list .item dd a:hover {
                  opacity: 0.6; }
      .footer .footer-copy {
        text-align: center;
        font-size: 0.875rem;
        padding: 9px 0 9px;
        display: flex;
        justify-content: center;
        color: #ffffff;
        background-color: #F7AB00; }
        .footer .footer-copy .debug-toggle {
          color: #cecece;
          background-color: #f5f5f5;
          border-radius: 10px;
          margin-left: 10px;
          padding: 0 10px;
          cursor: pointer; }
          .footer .footer-copy .debug-toggle:hover {
            color: #ffffff;
            background-color: #666666; } }

#pagetop {
  position: fixed;
  bottom: 5px;
  right: 5px;
  display: none;
  z-index: 10; }
  @media screen and (min-width: 769px) {
    #pagetop {
      bottom: 26px;
      right: 26px; } }
  #pagetop a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    width: 60px;
    height: 60px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
    @media screen and (min-width: 769px) {
      #pagetop a:hover {
        opacity: 0.7; } }
  #pagetop div {
    display: block;
    width: 40px;
    height: 40px;
    background: #ffa000;
    border-radius: 50%;
    position: relative; }
    #pagetop div::after {
      content: "";
      position: absolute;
      left: 50%;
      border-left: solid 1px #FFFFFF;
      border-top: solid 1px #FFFFFF;
      -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
      transform-origin: left top;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      top: 16px;
      width: 6px;
      height: 6px; }
    #pagetop div span {
      display: none; }
    @media screen and (min-width: 554px) {
      #pagetop div {
        width: 45px;
        height: 45px; }
        #pagetop div::after {
          top: 18px; } }
    @media screen and (min-width: 769px) {
      #pagetop div {
        width: 54px;
        height: 54px; }
        #pagetop div span {
          display: inline-block;
          text-align: center;
          color: #FFFFFF;
          font-size: 11px;
          position: absolute;
          left: 50%;
          top: 20px;
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          transform: translateX(-50%);
          font-weight: bold;
          width: 100%; }
        #pagetop div::after {
          top: 12px;
          width: 5px;
          height: 5px; } }

#index .contents {
  width: 100%;
  overflow: hidden;
  /* ------------------------------
     loopSlider
  ------------------------------ */ }
  #index .contents .contents-slider {
    position: relative;
    /*
    .bx-controls {
      @include media(md) {
        margin-top: 10px;
        height: 4px;
      }
    }
    */ }
    @media screen and (min-width: 769px) {
      #index .contents .contents-slider {
        width: 1200px;
        overflow: hidden;
        margin: 0 auto; } }
    @media screen and (min-width: 769px) {
      #index .contents .contents-slider .contents-slider__inner {
        position: relative;
        margin: 0 auto;
        padding-bottom: 24px;
        width: 1200px; } }
    #index .contents .contents-slider .contents-slider__item:nth-child(n+2) {
      position: absolute;
      top: 0;
      left: 0; }
    #index .contents .contents-slider .bx-wrapper {
      position: relative;
      margin: 0 auto;
      max-width: inherit !important; }
      @media screen and (min-width: 769px) {
        #index .contents .contents-slider .bx-wrapper {
          width: 1200px !important; } }
    #index .contents .contents-slider .bx-viewport {
      width: 100%; }
      @media screen and (min-width: 769px) {
        #index .contents .contents-slider .bx-viewport {
          overflow: visible !important; } }
    #index .contents .contents-slider .bx-controls-direction {
      display: none; }
      @media screen and (min-width: 769px) {
        #index .contents .contents-slider .bx-controls-direction {
          display: block; } }
      #index .contents .contents-slider .bx-controls-direction a {
        position: absolute;
        top: 100%;
        z-index: 10;
        margin-top: -6px;
        border-radius: 50%;
        width: 50px;
        height: 50px;
        font-size: 0;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        background: url(./images/arrow.svg) no-repeat center center/contain; }
        @media screen and (min-width: 769px) {
          #index .contents .contents-slider .bx-controls-direction a {
            top: 50%;
            width: 50px;
            height: 50px; } }
        #index .contents .contents-slider .bx-controls-direction a.bx-next {
          right: 2.5%; }
          @media screen and (min-width: 769px) {
            #index .contents .contents-slider .bx-controls-direction a.bx-next {
              right: -53px; } }
        #index .contents .contents-slider .bx-controls-direction a.bx-prev {
          left: 2.5%;
          -webkit-transform: translate(0, -50%) rotate(180deg);
          -ms-transform: translate(0, -50%) rotate(180deg);
          transform: translate(0, -50%) rotate(180deg); }
          @media screen and (min-width: 769px) {
            #index .contents .contents-slider .bx-controls-direction a.bx-prev {
              left: -53px; } }
    #index .contents .contents-slider .bx-default-pager {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      position: absolute;
      bottom: 8px; }
      @media screen and (min-width: 769px) {
        #index .contents .contents-slider .bx-default-pager {
          bottom: 10px; } }
      #index .contents .contents-slider .bx-default-pager .bx-pager-item:nth-child(n+2) {
        margin-left: 8px; }
        @media screen and (min-width: 992px) {
          #index .contents .contents-slider .bx-default-pager .bx-pager-item:nth-child(n+2) {
            margin-left: 8px; } }
      #index .contents .contents-slider .bx-default-pager .bx-pager-item a {
        background-color: #d3d3d3;
        font-size: 0;
        width: 12px;
        height: 12px;
        border-radius: 6px; }
        @media screen and (min-width: 769px) {
          #index .contents .contents-slider .bx-default-pager .bx-pager-item a {
            width: 15px;
            height: 15px;
            border-radius: 8px; } }
        #index .contents .contents-slider .bx-default-pager .bx-pager-item a.active {
          background-color: #ffa000; }
  #index .contents .news-wrap {
    display: block;
    width: 100%;
    margin: 40px auto;
    padding: 0 10px; }
    @media screen and (min-width: 769px) {
      #index .contents .news-wrap {
        width: 1260px;
        padding: 0 30px; } }
    #index .contents .news-wrap .news-tag {
      width: 100px;
      color: #ffffff;
      background: #ffa64b;
      text-align: center;
      padding: 3px 0 0 0;
      font-size: 14px;
      font-weight: bold;
      border-radius: 0 10px 0 0; }
    #index .contents .news-wrap .news-area {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      background-color: #ffa64b;
      border: 1px solid #ffa64b;
      cursor: pointer;
      position: relative; }
      #index .contents .news-wrap .news-area .news-block {
        display: inline-block;
        background-color: #fffaed;
        padding: 10px 10px 10px 15px;
        width: 100%; }
        #index .contents .news-wrap .news-area .news-block .news-date {
          width: 100%;
          color: #aaaa00; }
        #index .contents .news-wrap .news-area .news-block .news-title {
          width: 100%;
          font-weight: bold;
          font-size: 18px; }
        #index .contents .news-wrap .news-area .news-block .news-contents {
          width: 100%;
          white-space: pre-wrap;
          overflow: hidden;
          text-overflow: ellipsis;
          display: none; }
        #index .contents .news-wrap .news-area .news-block .news-img {
          text-align: center;
          padding: 10px;
          display: none; }
          #index .contents .news-wrap .news-area .news-block .news-img img {
            max-width: 100%;
            max-height: 500px;
            object-fit: contain; }
      #index .contents .news-wrap .news-area .news-extract {
        color: #ffffff;
        padding: 7px 0 0 1px; }
        #index .contents .news-wrap .news-area .news-extract:hover {
          color: #fa642a; }
      #index .contents .news-wrap .news-area .news-more {
        position: absolute;
        right: 0;
        top: -26px;
        color: #ffa64b;
        background-color: #fffaed;
        border: 1px solid #ffa64b;
        border-radius: 15px;
        font-size: 12px;
        line-height: 16px;
        padding: 3px 20px 0;
        display: none; }
        #index .contents .news-wrap .news-area .news-more:hover {
          color: #fffaed;
          background-color: #ffa64b; }
  #index .contents .intro-section {
    width: 100%;
    margin: 0 auto;
    padding: 0 5px; }
    @media screen and (min-width: 769px) {
      #index .contents .intro-section {
        padding: 0;
        width: 1200px; } }
    #index .contents .intro-section .intro-block {
      width: 100%;
      padding: 20px 10px;
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      justify-content: center;
      /*border-bottom: 2px solid #f7f7f7;*/
      margin-top: 0; }
      @media screen and (min-width: 554px) {
        #index .contents .intro-section .intro-block {
          padding: 20px; } }
      @media screen and (min-width: 769px) {
        #index .contents .intro-section .intro-block {
          padding: 20px;
          margin-top: 40px; } }
      #index .contents .intro-section .intro-block:last-child {
        border-bottom: none; }
      #index .contents .intro-section .intro-block img {
        max-width: 460px;
        object-fit: contain;
        margin: 10px 10px 10px 10px;
        border-radius: 10px; }
        @media screen and (min-width: 769px) {
          #index .contents .intro-section .intro-block img {
            margin-bottom: 0;
            margin: 0 10px 0 10px; } }
      #index .contents .intro-section .intro-block .contents {
        width: 100%;
        padding: 0 10px;
        position: relative;
        background-color: #03a9f4;
        border-radius: 10px;
        padding: 20px;
        overflow: visible; }
        @media screen and (min-width: 554px) {
          #index .contents .intro-section .intro-block .contents {
            width: 100%; } }
        @media screen and (min-width: 769px) {
          #index .contents .intro-section .intro-block .contents {
            width: calc(100% - 480px); } }
        #index .contents .intro-section .intro-block .contents .count {
          position: absolute;
          top: -40px;
          left: calc(50% - (74px/2));
          font-size: 50px;
          line-height: 50px;
          font-weight: bold;
          width: 74px;
          height: 74px;
          color: #03a9f4;
          background-color: #ffffff;
          border: 3px solid #03a9f4;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 50%; }
        #index .contents .intro-section .intro-block .contents .title {
          color: #ffffff;
          font-size: 26px;
          font-weight: bold;
          margin-bottom: 20px;
          margin-top: 50px; }
        #index .contents .intro-section .intro-block .contents .txt {
          color: #ffffff;
          font-size: 16px; }
    #index .contents .intro-section .link-area {
      padding: 0 10px;
      margin-top: 15px; }
      @media screen and (min-width: 554px) {
        #index .contents .intro-section .link-area {
          padding: 0 30px; } }
      @media screen and (min-width: 769px) {
        #index .contents .intro-section .link-area {
          padding: 0 30px; } }
      #index .contents .intro-section .link-area .link-block {
        width: 100%;
        color: #ffffff;
        color: #1a1a1a;
        background-color: #e9e9d3;
        border-radius: 10px;
        padding: 10px 10px;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        @media screen and (min-width: 554px) {
          #index .contents .intro-section .link-area .link-block {
            padding: 10px 20px; } }
        @media screen and (min-width: 769px) {
          #index .contents .intro-section .link-area .link-block {
            padding: 10px 20px; } }
        #index .contents .intro-section .link-area .link-block .txt {
          padding-right: 10px;
          font-size: 16px;
          font-weight: bold; }
          @media screen and (min-width: 554px) {
            #index .contents .intro-section .link-area .link-block .txt {
              font-size: 18px; } }
          @media screen and (min-width: 769px) {
            #index .contents .intro-section .link-area .link-block .txt {
              font-size: 20px; } }
        #index .contents .intro-section .link-area .link-block .btn {
          color: #ffffff;
          background-color: #90a72a;
          padding: 5px 10px;
          white-space: nowrap;
          border-radius: 5px;
          cursor: pointer; }
          @media screen and (min-width: 769px) {
            #index .contents .intro-section .link-area .link-block .btn {
              padding: 5px 30px; } }
          #index .contents .intro-section .link-area .link-block .btn:hover {
            background-color: #aed500; }
  #index .contents .lp-additional {
    width: 100%;
    margin: 40px auto 40px;
    padding: 0 10px; }
    @media screen and (min-width: 769px) {
      #index .contents .lp-additional {
        padding: 0;
        width: 1200px; } }
  #index .contents .lp-block-student {
    width: 100%;
    margin: 0 auto;
    padding: 0 10px; }
    @media screen and (min-width: 769px) {
      #index .contents .lp-block-student {
        padding: 0;
        width: 1200px; } }
    #index .contents .lp-block-student .lp-block-1 {
      width: 100%;
      margin-top: 50px;
      position: relative;
      /*background: linear-gradient(119deg, #e1e1d6, #ffffff);*/
      display: flex;
      justify-content: flex-end;
      align-items: flex-end; }
      #index .contents .lp-block-student .lp-block-1 .img {
        height: 650px;
        display: flex;
        align-items: flex-end; }
        @media screen and (min-width: 450px) {
          #index .contents .lp-block-student .lp-block-1 .img {
            height: 780px; } }
        @media screen and (min-width: 554px) {
          #index .contents .lp-block-student .lp-block-1 .img {
            height: 900px; } }
        @media screen and (min-width: 650px) {
          #index .contents .lp-block-student .lp-block-1 .img {
            height: 1000px; } }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-1 .img {
            height: auto; } }
        #index .contents .lp-block-student .lp-block-1 .img:after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 200px;
          background-image: linear-gradient(180deg, transparent 0 40%, #FFF 100%); }
      #index .contents .lp-block-student .lp-block-1 .content-wrap {
        position: absolute;
        top: 0;
        left: 10px; }
        @media screen and (min-width: 554px) {
          #index .contents .lp-block-student .lp-block-1 .content-wrap {
            top: 10px;
            left: 20px; } }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-1 .content-wrap {
            top: 30px;
            left: 40px; } }
        #index .contents .lp-block-student .lp-block-1 .content-wrap .title {
          font-size: 26px;
          font-weight: bold;
          line-height: 30px;
          color: #404040;
          margin-bottom: 10px;
          text-shadow: 1px 1px #ffffff; }
          @media screen and (min-width: 769px) {
            #index .contents .lp-block-student .lp-block-1 .content-wrap .title {
              font-size: 40px;
              margin-bottom: 20px; } }
        #index .contents .lp-block-student .lp-block-1 .content-wrap .txt-block {
          display: flex;
          flex-wrap: wrap;
          flex-direction: column; }
          #index .contents .lp-block-student .lp-block-1 .content-wrap .txt-block .txt {
            font-size: 18px;
            font-weight: bold;
            color: #9d5555; }
            @media screen and (min-width: 450px) {
              #index .contents .lp-block-student .lp-block-1 .content-wrap .txt-block .txt {
                font-size: 22px; } }
            @media screen and (min-width: 769px) {
              #index .contents .lp-block-student .lp-block-1 .content-wrap .txt-block .txt {
                font-size: 30px; } }
    #index .contents .lp-block-student .lp-block-2 {
      margin-top: 70px;
      width: 100%; }
      #index .contents .lp-block-student .lp-block-2 .title-area {
        display: flex;
        flex-wrap: wrap; }
        #index .contents .lp-block-student .lp-block-2 .title-area .tag {
          width: 200px;
          color: #ffffff;
          background-color: #8eb115;
          font-size: 20px;
          font-weight: bold;
          display: flex;
          align-items: center;
          justify-content: center; }
        #index .contents .lp-block-student .lp-block-2 .title-area .title {
          width: 100%;
          border: 1px solid #8eb115;
          padding: 20px;
          font-size: 20px;
          font-weight: bold;
          color: #424242; }
          @media screen and (min-width: 769px) {
            #index .contents .lp-block-student .lp-block-2 .title-area .title {
              width: calc(100% - 200px);
              border-top: 1px solid #8eb115;
              border-right: 1px solid #8eb115;
              border-bottom: 1px solid #8eb115;
              border-left: none; } }
      #index .contents .lp-block-student .lp-block-2 .contents-area {
        width: 100%;
        position: relative; }
        #index .contents .lp-block-student .lp-block-2 .contents-area .block {
          width: 100%;
          display: flex;
          align-items: center;
          margin: 10px 0;
          background-color: #8eb115;
          padding: 10px;
          border-radius: 10px; }
          #index .contents .lp-block-student .lp-block-2 .contents-area .block .number {
            font-size: 60px;
            text-align: center;
            width: 70px;
            color: #ffeb3b; }
            @media screen and (min-width: 769px) {
              #index .contents .lp-block-student .lp-block-2 .contents-area .block .number {
                width: 100px; } }
          #index .contents .lp-block-student .lp-block-2 .contents-area .block .contents {
            width: calc(100% - 50px);
            display: flex;
            flex-wrap: wrap; }
            #index .contents .lp-block-student .lp-block-2 .contents-area .block .contents .title {
              width: 100%;
              font-size: 24px;
              font-weight: bold;
              color: #ffffff;
              line-height: 30px; }
              @media screen and (min-width: 769px) {
                #index .contents .lp-block-student .lp-block-2 .contents-area .block .contents .title {
                  font-size: 28px; } }
            #index .contents .lp-block-student .lp-block-2 .contents-area .block .contents .txt {
              width: 100%;
              font-size: 16px;
              color: #ffffff; }
        #index .contents .lp-block-student .lp-block-2 .contents-area .arrow {
          display: none;
          position: absolute;
          width: 100px;
          right: 70px;
          top: 60px; }
          @media screen and (min-width: 769px) {
            #index .contents .lp-block-student .lp-block-2 .contents-area .arrow {
              display: block; } }
    #index .contents .lp-block-student .lp-block-3 {
      width: 100%;
      margin-top: 50px;
      display: flex;
      justify-content: center;
      align-items: stretch;
      flex-wrap: wrap; }
      @media screen and (min-width: 769px) {
        #index .contents .lp-block-student .lp-block-3 {
          justify-content: space-between; } }
      #index .contents .lp-block-student .lp-block-3 .txt-area {
        display: flex;
        flex-wrap: wrap;
        align-content: stretch;
        border: 1px solid #cdcdb4;
        width: 100%; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-3 .txt-area {
            width: calc(100% - 160px); } }
        #index .contents .lp-block-student .lp-block-3 .txt-area .txt-block {
          width: 100%;
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          align-content: center;
          border-top: 1px solid #cdcdb4; }
          #index .contents .lp-block-student .lp-block-3 .txt-area .txt-block:first-child {
            border: 0;
            background-color: #ededdf; }
          #index .contents .lp-block-student .lp-block-3 .txt-area .txt-block .txt {
            width: 100%;
            font-size: 16px;
            line-height: 20px;
            padding: 5px 0;
            text-align: center;
            overflow: hidden; }
            @media screen and (min-width: 769px) {
              #index .contents .lp-block-student .lp-block-3 .txt-area .txt-block .txt {
                font-size: 20px; } }
          #index .contents .lp-block-student .lp-block-3 .txt-area .txt-block .link {
            width: 100%;
            font-size: 16px;
            line-height: 20px;
            padding: 5px 0;
            text-align: center;
            overflow: hidden;
            cursor: pointer; }
            @media screen and (min-width: 769px) {
              #index .contents .lp-block-student .lp-block-3 .txt-area .txt-block .link {
                font-size: 20px; } }
            #index .contents .lp-block-student .lp-block-3 .txt-area .txt-block .link:hover {
              color: #ff9800; }
      #index .contents .lp-block-student .lp-block-3 .qr-code {
        width: 150px;
        height: 150px;
        object-fit: contain;
        border: 1px solid #cdcdb4;
        margin: 10px 0 0 0; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-3 .qr-code {
            margin: 0 0 0 10px; } }
    #index .contents .lp-block-student .lp-block-4 {
      margin-top: 70px;
      width: 100%;
      /*background-color: #ededdf;*/
      padding: 40px 20px;
      border-radius: 10px;
      box-shadow: 0 0 8px 0px #33333369; }
      @media screen and (min-width: 769px) {
        #index .contents .lp-block-student .lp-block-4 {
          padding: 50px 50px; } }
      #index .contents .lp-block-student .lp-block-4 .title {
        width: 100%;
        font-size: 26px;
        font-weight: bold;
        text-align: center;
        border-bottom: 5px solid #ffc107; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-4 .title {
            font-size: 38px; } }
      #index .contents .lp-block-student .lp-block-4 .contents {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 10px;
        padding: 30px 10px; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-4 .contents {
            padding: 40px 20px; } }
        #index .contents .lp-block-student .lp-block-4 .contents .tcm-img {
          width: 700px;
          max-width: 100%; }
        #index .contents .lp-block-student .lp-block-4 .contents .txt {
          width: 100%;
          font-size: 18px;
          padding: 20px 0 0 0; }
          @media screen and (min-width: 769px) {
            #index .contents .lp-block-student .lp-block-4 .contents .txt {
              width: calc(100% - 700px);
              padding: 0 0 0 20px; } }
    #index .contents .lp-block-student .lp-block-5 {
      margin-top: 70px;
      width: 100%;
      display: flex;
      flex-wrap: wrap; }
      #index .contents .lp-block-student .lp-block-5 .comment {
        width: 100%;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
        color: #e19c34; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-5 .comment {
            font-size: 25px; } }
      #index .contents .lp-block-student .lp-block-5 .tag-area {
        width: 100%;
        background-color: #8eb115;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: column;
        padding: 10px 0; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-5 .tag-area {
            width: 40%; } }
        #index .contents .lp-block-student .lp-block-5 .tag-area .tag {
          color: #ffffff;
          font-size: 20px;
          font-weight: bold; }
      #index .contents .lp-block-student .lp-block-5 .text-area {
        width: 100%;
        border: 1px solid #8eb115;
        padding: 20px; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-block-5 .text-area {
            width: 60%;
            border-top: 1px solid #8eb115;
            border-right: 1px solid #8eb115;
            border-bottom: 1px solid #8eb115;
            border-left: none; } }
        #index .contents .lp-block-student .lp-block-5 .text-area .txt {
          width: 100%;
          font-size: 20px;
          font-weight: bold;
          color: #424242; }
        #index .contents .lp-block-student .lp-block-5 .text-area .option {
          width: 100%;
          font-size: 18px;
          font-weight: bold;
          color: #9d5d5d; }
    #index .contents .lp-block-student .lp-block-6 {
      margin-top: 40px;
      width: 100%; }
      #index .contents .lp-block-student .lp-block-6 .title-area {
        display: flex;
        flex-wrap: wrap; }
        #index .contents .lp-block-student .lp-block-6 .title-area .tag {
          width: 200px;
          color: #ffffff;
          background-color: #8eb115;
          font-size: 20px;
          font-weight: bold;
          display: flex;
          align-items: center;
          justify-content: center; }
        #index .contents .lp-block-student .lp-block-6 .title-area .title {
          width: 100%;
          border: 1px solid #8eb115;
          padding: 20px;
          font-size: 20px;
          font-weight: bold;
          color: #424242; }
          @media screen and (min-width: 769px) {
            #index .contents .lp-block-student .lp-block-6 .title-area .title {
              width: calc(100% - 200px);
              border-top: 1px solid #8eb115;
              border-right: 1px solid #8eb115;
              border-bottom: 1px solid #8eb115;
              border-left: none; } }
      #index .contents .lp-block-student .lp-block-6 .contents-area {
        width: 100%;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: center; }
        #index .contents .lp-block-student .lp-block-6 .contents-area .block {
          width: 100%;
          display: flex;
          align-items: center;
          margin: 10px 0; }
          #index .contents .lp-block-student .lp-block-6 .contents-area .block .number {
            font-size: 60px;
            text-align: center;
            width: 70px;
            color: #0ab0ff; }
            @media screen and (min-width: 769px) {
              #index .contents .lp-block-student .lp-block-6 .contents-area .block .number {
                width: 100px; } }
          #index .contents .lp-block-student .lp-block-6 .contents-area .block .contents {
            width: calc(100% - 50px);
            display: flex;
            flex-wrap: wrap; }
            #index .contents .lp-block-student .lp-block-6 .contents-area .block .contents .title {
              width: 100%;
              font-size: 20px;
              font-weight: bold; }
            #index .contents .lp-block-student .lp-block-6 .contents-area .block .contents .txt {
              width: 100%;
              font-size: 16px; }
        #index .contents .lp-block-student .lp-block-6 .contents-area .btn {
          width: 180px;
          height: 45px;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #ffffff;
          background-color: #333333;
          border: 2px solid #ffffff;
          box-shadow: 0 0 0 2px #333333;
          border-radius: 25px;
          font-size: 18px;
          cursor: pointer; }
          @media screen and (min-width: 769px) {
            #index .contents .lp-block-student .lp-block-6 .contents-area .btn {
              position: absolute;
              right: 20px;
              top: 30px; } }
          #index .contents .lp-block-student .lp-block-6 .contents-area .btn:hover {
            background-color: #dd1d5e;
            box-shadow: 0 0 0 2px #dd1d5e; }
    #index .contents .lp-block-student .lp-title-1 {
      width: 100%;
      padding: 10px 20px;
      font-size: 24px;
      font-weight: bold;
      line-height: 28px;
      color: #ffffff;
      background-color: #4caf50;
      border-radius: 5px;
      margin-top: 30px; }
    #index .contents .lp-block-student .lp-title-2 {
      width: 100%;
      position: relative;
      margin-top: 100px; }
      #index .contents .lp-block-student .lp-title-2 .txt {
        padding: 10px 20px;
        font-size: 32px;
        font-weight: bold;
        line-height: 38px;
        color: #444444;
        margin-top: 70px;
        text-align: center; }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-title-2 .txt {
            font-size: 38px; } }
      #index .contents .lp-block-student .lp-title-2 .back-ball1 {
        position: absolute;
        left: 5%;
        top: -35px;
        width: 120px;
        height: 120px;
        background-color: #e0c6ffba;
        border-radius: 50%;
        z-index: -1; }
        @media screen and (min-width: 554px) {
          #index .contents .lp-block-student .lp-title-2 .back-ball1 {
            left: 20%; } }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-title-2 .back-ball1 {
            left: 28%; } }
      #index .contents .lp-block-student .lp-title-2 .back-ball2 {
        position: absolute;
        right: 17%;
        top: -16px;
        width: 40px;
        height: 40px;
        background-color: #ffe7c680;
        border-radius: 50%;
        z-index: -1; }
        @media screen and (min-width: 554px) {
          #index .contents .lp-block-student .lp-title-2 .back-ball2 {
            right: 26%; } }
        @media screen and (min-width: 769px) {
          #index .contents .lp-block-student .lp-title-2 .back-ball2 {
            right: 38%; } }
    #index .contents .lp-block-student .lp-block-txt-1 {
      font-size: 20px;
      color: #444444;
      margin-top: 10px;
      border: 3px solid #e1e1e1;
      padding: 25px 30px;
      border-radius: 20px;
      background-color: #eeeeee; }
    #index .contents .lp-block-student .lp-block-txt-2 {
      font-size: 20px;
      color: #444444;
      margin-top: 10px;
      padding: 30px;
      background-color: #edf5d4;
      border-radius: 7% 5% / 15% 39%; }
    #index .contents .lp-block-student .lp-block-txt-3 {
      font-size: 24px;
      font-weight: bold;
      color: #4e4e4e;
      margin-top: 10px;
      /*background-color: #f7f4e5;*/
      padding: 30px 15px;
      text-align: center; }
    #index .contents .lp-block-student .lp-block-link-1 {
      width: 100%;
      padding: 25px 0;
      font-size: 22px;
      font-weight: bold;
      color: #ffffff;
      background: linear-gradient(119deg, #8d4e7b, #5e274e);
      border: 2px solid #ffffff;
      box-shadow: 0px 0px 0px 2px #8d4e7b;
      border-radius: 45px;
      cursor: pointer;
      margin-top: 50px;
      text-align: center;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none; }
      #index .contents .lp-block-student .lp-block-link-1:hover {
        background: linear-gradient(119deg, #fd3a7c, #a31948);
        box-shadow: 0px 0px 0px 2px #fd3a7c; }
    #index .contents .lp-block-student .lp-block-voice {
      width: 100%;
      margin: 60px 0 60px 0;
      padding-bottom: 100px; }
      #index .contents .lp-block-student .lp-block-voice .title {
        text-align: center;
        font-size: 30px;
        margin-bottom: 15px; }
      #index .contents .lp-block-student .lp-block-voice .voice {
        width: 100%;
        padding: 30px 20px;
        background-color: #ffffff;
        margin-bottom: 30px;
        border: 3px solid #bbcacf;
        border-radius: 7px;
        box-shadow: 0px 0px 3px 1px #3e4a4e; }
        #index .contents .lp-block-student .lp-block-voice .voice .name {
          width: 100%;
          font-weight: bold;
          color: #8b7529;
          margin-bottom: 10px; }
        #index .contents .lp-block-student .lp-block-voice .voice .subject-area {
          width: 100%;
          display: flex;
          align-items: center; }
          #index .contents .lp-block-student .lp-block-voice .voice .subject-area .mark {
            font-size: 20px;
            line-height: 20px;
            color: #ff9800;
            letter-spacing: -3px;
            margin-right: 15px; }
          #index .contents .lp-block-student .lp-block-voice .voice .subject-area .subject {
            font-size: 18px;
            line-height: 18px;
            font-weight: bold; }
        #index .contents .lp-block-student .lp-block-voice .voice .contents {
          font-size: 14px;
          padding-top: 8px; }
  #index .contents .teacher-block {
    width: 100%;
    margin: 60px auto 40px;
    padding: 0 5px; }
    @media screen and (min-width: 769px) {
      #index .contents .teacher-block {
        margin: 35px auto 50px;
        padding: 0;
        width: 1200px; } }
    #index .contents .teacher-block .title {
      width: 100%;
      padding: 10px 20px;
      font-size: 34px;
      line-height: 40px;
      color: #444444;
      margin-top: 30px;
      text-align: center; }
  #index .contents .loopSlider {
    margin: 20px auto 0;
    width: 100%;
    height: 100px;
    text-align: left;
    position: relative;
    overflow: hidden; }
    #index .contents .loopSlider .loopSliderWrap {
      top: 0;
      left: 0;
      height: 100px;
      overflow: hidden;
      position: absolute; }
      #index .contents .loopSlider .loopSliderWrap:after {
        content: "";
        display: none;
        clear: none; }
    #index .contents .loopSlider ul {
      height: 100px;
      float: left;
      overflow: hidden; }
      #index .contents .loopSlider ul li {
        width: 100px;
        height: 100px;
        float: left;
        display: inline;
        overflow: hidden; }
        #index .contents .loopSlider ul li img {
          width: 100px;
          height: 100px;
          object-fit: cover;
          cursor: pointer; }
          #index .contents .loopSlider ul li img:hover {
            transform: scale(1.2, 1.2);
            transition: 0.5s all; }

/*----------------------------------------------------
  新デザイン定義
----------------------------------------------------*/
.top {
  font-family: "Noto Sans JP", sans-serif;
  /*------------------------
  共通
  ------------------------*/ }
  .top .line-link {
    display: block;
    width: 640px;
    margin: 60px auto 0;
    background-color: #06C755;
    border-radius: 16px;
    line-height: 105px;
    text-align: center;
    position: relative;
    font-size: 1.875rem;
    color: #fff;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .top .line-link {
        font-size: 1.5rem;
        width: 80%;
        line-height: 80px; } }
    @media screen and (max-width: 553px) {
      .top .line-link {
        font-size: 1.25rem;
        padding: 15px 0;
        width: 90%;
        line-height: normal; } }
  .top .line-link:hover {
    opacity: 0.7; }
  .top .line-link::before {
    content: "";
    position: absolute;
    top: 47%;
    right: 70px;
    width: 35px;
    height: 35px;
    border-top: 10px solid #fff;
    border-right: 10px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%); }
  @media screen and (max-width: 768px) {
    .top .line-link::before {
      width: 25px;
      height: 25px;
      right: 40px; } }
  @media screen and (max-width: 553px) {
    .top .line-link::before {
      width: 20px;
      height: 20px;
      right: 30px;
      border-top: 5px solid #fff;
      border-right: 5px solid #fff; } }
  .top .line-link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 60px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 105px;
    height: 105px;
    background-image: url(../image/course/line-icon.png);
    background-size: contain; }
  @media screen and (max-width: 768px) {
    .top .line-link::after {
      width: 60px;
      height: 60px;
      left: 30px; } }
  @media screen and (max-width: 553px) {
    .top .line-link::after {
      width: 50px;
      height: 50px; } }
  .top .concept {
    /*margin-bottom: 120px;*/
    margin-bottom: 65px; }
  .top .concept-ttl {
    font-size: 2.75rem;
    color: #EB8030;
    text-align: center;
    margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .top .concept-ttl {
      font-size: 2.35rem; } }
  @media screen and (max-width: 553px) {
    .top .concept-ttl {
      font-size: 1.5rem; } }
  .top .concept-ttl__black {
    font-size: 2.375rem;
    font-weight: normal;
    color: #372A1F; }
  @media screen and (max-width: 768px) {
    .top .concept-ttl__black {
      font-size: 2rem; } }
  @media screen and (max-width: 553px) {
    .top .concept-ttl__black {
      font-size: 1.5rem; } }
  .top .concept-ttl__underline {
    display: inline-block;
    border-bottom: 10px solid #FBD888; }
  .top .concept .zknownavi {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
    border: 6px solid #EB8030;
    border-radius: 17px; }
  .top .concept .zknownavi:hover {
    opacity: 0.7; }
  .top .concept .zknownavi-link {
    display: block; }
  .top .concept .zknownavi-link span {
    position: absolute;
    top: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #fff;
    background-color: #EB8030;
    border-radius: 30px;
    padding: 10px 20px;
    white-space: nowrap;
    font-size: 1.375rem;
    line-height: 1; }
  @media screen and (max-width: 553px) {
    .top .concept .zknownavi-link span {
      font-size: 1rem;
      top: -20px; } }
  .top .concept .zknownavi-link img {
    width: 385px;
    border-radius: 17px;
    margin: 20px 0 10px; }
  @media screen and (max-width: 553px) {
    .top .concept .zknownavi-link img {
      width: 300px; } }
  .top .cause {
    padding-bottom: 80px; }
  .top .cause-list {
    margin-top: 60px; }
    @media screen and (max-width: 553px) {
      .top .cause-list {
        margin-top: 30px; } }
    .top .cause-list .pos-adjust {
      display: block;
      margin-top: -120px;
      padding-top: 120px; }
  .top .cause-list__item {
    border: 6px solid #EB8030;
    border-radius: 20px;
    margin-bottom: 50px;
    background-color: #fff;
    padding: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .top .cause-list__item:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 553px) {
    .top .cause-list__item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .top .cause-list .cause-txtWrap {
    width: calc(100% - 260px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  @media screen and (max-width: 768px) {
    .top .cause-list .cause-txtWrap {
      width: calc(100% - 200px); } }
  @media screen and (max-width: 553px) {
    .top .cause-list .cause-txtWrap {
      width: 100%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-bottom: 30px; } }
  .top .cause-list__number {
    font-size: 2.375rem;
    color: #EB8030;
    font-weight: bold;
    line-height: 1;
    margin-right: 15px; }
  @media screen and (max-width: 553px) {
    .top .cause-list__number {
      text-align: center;
      margin-right: 0; } }
  .top .cause-list__ttl {
    font-size: 1.625rem;
    display: inline;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #FEFF65));
    background: linear-gradient(transparent 60%, #FEFF65 40%); }
  @media screen and (max-width: 768px) {
    .top .cause-list__ttl {
      font-size: 1.5rem; } }
  @media screen and (max-width: 553px) {
    .top .cause-list__ttl {
      font-size: 1.375rem; } }
  .top .cause-list__txtList {
    margin-top: 20px; }
  .top .cause-list__txtList li {
    padding-left: 25px;
    position: relative;
    margin-bottom: 10px;
    font-size: 1.25rem; }
  @media screen and (max-width: 768px) {
    .top .cause-list__txtList li {
      font-size: 1rem; } }
  @media screen and (max-width: 553px) {
    .top .cause-list__txtList li {
      text-align: left; } }
  .top .cause-list__txtList li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url(../image/top/cause-list-check.png);
    background-size: contain;
    background-repeat: no-repeat; }
  .top .cause-txtInner {
    margin-top: 20px;
    margin-right: 50px;
    letter-spacing: 2px; }
  @media screen and (max-width: 768px) {
    .top .cause-txtInner {
      margin-right: 20px; } }
  @media screen and (max-width: 553px) {
    .top .cause-txtInner {
      margin-right: 0;
      text-align: center; } }
  .top .cause-imgWrap {
    width: 260px; }
  @media screen and (max-width: 768px) {
    .top .cause-imgWrap {
      width: 200px; } }
  @media screen and (max-width: 553px) {
    .top .cause-imgWrap {
      width: 100%; } }
  .top .cause-imgWrap img {
    -o-object-fit: contain;
    object-fit: contain; }
  .top .experience {
    padding-top: 70px;
    background-color: #FFEBC5; }
  .top .experience .sec-txt {
    font-size: 1.625rem;
    margin: 10px 0 45px; }
  @media screen and (max-width: 553px) {
    .top .experience .sec-txt {
      font-size: 1.25rem;
      margin-bottom: 30px; } }
  .top .experience-content {
    border: 6px solid #EE8539;
    background-image: url(../image/top/experience-bg.png);
    background-size: cover;
    padding: 40px 20px;
    text-align: center; }
  @media screen and (max-width: 553px) {
    .top .experience-content {
      padding: 30px 10px; } }
  .top .experience-content-wrap {
    width: 90%;
    margin: 0 auto;
    background-color: #fff;
    border: 2px solid #DE8543;
    padding: 20px; }
  @media screen and (max-width: 768px) {
    .top .experience-content-wrap {
      width: 100%; } }
  .top .experience-content__subttl {
    font-size: 2rem;
    position: relative;
    display: inline-block;
    margin-bottom: 50px; }
  @media screen and (max-width: 553px) {
    .top .experience-content__subttl {
      font-size: 1.25rem;
      margin-bottom: 30px; } }
  .top .experience-content__subttl::before {
    content: "";
    position: absolute;
    top: 15px;
    left: -25px;
    width: 5px;
    height: 40px;
    background-color: #EB8030;
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg); }
  @media screen and (max-width: 768px) {
    .top .experience-content__subttl::before {
      height: 70px; } }
  @media screen and (max-width: 553px) {
    .top .experience-content__subttl::before {
      top: 0;
      left: -7px;
      -webkit-transform: rotate(-17deg);
      transform: rotate(-17deg); } }
  .top .experience-content__subttl::after {
    content: "";
    position: absolute;
    top: 15px;
    right: -25px;
    width: 5px;
    height: 40px;
    background-color: #EB8030;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg); }
  @media screen and (max-width: 768px) {
    .top .experience-content__subttl::after {
      height: 70px; } }
  @media screen and (max-width: 553px) {
    .top .experience-content__subttl::after {
      top: 0;
      right: -7px;
      -webkit-transform: rotate(17deg);
      transform: rotate(17deg); } }
  .top .experience-content__subttl .secret {
    color: #E04C26;
    font-weight: bold;
    font-size: 2.5rem;
    margin: 0 5px; }
  @media screen and (max-width: 768px) {
    .top .experience-content__subttl .secret {
      font-size: 2rem; } }
  @media screen and (max-width: 553px) {
    .top .experience-content__subttl .secret {
      font-size: 1.25rem; } }
  .top .experience-content__ttl {
    font-size: 3.125rem;
    color: #EB8030;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #F9CC64));
    background: linear-gradient(transparent 70%, #F9CC64 30%);
    display: inline; }
  @media screen and (max-width: 768px) {
    .top .experience-content__ttl {
      font-size: 2.25rem; } }
  @media screen and (max-width: 553px) {
    .top .experience-content__ttl {
      font-size: 1.75rem; } }
  .top .experience-content__price {
    margin-top: 60px;
    font-size: 2rem; }
  @media screen and (max-width: 768px) {
    .top .experience-content__price {
      font-size: 1.75rem; } }
  @media screen and (max-width: 553px) {
    .top .experience-content__price {
      margin-top: 30px;
      font-size: 1.375rem; } }
  .top .experience-content__price span {
    font-size: 2.875rem;
    font-weight: 500; }
  @media screen and (max-width: 553px) {
    .top .experience-content__price span {
      font-size: 2rem; } }
  .top .experience-illust {
    position: relative;
    height: 220px; }
  .top .experience-illust img {
    width: 200px;
    height: 250px;
    -o-object-fit: contain;
    object-fit: contain; }
  @media screen and (max-width: 768px) {
    .top .experience-illust img {
      width: 150px;
      height: 200px; } }
  @media screen and (max-width: 553px) {
    .top .experience-illust img {
      width: 110px;
      height: 140px; } }
  .top .experience-illust li {
    position: absolute;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .top .experience-illust li:nth-child(1) {
    left: 0; }
  .top .experience-illust li:nth-child(2) {
    right: 0; }
  @media screen and (max-width: 553px) {
    .top .experience-illust li:nth-child(2) {
      display: none; } }
  .top .experience-illust li .supplement-wrap {
    width: 350px;
    height: 130px;
    background-image: url(../image/top/supplement.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 40px; }
  @media screen and (max-width: 768px) {
    .top .experience-illust li .supplement-wrap {
      width: 300px;
      height: 120px;
      padding: 30px; } }
  @media screen and (max-width: 553px) {
    .top .experience-illust li .supplement-wrap {
      padding: 0 20px; } }
  .top .experience-illust li .supplement {
    font-weight: bold; }
  @media screen and (max-width: 768px) {
    .top .experience-illust li .supplement {
      font-size: 0.875rem; } }
  @media screen and (max-width: 553px) {
    .top .experience-illust li .supplement {
      line-height: 1.2rem; } }
  .top .experience-illust li .secret {
    color: #F36001; }
  .top .campaign {
    background-color: #F9F7F5;
    padding: 70px 0; }
  .top .campaign .sec-txt {
    color: #fff;
    background-color: #EB8030;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 15px auto 40px;
    font-size: 2rem;
    padding: 0 40px;
    height: 65px;
    line-height: 65px;
    position: relative;
    white-space: nowrap; }
  @media screen and (max-width: 768px) {
    .top .campaign .sec-txt {
      font-size: 1.35rem; } }
  @media screen and (max-width: 553px) {
    .top .campaign .sec-txt {
      white-space: normal;
      font-size: 1.25rem;
      line-height: normal; }
    .top .campaign .sec-txt .sp_dot {
      display: none; } }
  .top .campaign .sec-txt::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 0px;
    width: 20px;
    border-width: 32px 0 32px 20px;
    border-style: solid;
    border-color: #EB8030 #EB8030 #EB8030 #F9F7F5; }
  .top .campaign .sec-txt::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 0px;
    width: 20px;
    border-width: 32px 20px 32px 0;
    border-style: solid;
    border-color: #EB8030 #F9F7F5 #EB8030 #EB8030; }
  .top .campaign-content {
    border: 8px solid #EB8030;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px; }
  .top .campaign-content-wrap {
    width: 90%;
    margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .top .campaign-content-wrap {
      width: 100%; } }
  .top .campaign-content__ttl {
    text-align: center;
    background-color: #EB8030;
    color: #fff;
    font-weight: normal;
    font-size: 2rem;
    padding: 20px 0;
    position: relative; }
  @media screen and (max-width: 768px) {
    .top .campaign-content__ttl {
      font-size: 1.35rem; } }
  .top .campaign-content__ttl::before {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-style: solid;
    border-width: 25px 20px 0 20px;
    border-color: #EB8030 #F9F7F5 #F9F7F5 #F9F7F5; }
  .top .campaign-content__ttl-yellow {
    color: #FDFF00; }
  .top .campaign-content__ttl-thick {
    color: #FDFF00;
    font-weight: bold; }
  .top .campaign-content__ttl .tax {
    font-size: 1.5rem;
    display: inline-block;
    margin: 0 5px; }
  @media screen and (max-width: 553px) {
    .top .campaign-content__ttl .tax {
      font-size: 1rem; } }
  .top .campaign-content__list {
    padding: 30px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: 0; } }
  .top .campaign-content__list li {
    width: 33.3333333333%;
    text-align: center;
    border-right: 3px solid #C1C1C1;
    position: relative;
    padding: 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-item-align: normal;
    align-self: normal; }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list li {
      width: 100%;
      border-right: 0;
      padding: 40px 0;
      border-bottom: 3px solid #C1C1C1; } }
  .top .campaign-content__list li:last-child {
    border-right: none; }
  .top .campaign-content__list li:last-child::before {
    display: none; }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list li:last-child {
      border-bottom: 0; } }
  .top .campaign-content__list li::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -22px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background-color: #EB8030; }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list li::before {
      top: auto;
      bottom: -22px;
      right: auto;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); } }
  .top .campaign-content__list li:nth-child(1)::after {
    content: "＋";
    position: absolute;
    top: 50%;
    right: -15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.8rem;
    color: #fff;
    line-height: 1; }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list li:nth-child(1)::after {
      top: auto;
      bottom: -15px;
      right: auto;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); } }
  .top .campaign-content__list li:nth-child(2)::after {
    /*
        content: "";
        position: absolute;
        top: 50%;
        right: -13px;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        width: 0px;
        height: 0px;
        border-style: solid;
        border-width: 10px 0 10px 20px;
        border-color: transparent transparent transparent #fff;
    */
    content: "＋";
    position: absolute;
    top: 50%;
    right: -15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.8rem;
    color: #fff;
    line-height: 1; }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list li:nth-child(2)::after {
      top: auto;
      bottom: -12px;
      right: auto;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      border-width: 20px 10px 0 10px;
      border-color: #fff transparent transparent transparent; } }
  .top .campaign-content__list img {
    width: 135px;
    height: 110px;
    -o-object-fit: contain;
    object-fit: contain; }
  @media screen and (max-width: 768px) {
    .top .campaign-content__list img {
      width: 100px;
      height: 90px; } }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list img {
      width: 150px;
      height: 100px; } }
  .top .campaign-content__list-txt {
    font-size: 1.75rem;
    color: #EB8030;
    margin-bottom: 15px; }
  @media screen and (max-width: 768px) {
    .top .campaign-content__list-txt {
      font-size: 1.25rem; } }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list-txt {
      font-size: 1.75rem; } }
  .top .campaign-content__list-price {
    border: 2px solid #F36001;
    border-radius: 15px;
    display: inline-block;
    padding: 10px 15px;
    font-weight: bold;
    font-size: 1.75rem; }
  @media screen and (max-width: 768px) {
    .top .campaign-content__list-price {
      font-size: 1.35rem; } }
  @media screen and (max-width: 553px) {
    .top .campaign-content__list-price {
      padding: 15px 30px; } }
  .top .campaign-content__list-price .tax {
    font-size: 1.125rem;
    display: block; }
  @media screen and (max-width: 768px) {
    .top .campaign-content__list-price .tax {
      font-size: 1rem; } }
  .top .campaign-content__list-price .currency {
    font-size: 1.125rem; }
  .top .campaign-content__list .free-txt {
    color: #E04C26;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1; }
  @media screen and (max-width: 768px) {
    .top .campaign-content__list .free-txt {
      font-size: 2rem; } }
  .top .campaign-content__list .free-num {
    color: #E04C26;
    font-size: 9rem;
    font-weight: bold;
    line-height: 1; }
  .top .campaign-content__list .free-num span {
    font-size: 4.5rem; }
  @media screen and (max-width: 768px) {
    .top .campaign-content__list .free-num {
      font-size: 4rem; }
    .top .campaign-content__list .free-num span {
      font-size: 3rem; } }
  .top .campaign .prompt::before {
    width: 23px;
    height: 23px; }
  @media screen and (max-width: 768px) {
    .top .campaign .prompt::before {
      width: 21px;
      height: 21px; } }
  @media screen and (max-width: 553px) {
    .top .campaign .prompt {
      font-size: 1.25rem; }
    .top .campaign .prompt::before {
      width: 18px;
      height: 18px; } }

/* main
   ----------------------------------------------------------------- */
.main {
  position: relative;
  display: block;
  z-index: 2;
  overflow: hidden;
  background-color: #ffffff; }
  @media screen and (min-width: 769px) {
    .main {
      padding-top: 136px; } }

@media screen and (min-width: 769px) {
  .main.main-index {
    /*padding-top: 224px;*/ } }

.page {
  padding-bottom: 30px; }
  @media screen and (min-width: 554px) {
    .page {
      padding-bottom: 60px; } }
  @media screen and (min-width: 769px) {
    .page {
      padding-bottom: 70px; } }

.cta-menu-pc {
  display: none;
  position: fixed;
  z-index: 3;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  right: 0;
  bottom: 15%; }
  @media screen and (min-width: 769px) {
    .cta-menu-pc {
      display: flex; } }
  .cta-menu-pc .cta-item {
    width: 80px;
    height: 80px;
    color: #ffffff;
    background-color: #008dcd;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 6px;
    cursor: pointer;
    margin: 1px 0; }
    .cta-menu-pc .cta-item:hover {
      opacity: 0.7; }
    .cta-menu-pc .cta-item .img {
      width: 36px; }
    .cta-menu-pc .cta-item .ico {
      font-size: 36px; }
    .cta-menu-pc .cta-item .txt {
      font-size: 14px;
      white-space: nowrap; }
  .cta-menu-pc .line {
    background-color: #06C755; }

.cta-menu-sp {
  display: flex;
  position: fixed;
  width: 100%;
  z-index: 3;
  align-items: center;
  justify-content: center;
  left: 0;
  bottom: 0; }
  @media screen and (min-width: 769px) {
    .cta-menu-sp {
      display: none; } }
  .cta-menu-sp .cta-item {
    width: 50%;
    height: 56px;
    color: #ffffff;
    background-color: #008dcd;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    cursor: pointer;
    border-left: 1px solid #ffffff; }
    .cta-menu-sp .cta-item:first-child {
      border-left: none; }
    .cta-menu-sp .cta-item:active {
      opacity: 0.7; }
    .cta-menu-sp .cta-item .img {
      width: 26px; }
    .cta-menu-sp .cta-item .ico {
      font-size: 26px; }
    .cta-menu-sp .cta-item .txt {
      font-size: 14px;
      white-space: nowrap; }
  .cta-menu-sp .line {
    background-color: #06C755; }

.cta-item-anim {
  animation: purun 2s infinite alternate; }

.purun {
  -webkit-animation: purun 3.0s linear infinite;
  animation: purun 3.0s linear infinite; }

@-webkit-keyframes purun {
  0% {
    -webkit-transform: scale(1, 1) translate(0%, 0%); }
  40% {
    -webkit-transform: scale(1, 1) translate(0%, 0%); }
  42% {
    -webkit-transform: scale(0.95, 0.95) translate(0%, 5%); }
  45% {
    -webkit-transform: scale(1.2, 0.85) translate(0%, 10%); }
  50% {
    -webkit-transform: scale(0.85, 1.2) translate(0%, -10%); }
  55% {
    -webkit-transform: scale(1.05, 0.95) translate(0%, 5%); }
  60% {
    -webkit-transform: scale(1, 1) translate(0%, 0%); }
  100% {
    -webkit-transform: scale(1, 1) translate(0%, 0%); } }
@keyframes purun {
  0% {
    transform: scale(1, 1) translate(0%, 0%); }
  40% {
    transform: scale(1, 1) translate(0%, 0%); }
  42% {
    transform: scale(0.95, 0.95) translate(0%, 5%); }
  45% {
    transform: scale(1.2, 0.85) translate(0%, 10%); }
  50% {
    transform: scale(0.85, 1.2) translate(0%, -10%); }
  55% {
    transform: scale(1.05, 0.95) translate(0%, 5%); }
  60% {
    transform: scale(1, 1) translate(0%, 0%); }
  100% {
    transform: scale(1, 1) translate(0%, 0%); } }
/* mng-header  */
.mng-header {
  position: relative;
  z-index: 20;
  height: 68px; }
  @media screen and (min-width: 554px) {
    .mng-header {
      height: 70px; } }
  @media screen and (min-width: 769px) {
    .mng-header {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 200;
      width: 100%;
      text-align: center;
      height: 60px; } }
  @media screen and (min-width: 769px) {
    .mng-header .header-inner .header-navglobal-cover {
      display: block;
      background: #f5f5f5;
      padding-top: 5px;
      height: 60px;
      width: 78%;
      float: left;
      transition: all 0.2s; } }
  @media screen and (max-width: 768px) {
    .mng-header {
      display: block;
      width: 100%; }
      .mng-header .header-inner > * {
        position: relative;
        z-index: 2; }
      .mng-header .menu .icon > div {
        -webkit-transform: all .25s ease;
        -ms-transform: all .25s ease;
        transform: all .25s ease; }
      .mng-header .menu .c {
        display: none; }
      .mng-header .header-navglobal {
        pointer-events: none;
        opacity: 0;
        -webkit-transition: opacity .25s ease;
        -o-transition: opacity .25s ease;
        transition: opacity .25s ease; }
      .mng-header.active:after {
        content: '';
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 1;
        background-color: rgba(0, 0, 0, 0.8); }
      .mng-header.active .header-navglobal {
        pointer-events: all;
        opacity: 1; }
      .mng-header.active .menu .icon > div {
        -webkit-transform-origin: center;
        -ms-transform-origin: center;
        transform-origin: center; }
        .mng-header.active .menu .icon > div:nth-child(1) {
          -webkit-transform: translate(0, 235%) rotate(45deg);
          -ms-transform: translate(0, 235%) rotate(45deg);
          transform: translate(0, 235%) rotate(45deg); } }
      @media screen and (max-width: 768px) and (min-width: 554px) {
        .mng-header.active .menu .icon > div:nth-child(1) {
          -webkit-transform: translate(0, 7px) rotate(45deg);
          -ms-transform: translate(0, 7px) rotate(45deg);
          transform: translate(0, 7px) rotate(45deg); } }
  @media screen and (max-width: 768px) {
        .mng-header.active .menu .icon > div:nth-child(2) {
          opacity: 0; }
        .mng-header.active .menu .icon > div:nth-child(3) {
          -webkit-transform: translate(0, -235%) rotate(-45deg);
          -ms-transform: translate(0, -235%) rotate(-45deg);
          transform: translate(0, -235%) rotate(-45deg); } }
      @media screen and (max-width: 768px) and (min-width: 554px) {
        .mng-header.active .menu .icon > div:nth-child(3) {
          -webkit-transform: translate(0, -7px) rotate(-45deg);
          -ms-transform: translate(0, -7px) rotate(-45deg);
          transform: translate(0, -7px) rotate(-45deg); } }
  @media screen and (max-width: 768px) {
      .mng-header.active .menu .c {
        display: block; }
      .mng-header.active .menu .o {
        display: none; }
      .mng-header .header-logo {
        position: fixed;
        z-index: 21; }
        .mng-header .header-logo a {
          padding: 5px 10px; }
          .mng-header .header-logo a img {
            width: auto;
            height: 40px; }
      .mng-header .header-h1 {
        text-align: center;
        padding-bottom: .2rem;
        font-size: 12px;
        font-weight: normal; }
        .mng-header .header-h1 br {
          display: none; } }
    @media screen and (max-width: 768px) and (min-width: 554px) {
      .mng-header .header-h1 {
        padding-bottom: 16px; } }
  @media screen and (max-width: 768px) {
      .mng-header .header-navutility {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 20;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: inline-block;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: stretch;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100%;
        height: 50px;
        background-color: #f1f1f1;
        border-bottom: 1px solid #dddddd; } }
    @media screen and (max-width: 768px) and (min-width: 554px) {
      .mng-header .header-navutility {
        height: 50px; } }
  @media screen and (max-width: 768px) {
        .mng-header .header-navutility .menu {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          padding-top: .1rem;
          width: 16%;
          background-color: #454044;
          pointer-events: all;
          cursor: pointer;
          float: right;
          width: 60px;
          height: 50px; } }
      @media screen and (max-width: 768px) and (min-width: 554px) {
        .mng-header .header-navutility .menu {
          width: 64px;
          height: 50px; } }
  @media screen and (max-width: 768px) {
          .mng-header .header-navutility .menu .icon {
            width: 24px; }
            .mng-header .header-navutility .menu .icon > div {
              height: 3px;
              background-color: #FFFFFF; }
              .mng-header .header-navutility .menu .icon > div:nth-child(n+2) {
                margin-top: 4px; }
          .mng-header .header-navutility .menu .text {
            margin-top: 2px;
            color: #FFFFFF;
            font-size: 10px; }
      .mng-header .header-navglobal {
        position: fixed;
        top: 50px;
        right: 0;
        width: 80%;
        height: 100%;
        max-width: 400px;
        overflow-y: scroll; } }
    @media screen and (max-width: 768px) and (min-width: 554px) {
      .mng-header .header-navglobal {
        top: 50px; } }
  @media screen and (max-width: 768px) {
        .mng-header .header-navglobal .list {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: flex-end;
          align-content: flex-start;
          background-color: #ffffff;
          padding-bottom: 100px;
          min-height: 100%; }
          .mng-header .header-navglobal .list .item {
            width: 100%;
            background-color: #FFFFFF;
            border-bottom: 1px solid #e2e2e2; }
            .mng-header .header-navglobal .list .item > a {
              position: relative;
              padding: 1em 0 1em 7.5%;
              font-size: 14px; } }
          @media screen and (max-width: 768px) and (max-width: 335px) {
            .mng-header .header-navglobal .list .item > a {
              font-size: 12px; } }
  @media screen and (max-width: 768px) {
              .mng-header .header-navglobal .list .item > a:after {
                content: '';
                display: block;
                position: absolute;
                top: 50%;
                right: 7.5%;
                border-top: 1px solid #000;
                border-right: 1px solid #000;
                width: .4em;
                height: .4em;
                -webkit-transform: translate(0, -50%) rotate(45deg);
                -ms-transform: translate(0, -50%) rotate(45deg);
                transform: translate(0, -50%) rotate(45deg); }
          .mng-header .header-navglobal .list .item-sp-sub {
            width: 100%;
            background-color: #f3f3f3;
            border-bottom: 1px solid #e2e2e2; }
            .mng-header .header-navglobal .list .item-sp-sub > a {
              position: relative;
              padding: 1em 0 1em 12%;
              font-size: 14px;
              color: #27628c; } }
          @media screen and (max-width: 768px) and (max-width: 335px) {
            .mng-header .header-navglobal .list .item-sp-sub > a {
              font-size: 12px; } }

  @media screen and (min-width: 769px) {
    .mng-header .header-inner {
      display: inline-block;
      align-items: center;
      width: 100%;
      min-width: 1260px;
      background-color: #f5f5f5;
      border-bottom: 1px solid #d2d2d2; }
    .mng-header .header-logo {
      width: 22%;
      float: left; }
      .mng-header .header-logo a {
        display: inline-block;
        padding: 7px 0; }
        .mng-header .header-logo a:hover {
          opacity: .6; }
        .mng-header .header-logo a img {
          width: auto;
          height: 45px;
          margin-left: 40px; }
    .mng-header .header-h1 {
      width: 313px;
      font-size: 12px;
      font-weight: normal;
      text-indent: 0.5em;
      line-height: 1.5; }
    .mng-header .header-navutility {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      width: 700px; }
      .mng-header .header-navutility .menu {
        display: none; }
    .mng-header .header-navglobal {
      width: 100%; }
      .mng-header .header-navglobal .list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: flex-end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: flex-end;
        justify-content: flex-end;
        width: 900px;
        height: 55px;
        float: right;
        margin-right: 40px; }
        .mng-header .header-navglobal .list .item {
          position: relative;
          width: 90px; }
          .mng-header .header-navglobal .list .item:before {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 1px;
            height: 100%;
            background: -webkit-gradient(linear, left top, left bottom, from(#f7f8f9), color-stop(50%, #cfd0d1), to(#f7f8f9));
            background: -webkit-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: -o-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: linear-gradient(to bottom, #f7f8f9, #cfd0d1 50%, #f7f8f9); }
          .mng-header .header-navglobal .list .item:last-child:after {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            width: 1px;
            height: 100%;
            background: -webkit-gradient(linear, left top, left bottom, from(#f7f8f9), color-stop(50%, #cfd0d1), to(#f7f8f9));
            background: -webkit-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: -o-linear-gradient(top, #f7f8f9, #cfd0d1 50%, #f7f8f9);
            background: linear-gradient(to bottom, #f7f8f9, #cfd0d1 50%, #f7f8f9); }
          .mng-header .header-navglobal .list .item > a {
            padding: 23px 0;
            text-align: center;
            font-size: 14px;
            line-height: 1;
            letter-spacing: -.05em;
            white-space: nowrap;
            -webkit-transition: color .25s ease;
            -o-transition: color .25s ease;
            transition: color .25s ease; }
            .mng-header .header-navglobal .list .item > a:hover {
              color: #ffa000; }
          .mng-header .header-navglobal .list .item:nth-child(7) {
            /*width: 15%;*/ }
          .mng-header .header-navglobal .list .item:nth-child(9) {
            /*width: 7.5%;*/ }
          .mng-header .header-navglobal .list .item:nth-child(10) {
            /*width: 7.5%;*/ }
        .mng-header .header-navglobal .list .item-sp-sub {
          display: none; } }
  .mng-header .header-megamenu-container {
    display: none; }
    @media screen and (min-width: 769px) {
      .mng-header .header-megamenu-container {
        display: block;
        -webkit-transition: opacity .2s ease;
        -o-transition: opacity .2s ease;
        transition: opacity .2s ease;
        position: fixed;
        left: 0;
        width: 100vw;
        visibility: hidden;
        opacity: 0;
        background-color: #ffa000; } }
  .mng-header .is-active > a + .header-megamenu-container {
    visibility: visible;
    opacity: 1; }
  .mng-header .header-navglobal .list .item > a::after {
    content: '';
    position: absolute;
    opacity: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    border-right: solid 8px transparent;
    border-bottom: solid 8px #ffa000;
    border-left: solid 8px transparent;
    -webkit-transition: opacity .2s ease;
    -o-transition: opacity .2s ease;
    transition: opacity .2s ease; }
  .mng-header .header-navglobal .list .item.is-active > a::after {
    opacity: 1; }
  .mng-header .header-megamenu-inner {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 25px;
    padding-bottom: 25px; }
  .mng-header .header-megamenu-service {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: -30px; }
    .mng-header .header-megamenu-service > li {
      padding-left: 30px;
      width: 25%; }
      .mng-header .header-megamenu-service > li a {
        display: block;
        height: 46px;
        line-height: 46px;
        border-radius: 23px;
        text-align: center;
        background-color: #FFFFFF;
        position: relative;
        -webkit-transition: color .2s ease;
        -o-transition: color .2s ease;
        transition: color .2s ease;
        padding-right: 8px; }
        .mng-header .header-megamenu-service > li a:hover {
          color: #ffa000; }
        .mng-header .header-megamenu-service > li a::before {
          content: '';
          display: block;
          position: absolute;
          right: 15px;
          top: 50%;
          -webkit-transform: translateY(-50%) rotate(45deg);
          -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
          width: 6px;
          height: 6px;
          border-top: solid 1px #ffa000;
          border-right: solid 1px #ffa000; }
        .mng-header .header-megamenu-service > li a img {
          margin-right: 10px;
          vertical-align: middle;
          margin-bottom: 2px;
          width: 25px; }
  .mng-header .header-megamenu-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: -20px; }
    .mng-header .header-megamenu-item__col {
      padding-left: 20px;
      width: 25%; }
    .mng-header .header-megamenu-item__group {
      position: relative;
      overflow: hidden; }
      .mng-header .header-megamenu-item__group a {
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 3;
        color: #FFFFFF;
        font-weight: bold;
        font-size: 20px;
        text-align: center; }
        .mng-header .header-megamenu-item__group a > span {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      .mng-header .header-megamenu-item__group::before {
        content: '';
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -webkit-transition: background-color .2s ease;
        -o-transition: background-color .2s ease;
        transition: background-color .2s ease;
        background-color: rgba(0, 0, 0, 0.3); }
      .mng-header .header-megamenu-item__group::after {
        content: '';
        position: absolute;
        z-index: 2;
        top: 50%;
        right: 15px;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg);
        width: 15px;
        height: 15px;
        border-top: 2px solid #FFFFFF;
        border-right: 2px solid #FFFFFF; }
      .mng-header .header-megamenu-item__group:hover::before {
        background-color: rgba(0, 0, 0, 0.2); }
    .mng-header .header-megamenu-item__item {
      min-height: 200px; }
      .mng-header .header-megamenu-item__item > ul {
        margin-top: 8px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-left: -15px;
        color: #FFFFFF; }
        .mng-header .header-megamenu-item__item > ul > li {
          width: 50%;
          padding-left: 15px;
          padding-bottom: 3px; }
          .mng-header .header-megamenu-item__item > ul > li a {
            color: #FFFFFF;
            font-size: 14px;
            line-height: 1.4;
            padding-left: 15px;
            position: relative; }
            .mng-header .header-megamenu-item__item > ul > li a .material-icons {
              position: absolute;
              top: 2px;
              left: 0;
              vertical-align: middle;
              font-size: 14px; }
            .mng-header .header-megamenu-item__item > ul > li a:hover {
              text-decoration: underline; }
  .mng-header .header-megamenu-brand {
    color: #FFFFFF;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: -15px; }
    .mng-header .header-megamenu-brand dt {
      font-size: 16px;
      font-weight: bold;
      width: 100%;
      margin-bottom: 5px;
      padding-left: 15px; }
    .mng-header .header-megamenu-brand dd {
      width: 14.2857142857%;
      padding-left: 15px; }
      .mng-header .header-megamenu-brand dd a {
        color: #FFFFFF;
        font-size: 14px; }
        .mng-header .header-megamenu-brand dd a .material-icons {
          vertical-align: middle;
          margin-right: 5px;
          margin-bottom: 2px;
          font-size: 14px; }
        .mng-header .header-megamenu-brand dd a:hover {
          text-decoration: underline; }

.mng-header.header-page .header-logo {
  /*padding-top: 67px;*/ }
  @media screen and (min-width: 554px) {
    .mng-header.header-page .header-logo {
      /*padding-top: 70px;*/ } }
  @media screen and (min-width: 769px) {
    .mng-header.header-page .header-logo {
      /*padding-top: 0;*/ } }

@media screen and (min-width: 769px) {
  .mng-header.fixed .header-inner {
    position: fixed;
    left: 0;
    top: 0; }
    .mng-header.fixed .header-inner .header-navglobal-cover {
      pointer-events: none; }
    .mng-header.fixed .header-inner:hover .header-navglobal-cover {
      /*height: 80px;*/
      opacity: 1;
      pointer-events: auto; } }

.c-breadcrumbs {
  width: 100%;
  border-bottom: solid 1px #eee;
  border-top: solid 1px #eee;
  z-index: 10; }
  @media screen and (min-width: 769px) {
    .c-breadcrumbs {
      border: none;
      width: 1260px;
      margin: 0 auto;
      position: relative; } }
  .c-breadcrumbs .list, .c-breadcrumbs .list-line2, .c-breadcrumbs .list-line2--lg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (min-width: 769px) {
      .c-breadcrumbs .list, .c-breadcrumbs .list-line2, .c-breadcrumbs .list-line2--lg {
        padding: 0;
        position: absolute; } }
  .c-breadcrumbs .list .item, .c-breadcrumbs .list-line2 .item, .c-breadcrumbs .list-line2--lg .item {
    color: #212121;
    font-size: 12px;
    margin-right: 30px; }
    .c-breadcrumbs .list .item:last-child, .c-breadcrumbs .list-line2 .item:last-child, .c-breadcrumbs .list-line2--lg .item:last-child {
      margin-right: 0; }
    .c-breadcrumbs .list .item:last-child a:after, .c-breadcrumbs .list-line2 .item:last-child a:after, .c-breadcrumbs .list-line2--lg .item:last-child a:after {
      display: none; }
  .c-breadcrumbs .list .item a, .c-breadcrumbs .list-line2 .item a, .c-breadcrumbs .list-line2--lg .item a {
    color: #212121;
    position: relative;
    text-decoration: underline; }
    .c-breadcrumbs .list .item a:after, .c-breadcrumbs .list-line2 .item a:after, .c-breadcrumbs .list-line2--lg .item a:after {
      content: '';
      position: absolute;
      top: 50%;
      right: -17px;
      border-top: 1px solid #ccc;
      border-right: 1px solid #ccc;
      width: 5px;
      height: 5px;
      -webkit-transform: translate(0, -50%) rotate(45deg);
      -ms-transform: translate(0, -50%) rotate(45deg);
      transform: translate(0, -50%) rotate(45deg); }
    @media screen and (min-width: 769px) {
      .c-breadcrumbs .list .item a:hover, .c-breadcrumbs .list-line2 .item a:hover, .c-breadcrumbs .list-line2--lg .item a:hover {
        opacity: 0.6; } }
  .c-breadcrumbs .list {
    padding: 10px 0 10px 3%; }
    @media screen and (min-width: 769px) {
      .c-breadcrumbs .list {
        left: 30px;
        top: 145px; } }
  .c-breadcrumbs .list-line2 {
    padding: 2px 0 10px 3%; }
    @media screen and (min-width: 769px) {
      .c-breadcrumbs .list-line2 {
        padding: 10px 0 10px 3%;
        left: 143px;
        top: 185px; } }
    .c-breadcrumbs .list-line2--lg {
      padding: 2px 0 10px 3%; }
      @media screen and (min-width: 769px) {
        .c-breadcrumbs .list-line2--lg {
          padding: 10px 0 10px 3%;
          left: 155px;
          top: 185px; } }

.c-pagetitle {
  border-bottom: 1px solid #eee;
  padding: 10px;
  text-align: center;
  font-size: 22px;
  font-weight: normal;
  line-height: 1.6;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 769px) {
    .c-pagetitle {
      font-size: 26px;
      padding: 45px 30px;
      min-width: 1260px; } }
  .c-pagetitle .special {
    position: relative;
    padding: 0.25em 1em;
    border-top: solid 2px #6a6a6a;
    border-bottom: solid 2px #6a6a6a;
    background-color: #fbf8e4;
    margin: 15px 0;
    min-width: 250px;
    box-shadow: 5px 5px 7px #745f2185;
    font-size: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    @media screen and (min-width: 554px) {
      .c-pagetitle .special {
        font-size: 20px; } }
    @media screen and (min-width: 769px) {
      .c-pagetitle .special {
        font-size: 22px;
        margin: 0; } }
    .c-pagetitle .special:first-letter {
      font-size: 28px;
      font-weight: bold;
      color: #7172ac; }
      @media screen and (min-width: 554px) {
        .c-pagetitle .special:first-letter {
          font-size: 32px; } }
      @media screen and (min-width: 769px) {
        .c-pagetitle .special:first-letter {
          font-size: 36px; } }
    .c-pagetitle .special:before, .c-pagetitle .special:after {
      content: '';
      position: absolute;
      top: -7px;
      width: 2px;
      height: -webkit-calc(100% + 14px);
      height: calc(100% + 14px);
      background-color: #6a6a6a; }
    .c-pagetitle .special:before {
      left: 4px; }
    .c-pagetitle .special:after {
      right: 4px; }

.c-pagetitle-home {
  border-bottom: 1px solid #eee;
  padding: 10px;
  text-align: center;
  display: flex;
  justify-content: center; }
  .c-pagetitle-home p {
    font-size: 24px;
    font-weight: bold;
    line-height: 24px;
    color: #624343;
    background-color: #ffeded;
    padding: 7px 7px 4px; }
    @media screen and (min-width: 769px) {
      .c-pagetitle-home p {
        font-size: 30px;
        line-height: 30px; } }
  @media screen and (min-width: 769px) {
    .c-pagetitle-home {
      padding: 45px 30px;
      min-width: 1260px; } }

.c-sectionheading {
  font-size: 24px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: .025em; }
  @media screen and (min-width: 554px) {
    .c-sectionheading {
      font-size: 31px; } }
  @media screen and (min-width: 769px) {
    .c-sectionheading {
      font-size: 34px; } }

.c-filterbox, .c-filterbox2, .c-filterbox3, .c-filterbox4 {
  position: relative;
  width: 140px;
  font-size: 14px; }
  @media screen and (min-width: 769px) {
    .c-filterbox, .c-filterbox2, .c-filterbox3, .c-filterbox4 {
      width: 240px; } }
  .c-filterbox.active .list, .c-filterbox2.active .list, .c-filterbox3.active .list, .c-filterbox4.active .list {
    display: block; }
  .c-filterbox .current, .c-filterbox2 .current, .c-filterbox3 .current, .c-filterbox4 .current {
    position: relative;
    border: 1px solid #eee;
    padding: 0 0 0 14px;
    height: 42px;
    line-height: 42px;
    cursor: pointer;
    pointer-events: all; }
    @media screen and (min-width: 769px) {
      .c-filterbox .current, .c-filterbox2 .current, .c-filterbox3 .current, .c-filterbox4 .current {
        height: 54px;
        line-height: 54px; } }
    .c-filterbox .current:after, .c-filterbox2 .current:after, .c-filterbox3 .current:after, .c-filterbox4 .current:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      right: 12px;
      border-right: 6px solid rgba(0, 0, 0, 0);
      border-top: 6px solid #000;
      border-left: 6px solid rgba(0, 0, 0, 0);
      width: 0;
      height: 0;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
  .c-filterbox .current_sel, .c-filterbox2 .current_sel, .c-filterbox3 .current_sel, .c-filterbox4 .current_sel {
    border: 1px solid #ffc856; }
  .c-filterbox .list, .c-filterbox2 .list, .c-filterbox3 .list, .c-filterbox4 .list {
    position: absolute;
    top: 100%;
    left: 0;
    width: auto;
    min-width: 100%;
    display: none;
    /*border-bottom: 1px solid $color-gray-light;*/
    border: 1px solid #d4d4d4;
    max-height: 275px;
    overflow-y: scroll; }
    @media screen and (min-width: 769px) {
      .c-filterbox .list, .c-filterbox2 .list, .c-filterbox3 .list, .c-filterbox4 .list {
        /*width: 450px;*/
        max-height: 400px;
        width: max-content; } }
    .c-filterbox .list .item, .c-filterbox2 .list .item, .c-filterbox3 .list .item, .c-filterbox4 .list .item {
      border-right: 1px solid #eee;
      border-bottom: 1px solid #eee;
      border-left: 1px solid #eee;
      min-height: 54px;
      line-height: 1.6;
      /*background-color: $color-white;*/
      background-color: #fffdf4;
      pointer-events: all; }
      .c-filterbox .list .item a, .c-filterbox2 .list .item a, .c-filterbox3 .list .item a, .c-filterbox4 .list .item a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        height: 100%;
        min-height: 54px;
        padding: 5px 10px 5px 14px;
        position: relative; }
        .c-filterbox .list .item a span, .c-filterbox2 .list .item a span, .c-filterbox3 .list .item a span, .c-filterbox4 .list .item a span {
          display: block; }
        @media screen and (min-width: 769px) {
          .c-filterbox .list .item a:hover, .c-filterbox2 .list .item a:hover, .c-filterbox3 .list .item a:hover, .c-filterbox4 .list .item a:hover {
            background-color: #f7f8f9; } }
      .c-filterbox .list .item:last-child, .c-filterbox2 .list .item:last-child, .c-filterbox3 .list .item:last-child, .c-filterbox4 .list .item:last-child {
        border-bottom: none; }
      .c-filterbox .list .item a.item_sel:hover, .c-filterbox2 .list .item a.item_sel:hover, .c-filterbox3 .list .item a.item_sel:hover, .c-filterbox4 .list .item a.item_sel:hover {
        background-color: #e6f780; }
    .c-filterbox .list .item_sel, .c-filterbox2 .list .item_sel, .c-filterbox3 .list .item_sel, .c-filterbox4 .list .item_sel {
      background-color: #f2fbbc;
      border: 1px solid #cbd68c; }

.c-filterbox {
  z-index: 20; }

.c-filterbox2 {
  z-index: 15; }

.c-filterbox3 {
  z-index: 10; }

.c-filterbox4 {
  z-index: 5; }

.c-link-text {
  margin: 30px 0;
  padding: 0 3%;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .c-link-text {
      margin: 60px auto;
      padding: 0 30px;
      text-align: left;
      max-width: 1260px; } }
  .c-link-text__link {
    font-size: 14px;
    display: inline-block; }
    .c-link-text__link--arrow {
      position: relative;
      font-size: 3.9vw;
      display: inline-block;
      padding-right: 20px; }
      @media screen and (min-width: 769px) {
        .c-link-text__link--arrow {
          font-size: 14px;
          padding-right: 0; } }
      .c-link-text__link--arrow:after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 0;
        border-top: 1px solid #212121;
        border-right: 1px solid #212121;
        width: 0.5em;
        height: 0.5em;
        -webkit-transform: translate(0, -50%) rotate(45deg);
        -ms-transform: translate(0, -50%) rotate(45deg);
        transform: translate(0, -50%) rotate(45deg);
        -webkit-transition: all 0.25s ease;
        -o-transition: all 0.25s ease;
        transition: all 0.25s ease; }
        @media screen and (min-width: 769px) {
          .c-link-text__link--arrow:after {
            right: -20px; } }

.c-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 5px; }
  @media screen and (min-width: 554px) {
    .c-container {
      padding: 0 5px; } }
  @media screen and (min-width: 769px) {
    .c-container {
      padding: 0 30px;
      max-width: none;
      width: 1260px; } }
  .c-container .link-adjust {
    margin-top: -70px;
    padding-top: 70px; }

.c-section-title {
  font-size: 18px;
  margin-top: 30px;
  padding: 0 0 15px;
  border-bottom: solid 1px #eee; }
  @media screen and (min-width: 769px) {
    .c-section-title {
      font-size: 24px;
      margin-top: 60px;
      padding: 30px 0; } }

.c-section-title2 {
  font-weight: normal;
  line-height: 1.0;
  font-size: 18px;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .c-section-title2 {
      font-size: 24px; } }

.c-block-title {
  font-size: 16px; }
  @media screen and (min-width: 769px) {
    .c-block-title {
      font-size: 18px; } }

.c-titlebtn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #eee;
  margin-bottom: 16px;
  padding-bottom: 16px; }
  @media screen and (min-width: 554px) {
    .c-titlebtn {
      margin-bottom: 18px;
      padding-bottom: 18px; } }
  @media screen and (min-width: 769px) {
    .c-titlebtn {
      margin-bottom: 20px;
      padding-bottom: 20px; } }
  .c-titlebtn .c-titlebtn__text {
    font-size: 14px;
    font-weight: bold; }
    @media screen and (min-width: 554px) {
      .c-titlebtn .c-titlebtn__text {
        font-size: 16px; } }
    @media screen and (min-width: 769px) {
      .c-titlebtn .c-titlebtn__text {
        font-size: 18px; } }
  .c-titlebtn .c-titlebtn__btn {
    width: 125px; }
    @media screen and (min-width: 554px) {
      .c-titlebtn .c-titlebtn__btn {
        width: 150px; } }
    @media screen and (min-width: 769px) {
      .c-titlebtn .c-titlebtn__btn {
        width: 175px; } }
    .c-titlebtn .c-titlebtn__btn a {
      position: relative;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      border-radius: 30px;
      border: 1px solid #d7d8d9;
      width: 100%;
      height: 26px;
      background-color: #FFFFFF;
      text-align: center;
      font-size: 12px; }
      @media screen and (min-width: 554px) {
        .c-titlebtn .c-titlebtn__btn a {
          font-size: 13px; } }
      @media screen and (min-width: 769px) {
        .c-titlebtn .c-titlebtn__btn a {
          border-radius: 17px;
          height: 34px;
          font-size: 14px; }
          .c-titlebtn .c-titlebtn__btn a:hover {
            background-color: #ffa000;
            border-color: #ffa000;
            color: #FFFFFF !important; }
            .c-titlebtn .c-titlebtn__btn a:hover:after {
              border-color: #FFFFFF !important; }
            .c-titlebtn .c-titlebtn__btn a:hover i,
            .c-titlebtn .c-titlebtn__btn a:hover span {
              color: #FFFFFF !important; } }
      .c-titlebtn .c-titlebtn__btn a:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 12px;
        border-top: 1px solid #212121;
        border-right: 1px solid #212121;
        width: 4px;
        height: 4px;
        -webkit-transform: translate(0, -50%) rotate(45deg);
        -ms-transform: translate(0, -50%) rotate(45deg);
        transform: translate(0, -50%) rotate(45deg); }
        @media screen and (min-width: 769px) {
          .c-titlebtn .c-titlebtn__btn a:after {
            -webkit-transition: all .25s ease;
            -o-transition: all .25s ease;
            transition: all .25s ease; } }
      .c-titlebtn .c-titlebtn__btn a > * {
        line-height: 1; }

.c-section-description {
  width: 100%;
  margin-top: 30px; }

.c-section-finish {
  width: 100%;
  padding-right: 10px;
  text-align: right; }

.results-detail__header, .blog-detail__header {
  position: relative;
  padding: 15px 0 30px; }
  @media screen and (min-width: 554px) {
    .results-detail__header, .blog-detail__header {
      padding: 30px 0; } }
  @media screen and (min-width: 769px) {
    .results-detail__header, .blog-detail__header {
      padding: 60px 0; } }
  .results-detail__header .inner, .blog-detail__header .inner {
    width: 100%; }
    @media screen and (min-width: 769px) {
      .results-detail__header .inner, .blog-detail__header .inner {
        width: calc(100% - 510px);
        margin-left: auto;
        margin-top: 45px;
        min-height: 400px; } }
    .results-detail__header .inner .date, .blog-detail__header .inner .date {
      font-size: 11px; }
      @media screen and (min-width: 769px) {
        .results-detail__header .inner .date, .blog-detail__header .inner .date {
          font-size: 12px; } }
    .results-detail__header .inner .title, .blog-detail__header .inner .title {
      margin-top: 5px;
      font-size: 16px;
      font-weight: normal;
      line-height: 1.4; }
      @media screen and (min-width: 554px) {
        .results-detail__header .inner .title, .blog-detail__header .inner .title {
          margin-top: 10px;
          font-size: 24px; } }
      @media screen and (min-width: 769px) {
        .results-detail__header .inner .title, .blog-detail__header .inner .title {
          margin-top: 30px;
          font-size: 36px;
          min-height: 100px; } }
    .results-detail__header .inner .sub, .blog-detail__header .inner .sub {
      margin-top: 10px; }
      @media screen and (min-width: 554px) {
        .results-detail__header .inner .sub, .blog-detail__header .inner .sub {
          margin-top: 20px; } }
      @media screen and (min-width: 769px) {
        .results-detail__header .inner .sub, .blog-detail__header .inner .sub {
          margin-top: 30px; } }
    .results-detail__header .inner .info, .blog-detail__header .inner .info {
      margin-top: 15px;
      padding: 20px 15px;
      background: #f7f8f9; }
      @media screen and (min-width: 554px) {
        .results-detail__header .inner .info, .blog-detail__header .inner .info {
          margin-top: 30px; } }
      @media screen and (min-width: 769px) {
        .results-detail__header .inner .info, .blog-detail__header .inner .info {
          margin-top: 60px;
          padding: 45px 35px; } }
    .results-detail__header .inner .thumb, .blog-detail__header .inner .thumb {
      max-width: 450px;
      width: 100%;
      margin: 15px auto 0; }
      @media screen and (min-width: 554px) {
        .results-detail__header .inner .thumb, .blog-detail__header .inner .thumb {
          margin: 30px auto 0; } }
      @media screen and (min-width: 769px) {
        .results-detail__header .inner .thumb, .blog-detail__header .inner .thumb {
          width: 450px;
          max-width: none;
          position: absolute;
          left: 0;
          top: 60px;
          margin: 0; } }

@media screen and (min-width: 769px) {
  .results-detail__header .inner.inputh1 {
    margin-top: 14px; } }
.results-detail__header .inner.inputh1 .title {
  font-weight: bold; }
  @media screen and (min-width: 769px) {
    .results-detail__header .inner.inputh1 .title {
      font-weight: normal; } }
@media screen and (min-width: 769px) {
  .results-detail__header .inner.inputh1 .info {
    margin-top: 40px; } }
.results-detail__header .inner.inputh1 .h1text {
  font-size: 14px;
  margin-top: 7px;
  font-weight: normal; }
  @media screen and (min-width: 769px) {
    .results-detail__header .inner.inputh1 .h1text {
      margin-top: 15px;
      font-size: 22px; } }

.c-main-content {
  width: 100%;
  padding: 0 3%; }
  @media screen and (min-width: 769px) {
    .c-main-content {
      width: 750px;
      padding: 0 0 0 30px; } }

.c-sub-content {
  width: 100%; }
  @media screen and (min-width: 769px) {
    .c-sub-content {
      width: 440px;
      padding: 0 30px 0 0; } }

.c-mainvis {
  margin-top: 30px;
  position: relative; }
  @media screen and (min-width: 769px) {
    .c-mainvis {
      margin-top: 60px; } }
  .c-mainvis .c-mainvis__text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center; }
    .c-mainvis .c-mainvis__text p {
      font-size: 14px;
      font-weight: bold;
      padding: 0 3%; }
      @media screen and (min-width: 554px) {
        .c-mainvis .c-mainvis__text p {
          font-size: 18px; } }
      @media screen and (min-width: 769px) {
        .c-mainvis .c-mainvis__text p {
          font-size: 24px;
          padding: 0 20px; } }
      .c-mainvis .c-mainvis__text p br {
        display: inline; }
        @media screen and (min-width: 769px) {
          .c-mainvis .c-mainvis__text p br {
            display: none; } }

.c-block-image {
  margin: 15px 0 40px; }
  @media screen and (min-width: 769px) {
    .c-block-image {
      margin: 30px 0 70px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between; } }
  @media screen and (min-width: 769px) {
    .c-block-image .c-block-image__text {
      width: 720px; } }
  .c-block-image .c-block-image__text .text {
    margin-top: 10px; }
    .c-block-image .c-block-image__text .text p {
      margin-bottom: 20px; }
      @media screen and (min-width: 769px) {
        .c-block-image .c-block-image__text .text p {
          margin-bottom: 30px;
          line-height: 2.0; } }
      .c-block-image .c-block-image__text .text p:last-child {
        margin-bottom: 0; }
  .c-block-image .c-block-image__img {
    max-width: 400px;
    margin: 20px auto 0; }
    .c-block-image .c-block-image__img .caption {
      margin-top: 5px;
      font-size: 11px; }
    @media screen and (min-width: 769px) {
      .c-block-image .c-block-image__img {
        max-width: auto;
        width: 400px;
        margin: 0; }
        .c-block-image .c-block-image__img .caption {
          font-size: 12px; } }

.c-block-text {
  margin: 15px 0 40px; }
  @media screen and (min-width: 769px) {
    .c-block-text {
      margin: 30px 0 70px; } }
  .c-block-text .c-block-text__textbox {
    margin-top: 20px; }
    @media screen and (min-width: 769px) {
      .c-block-text .c-block-text__textbox {
        margin-top: 30px; } }
    .c-block-text .c-block-text__textbox .text {
      margin-bottom: 20px; }
      @media screen and (min-width: 769px) {
        .c-block-text .c-block-text__textbox .text {
          margin-bottom: 30px; } }
      .c-block-text .c-block-text__textbox .text:last-child {
        margin-bottom: 0; }

.c-table {
  margin: 15px 0 40px; }
  @media screen and (min-width: 769px) {
    .c-table {
      margin: 30px 0 70px; } }
  .c-table table {
    width: 100%; }
    .c-table table th {
      width: 100%;
      display: block;
      padding: 10px 0;
      font-weight: bold;
      vertical-align: top; }
      @media screen and (min-width: 769px) {
        .c-table table th {
          width: 230px;
          padding: 20px 0;
          display: table-cell;
          border-bottom: 1px solid #eee; } }
    .c-table table td {
      width: 100%;
      display: block;
      padding: 0 0 10px;
      border-bottom: 1px solid #eee; }
      @media screen and (min-width: 769px) {
        .c-table table td {
          width: calc(100% - 230px);
          padding: 20px 0 20px 80px;
          display: table-cell; } }
    .c-table table .caption {
      font-size: 11px;
      font-weight: normal;
      color: #7b7c7e; }
      @media screen and (min-width: 769px) {
        .c-table table .caption {
          font-size: 12px; } }

.c-table2 {
  width: 100%;
  border: solid 1px #d7d8d9;
  border-radius: 5px;
  border-collapse: separate;
  overflow: hidden; }
  .c-table2 th {
    width: 70px;
    padding: 15px 10px;
    border-bottom: solid 1px #d7d8d9;
    border-right: solid 1px #d7d8d9;
    font-size: 13px; }
  .c-table2 td {
    width: calc(100% - 70px);
    padding: 15px 10px;
    border-bottom: solid 1px #d7d8d9; }
  .c-table2 tr:last-child th, .c-table2 tr:last-child td {
    border-bottom: none; }
  @media screen and (min-width: 554px) {
    .c-table2 th {
      width: 120px; }
    .c-table2 td {
      width: calc(100% - 120px); } }
  @media screen and (min-width: 769px) {
    .c-table2 {
      border-radius: 10px; }
      .c-table2 th {
        width: 300px;
        padding: 20px 45px 25px 0;
        font-size: 18px; }
      .c-table2 td {
        width: calc(100% - 300px);
        padding: 20px 55px; } }

.c-shoplist {
  margin-top: 60px; }
  @media screen and (min-width: 769px) {
    .c-shoplist {
      margin-top: 90px; } }
  .c-shoplist .c-shoplist__title {
    font-weight: bold;
    padding-bottom: 10px;
    border-bottom: solid 1px #eee; }
    @media screen and (min-width: 769px) {
      .c-shoplist .c-shoplist__title {
        padding-bottom: 15px; } }
  .c-shoplist .c-shoplist__area {
    margin-top: 25px; }
    @media screen and (min-width: 769px) {
      .c-shoplist .c-shoplist__area {
        margin-top: 35px; } }
    .c-shoplist .c-shoplist__area .title {
      font-weight: bold;
      padding: 0 0 0 26px;
      margin-bottom: 10px;
      position: relative; }
      @media screen and (min-width: 769px) {
        .c-shoplist .c-shoplist__area .title {
          margin-bottom: 15px; } }
      @media screen and (min-width: 769px) {
        .c-shoplist .c-shoplist__area .title a:hover {
          opacity: 0.6; } }
      .c-shoplist .c-shoplist__area .title .icon {
        position: absolute;
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        color: #ffa000; }
        .c-shoplist .c-shoplist__area .title .icon .material-icons {
          font-size: 20px; }
    .c-shoplist .c-shoplist__area ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 0 -3px; }
      .c-shoplist .c-shoplist__area ul li {
        width: 50%;
        padding: 0 3px 6px; }
        @media screen and (min-width: 554px) {
          .c-shoplist .c-shoplist__area ul li {
            width: 33.3%; } }
        @media screen and (min-width: 769px) {
          .c-shoplist .c-shoplist__area ul li {
            width: 20%; } }
        @media screen and (min-width: 992px) {
          .c-shoplist .c-shoplist__area ul li {
            width: 20%; } }
        .c-shoplist .c-shoplist__area ul li a {
          font-size: 12px;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          padding: 15px 0;
          text-align: center;
          background: #f7f8f9;
          position: relative;
          width: 100%;
          height: 100%; }
          @media screen and (min-width: 554px) {
            .c-shoplist .c-shoplist__area ul li a {
              font-size: 13px; } }
          @media screen and (min-width: 769px) {
            .c-shoplist .c-shoplist__area ul li a:hover {
              background: #ffa000;
              color: #FFFFFF; } }

.c-shop_pc {
  display: none;
  margin-top: 100px; }
  @media screen and (min-width: 769px) {
    .c-shop_pc {
      display: block; } }
  .c-shop_pc .inner {
    border: solid 1px #eee;
    padding: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .c-shop_pc .inner .c-shop__image {
      border-radius: 50%;
      overflow: hidden;
      width: 133px; }
      .c-shop_pc .inner .c-shop__image a {
        display: block;
        width: 100%;
        height: 100%;
        position: relative; }
        .c-shop_pc .inner .c-shop__image a::before {
          content: "";
          display: block;
          padding-top: 100%; }
        .c-shop_pc .inner .c-shop__image a img {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          width: auto;
          height: 100%;
          max-width: none; }
        .c-shop_pc .inner .c-shop__image a:hover {
          opacity: 0.6; }
    .c-shop_pc .inner .c-shop__text {
      width: 740px;
      padding-left: 40px; }
      .c-shop_pc .inner .c-shop__text .right, .c-shop_pc .inner .c-shop__text .left {
        display: inline-block; }
      .c-shop_pc .inner .c-shop__text .m-link-arw {
        margin-top: 15px; }

.c-shop_sp {
  display: block;
  margin-top: 20px;
  width: 100%; }
  @media screen and (min-width: 769px) {
    .c-shop_sp {
      display: none; } }
  .c-shop_sp .inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border: solid 1px #eee;
    padding: 20px 15px; }
    @media screen and (min-width: 992px) {
      .c-shop_sp .inner {
        padding: 20px 20px; } }
    .c-shop_sp .inner .c-shop__image {
      border-radius: 50%;
      overflow: hidden;
      width: 133px;
      margin: 0 auto; }
      .c-shop_sp .inner .c-shop__image a {
        display: block;
        width: 100%;
        height: 100%;
        position: relative; }
        .c-shop_sp .inner .c-shop__image a::before {
          content: "";
          display: block;
          padding-top: 100%; }
        .c-shop_sp .inner .c-shop__image a img {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          width: auto;
          height: 100%;
          max-width: none; }
    .c-shop_sp .inner .c-shop__text {
      width: 100%;
      margin-top: 20px;
      text-align: center; }
      @media screen and (min-width: 554px) {
        .c-shop_sp .inner .c-shop__text {
          text-align: left;
          margin-top: 0;
          width: calc(100% - 133px);
          padding-left: 20px; } }
      .c-shop_sp .inner .c-shop__text .m-link-arw {
        margin-top: 20px; }
        @media screen and (min-width: 554px) {
          .c-shop_sp .inner .c-shop__text .m-link-arw {
            margin-top: 10px; } }

.c-block-fourimagelist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -5px; }
  @media screen and (min-width: 769px) {
    .c-block-fourimagelist {
      margin: 0 -20px; } }
  .c-block-fourimagelist .c-block-fourimagelist__img {
    width: 50%;
    padding: 0 5px; }
    @media screen and (min-width: 769px) {
      .c-block-fourimagelist .c-block-fourimagelist__img {
        width: 25%;
        padding: 0 20px; } }
    .c-block-fourimagelist .c-block-fourimagelist__img:nth-child(n+3) {
      margin-top: 10px; }
      @media screen and (min-width: 769px) {
        .c-block-fourimagelist .c-block-fourimagelist__img:nth-child(n+3) {
          margin-top: 0; } }

.c-block-twoimagelist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0; }
  @media screen and (min-width: 554px) {
    .c-block-twoimagelist {
      margin: 0 -10px; } }
  @media screen and (min-width: 769px) {
    .c-block-twoimagelist {
      margin: 0 -20px; } }
  .c-block-twoimagelist .c-block-twoimagelist__img {
    width: 100%; }
    @media screen and (min-width: 554px) {
      .c-block-twoimagelist .c-block-twoimagelist__img {
        width: 50%;
        padding: 0 10px; } }
    @media screen and (min-width: 769px) {
      .c-block-twoimagelist .c-block-twoimagelist__img {
        padding: 0 20px; } }
    .c-block-twoimagelist .c-block-twoimagelist__img:nth-child(n+3) {
      margin-top: 10px; }
      @media screen and (min-width: 554px) {
        .c-block-twoimagelist .c-block-twoimagelist__img:nth-child(n+3) {
          margin-top: 20px; } }
      @media screen and (min-width: 769px) {
        .c-block-twoimagelist .c-block-twoimagelist__img:nth-child(n+3) {
          margin-top: 40px; } }
    .c-block-twoimagelist .c-block-twoimagelist__img:nth-child(2) {
      margin-top: 10px; }
      @media screen and (min-width: 554px) {
        .c-block-twoimagelist .c-block-twoimagelist__img:nth-child(2) {
          margin-top: 0; } }
    .c-block-twoimagelist .c-block-twoimagelist__img a {
      display: block;
      width: 100%;
      height: 100%;
      position: relative; }
      .c-block-twoimagelist .c-block-twoimagelist__img a p {
        width: 100%;
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        font-size: 16px;
        text-align: center; }
        @media screen and (min-width: 769px) {
          .c-block-twoimagelist .c-block-twoimagelist__img a p {
            font-size: 24px; } }
      .c-block-twoimagelist .c-block-twoimagelist__img a img {
        -webkit-transition: all .25s ease;
        -o-transition: all .25s ease;
        transition: all .25s ease; }
      .c-block-twoimagelist .c-block-twoimagelist__img a:hover img {
        opacity: .6; }

.c-tabmenu .c-tabmenu__tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .c-tabmenu .c-tabmenu__tab li {
    width: 100%;
    max-width: 210px;
    padding: 6px 0;
    border: solid 1px #d7d8d9;
    border-radius: 30px;
    text-align: center;
    cursor: pointer;
    margin: 0 3px;
    position: relative;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    font-size: 12px; }
    @media screen and (min-width: 554px) {
      .c-tabmenu .c-tabmenu__tab li {
        padding: 10px 0;
        font-size: 13px;
        margin: 0 5px; } }
    @media screen and (min-width: 769px) {
      .c-tabmenu .c-tabmenu__tab li {
        border-radius: 38px;
        margin: 0 10px;
        font-size: 14px; } }
    .c-tabmenu .c-tabmenu__tab li::after {
      content: "";
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      bottom: -6px;
      color: #ffa000;
      border-width: 6px 8px 0;
      border-style: solid;
      border-color: currentColor transparent transparent;
      opacity: 0;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      @media screen and (min-width: 554px) {
        .c-tabmenu .c-tabmenu__tab li::after {
          bottom: -10px;
          border-width: 10px 12px 0; } }
    .c-tabmenu .c-tabmenu__tab li.select {
      background: #ffa000;
      border: solid 1px #ffa000;
      color: #FFFFFF; }
      .c-tabmenu .c-tabmenu__tab li.select::after {
        opacity: 1.0; }
    .c-tabmenu .c-tabmenu__tab li:hover {
      background: #ffa000;
      border: solid 1px #ffa000;
      color: #FFFFFF; }
.c-tabmenu .c-tabmenu__content {
  padding: 30px 0;
  background: #f7f8f9; }
.c-tabmenu .hide {
  display: none; }

.c-accordion {
  width: 100%; }
  .c-accordion .question, .c-accordion .area {
    padding: 20px 66px 20px 50px;
    background: #FFFFFF;
    position: relative;
    font-weight: bold;
    border-bottom: solid 2px #eee;
    border-radius: 4px;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    .c-accordion .question::before, .c-accordion .area::before {
      content: "";
      width: 18px;
      height: 2px;
      background: #ccc;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      right: 22px; }
    .c-accordion .question::after, .c-accordion .area::after {
      content: "";
      width: 2px;
      height: 18px;
      background: #ccc;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      right: 30px;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    .c-accordion .question.click, .c-accordion .area.click {
      border-bottom: solid 1px #eee;
      border-radius: 0; }
      .c-accordion .question.click::after, .c-accordion .area.click::after {
        height: 0; }
    @media screen and (min-width: 769px) {
      .c-accordion .question, .c-accordion .area {
        padding: 30px 70px 30px 85px; }
        .c-accordion .question::before, .c-accordion .area::before {
          right: 26px; }
        .c-accordion .question::after, .c-accordion .area::after {
          right: 34px; } }
  .c-accordion .answer, .c-accordion .shop {
    margin-bottom: 20px;
    -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04); }
    .c-accordion .answer .must, .c-accordion .shop .must {
      color: #ff6666; }
    .c-accordion .answer .bold, .c-accordion .shop .bold {
      font-weight: bold; }
    .c-accordion .answer .textbody, .c-accordion .shop .textbody {
      padding: 20px 15px 20px 50px;
      width: 100%;
      background: #fbfbfb;
      border-bottom: solid 1px #eee;
      position: relative; }
    .c-accordion .answer .text p, .c-accordion .answer .text li, .c-accordion .shop .text p, .c-accordion .shop .text li {
      line-height: 1.8; }
    .c-accordion .answer .text p, .c-accordion .answer .text ul, .c-accordion .shop .text p, .c-accordion .shop .text ul {
      margin-bottom: 15px; }
      .c-accordion .answer .text p:last-child, .c-accordion .answer .text ul:last-child, .c-accordion .shop .text p:last-child, .c-accordion .shop .text ul:last-child {
        margin-bottom: 0; }
    .c-accordion .answer .text a, .c-accordion .shop .text a {
      display: inline;
      color: #ffa000; }
      @media screen and (min-width: 769px) {
        .c-accordion .answer .text a:hover, .c-accordion .shop .text a:hover {
          text-decoration: underline; } }
    @media screen and (min-width: 769px) {
      .c-accordion .answer, .c-accordion .shop {
        margin-bottom: 40px; }
        .c-accordion .answer .textbody, .c-accordion .shop .textbody {
          padding: 30px 70px 30px 85px; }
        .c-accordion .answer .text p, .c-accordion .answer .text ul, .c-accordion .shop .text p, .c-accordion .shop .text ul {
          margin-bottom: 25px; }
          .c-accordion .answer .text p:last-child, .c-accordion .answer .text ul:last-child, .c-accordion .shop .text p:last-child, .c-accordion .shop .text ul:last-child {
            margin-bottom: 0; } }
  .c-accordion .question .text::after, .c-accordion .answer .text::after {
    content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    top: 22px;
    left: 13px; }
    @media screen and (min-width: 769px) {
      .c-accordion .question .text::after, .c-accordion .answer .text::after {
        width: 34px;
        height: 34px;
        top: 24px;
        left: 30px; } }
  .c-accordion .question .text::after {
    background: url(./images/faq-question.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; }
  .c-accordion .answer .text::after {
    background: url(./images/faq-answer.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; }

.c-accordion2 {
  position: relative; }
  .c-accordion2 .c-accordion2-content {
    padding-bottom: 20px; }
  @media screen and (min-width: 769px) {
    .c-accordion2 .c-accordion2-content {
      padding-bottom: 0; } }
  .c-accordion2 .c-accordion2-btn {
    position: absolute;
    left: 50%;
    bottom: -65px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    background: #FFFFFF; }
    @media screen and (min-width: 769px) {
      .c-accordion2 .c-accordion2-btn {
        bottom: -125px; } }
  .c-accordion2 .btn {
    width: 100%;
    max-width: 280px;
    height: 65px;
    margin: 0 auto;
    border-radius: 30px;
    border: 1px solid #d7d8d9;
    cursor: pointer; }
    .c-accordion2 .btn::before {
      content: "";
      display: block;
      width: 10px;
      height: 1px;
      background: #212121;
      position: absolute;
      left: 50%;
      bottom: 16px;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
      transform-origin: left top; }
    .c-accordion2 .btn::after {
      content: "";
      display: block;
      width: 1px;
      height: 10px;
      background: #212121;
      position: absolute;
      left: 50%;
      bottom: 16px;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transform-origin: right bottom;
      -ms-transform-origin: right bottom;
      transform-origin: right bottom; }
    .c-accordion2 .btn span {
      text-align: center;
      position: absolute;
      font-weight: bold;
      font-size: 16px;
      left: 50%;
      line-height: 1.0;
      top: 16px;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 100%; }
      .c-accordion2 .btn span::after {
        content: "テレビ取材をもっと見る"; }
    @media screen and (min-width: 769px) {
      .c-accordion2 .btn {
        width: 380px;
        height: 75px;
        border-radius: 38px; }
        .c-accordion2 .btn span {
          font-size: 18px; }
          .c-accordion2 .btn span::before {
            bottom: 16px; }
          .c-accordion2 .btn span::after {
            bottom: 16px; }
        .c-accordion2 .btn:hover {
          -webkit-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s;
          background: #ffa000;
          border: 1px solid #ffa000; }
          .c-accordion2 .btn:hover::before, .c-accordion2 .btn:hover::after {
            background: #FFFFFF; }
          .c-accordion2 .btn:hover span::after {
            color: #FFFFFF; } }
  .c-accordion2 .btn.click::before {
    top: 14px;
    bottom: auto;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media screen and (min-width: 769px) {
      .c-accordion2 .btn.click::before {
        top: 15px; } }
  .c-accordion2 .btn.click::after {
    top: 15px;
    bottom: auto;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top; }
    @media screen and (min-width: 769px) {
      .c-accordion2 .btn.click::after {
        top: 16px; } }
  .c-accordion2 .btn.click span {
    bottom: 16px;
    top: auto; }
    .c-accordion2 .btn.click span::after {
      content: "テレビ取材を閉じる"; }

.c-block-bordertext {
  padding: 20px 15px;
  border: solid 2px #eee; }
  @media screen and (min-width: 554px) {
    .c-block-bordertext {
      padding: 30px 35px; } }
  @media screen and (min-width: 769px) {
    .c-block-bordertext {
      padding: 60px; } }
  .c-block-bordertext .title {
    position: relative;
    margin-bottom: 15px; }
    @media screen and (min-width: 554px) {
      .c-block-bordertext .title {
        margin-bottom: 30px; } }
    @media screen and (min-width: 769px) {
      .c-block-bordertext .title {
        margin-bottom: 50px; } }
  .c-block-bordertext .text .item {
    margin-bottom: 20px; }
    .c-block-bordertext .text .item:last-child {
      margin-bottom: 0; }
    .c-block-bordertext .text .item .item-title {
      line-height: 1.6; }
    .c-block-bordertext .text .item p {
      margin-top: 2px;
      font-size: 13px; }
    .c-block-bordertext .text .item a {
      font-size: 13px;
      margin-top: 4px;
      display: inline-block;
      text-decoration: underline;
      padding-left: 12px;
      position: relative; }
      .c-block-bordertext .text .item a::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        width: 0;
        height: 0;
        border-width: 4px 0 4px 5px;
        border-style: solid;
        border-color: transparent transparent transparent #ffa000;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
      @media screen and (min-width: 769px) {
        .c-block-bordertext .text .item a:hover {
          text-decoration: none; } }

.c-block-whitebox {
  background: #FFFFFF;
  padding: 20px 15px;
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04); }
  @media screen and (min-width: 554px) {
    .c-block-whitebox {
      padding: 30px 35px; } }
  @media screen and (min-width: 769px) {
    .c-block-whitebox {
      padding: 60px; } }

.c-list-row2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (min-width: 769px) {
    .c-list-row2 {
      margin: 0 auto;
      padding: 0;
      width: 1200px; } }
  .c-list-row2 .item {
    width: 100%;
    -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04); }
    @media screen and (min-width: 554px) {
      .c-list-row2 .item {
        width: 48.75%; } }
    @media screen and (min-width: 769px) {
      .c-list-row2 .item {
        width: 580px; } }
    .c-list-row2 .item:nth-child(n+2) {
      margin-top: 30px; }
      @media screen and (min-width: 554px) {
        .c-list-row2 .item:nth-child(n+2) {
          margin-top: 0; } }
    @media screen and (min-width: 554px) {
      .c-list-row2 .item:nth-child(n+3) {
        margin-top: 40px; } }

.c-list-row3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .c-list-row3 .item {
    width: 100%; }
  @media screen and (min-width: 769px) {
    .c-list-row3 {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      margin: 0 -22.5px;
      width: 1245px; }
      .c-list-row3 .item {
        width: 370px;
        margin: 0 22.5px; } }

.c-list-row4 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.25%; }
  @media screen and (min-width: 769px) {
    .c-list-row4 {
      margin: 0 -20px;
      padding: 0;
      width: 1240px; } }
  .c-list-row4 .item {
    margin: 15px 1.25% 0;
    width: 47.5%; }
    @media screen and (min-width: 554px) {
      .c-list-row4 .item {
        width: 22.5%; } }
    @media screen and (min-width: 769px) {
      .c-list-row4 .item {
        padding: 0;
        width: 270px;
        margin: 0 20px; }
        .c-list-row4 .item:nth-child(n+5) {
          margin: 30px 20px 0; } }

.navigation {
  position: relative;
  margin-top: 30px;
  margin-bottom: 24px; }
  @media screen and (min-width: 769px) {
    .navigation {
      margin-top: 70px;
      margin-bottom: 48px; } }
  .navigation .navigation-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (min-width: 769px) {
      .navigation .navigation-block {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start; } }
  @media screen and (min-width: 769px) {
    .navigation .navigation-item {
      width: 240px !important; } }
  .navigation .navigation-item.is-item, .navigation .navigation-item.is-brand {
    width: calc(50% - 5px); }
    @media screen and (min-width: 554px) {
      .navigation .navigation-item.is-item, .navigation .navigation-item.is-brand {
        width: calc(50% - 10px); } }
  .navigation .navigation-item.is-brand .navigation-item__tooltip {
    padding-right: 0; }
  .navigation .navigation-item.is-search {
    margin-top: 10px;
    width: 100%; }
    @media screen and (min-width: 554px) {
      .navigation .navigation-item.is-search {
        margin-top: 20px; } }
    @media screen and (min-width: 769px) {
      .navigation .navigation-item.is-search {
        margin-top: 0; } }
  @media screen and (min-width: 769px) {
    .navigation .navigation-item:nth-child(n+2) {
      margin-left: 20px; } }
  .navigation .navigation-item[data-toggle="1"] .navigation-item__trigger {
    background-color: #f7f8f9; }
    @media screen and (min-width: 769px) {
      .navigation .navigation-item[data-toggle="1"] .navigation-item__trigger {
        background-color: #FFFFFF; } }
    .navigation .navigation-item[data-toggle="1"] .navigation-item__trigger:before {
      visibility: visible; }
    .navigation .navigation-item[data-toggle="1"] .navigation-item__trigger + .tooltip {
      visibility: visible; }
  .navigation .navigation-item[data-toggle="1"] .is-close {
    display: none; }
  .navigation .navigation-item[data-toggle="1"] .is-open {
    display: block !important; }
  .navigation .navigation-item .navigation-item__search {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #eee;
    width: 100%;
    height: 100%;
    position: relative; }
    .navigation .navigation-item .navigation-item__search form {
      width: calc(100% - 48px); }
    .navigation .navigation-item .navigation-item__search input[type="text"] {
      padding: 0;
      border: 0;
      width: 100%;
      min-height: 1em;
      font-size: 11px;
      line-height: 1;
      padding: 10px 12px; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .navigation-item__search input[type="text"] {
          font-size: 13px;
          padding: 11px 13px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .navigation-item__search input[type="text"] {
          padding: 13px 14px;
          font-size: 14px; } }
    .navigation .navigation-item .navigation-item__search .searchbtn {
      position: absolute;
      display: block;
      right: 0;
      top: 0;
      height: 100%;
      width: 48px;
      height: 100%;
      border-left: solid 1px #eee; }
      .navigation .navigation-item .navigation-item__search .searchbtn input[type="submit"] {
        width: 100%;
        height: 100%;
        font-size: 18px; }
        @media screen and (min-width: 554px) {
          .navigation .navigation-item .navigation-item__search .searchbtn input[type="submit"] {
            font-size: 19px; } }
        @media screen and (min-width: 769px) {
          .navigation .navigation-item .navigation-item__search .searchbtn input[type="submit"] {
            font-size: 20px; }
            .navigation .navigation-item .navigation-item__search .searchbtn input[type="submit"]:hover {
              opacity: 0.7; } }
  .navigation .navigation-item .navigation-item__trigger {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: 2;
    border: 1px solid #eee;
    padding: 10px 12px;
    line-height: 1;
    pointer-events: all;
    cursor: pointer; }
    @media screen and (min-width: 554px) {
      .navigation .navigation-item .navigation-item__trigger {
        padding: 11px 13px; } }
    @media screen and (min-width: 769px) {
      .navigation .navigation-item .navigation-item__trigger {
        padding: 13px 14px;
        height: 100%; } }
    .navigation .navigation-item .navigation-item__trigger:before {
      content: '';
      display: block;
      position: absolute;
      top: 100%;
      left: -1px;
      margin-top: -1px;
      width: 100%;
      height: 13px;
      border-right: 1px solid #eee;
      border-left: 1px solid #eee;
      background-color: #f7f8f9;
      visibility: hidden; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .navigation-item__trigger:before {
          height: 23px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .navigation-item__trigger:before {
          background-color: #FFFFFF;
          height: 18px; } }
    .navigation .navigation-item .navigation-item__trigger .text {
      font-size: 11px; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .navigation-item__trigger .text {
          font-size: 13px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .navigation-item__trigger .text {
          font-size: 14px; } }
    .navigation .navigation-item .navigation-item__trigger .icon {
      position: relative;
      margin-left: auto;
      font-size: 18px; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .navigation-item__trigger .icon {
          font-size: 19px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .navigation-item__trigger .icon {
          font-size: 20px; } }
      .navigation .navigation-item .navigation-item__trigger .icon.is-open {
        display: none; }
  .navigation .navigation-item .tooltip {
    position: absolute;
    top: 50px;
    left: 0;
    z-index: 1;
    margin: 0 3%;
    border: 1px solid #eee;
    padding: 20px 13px;
    width: 94%;
    background-color: #f7f8f9;
    visibility: hidden; }
    @media screen and (min-width: 554px) {
      .navigation .navigation-item .tooltip {
        top: 63px;
        padding: 40px 13px; } }
    @media screen and (min-width: 769px) {
      .navigation .navigation-item .tooltip {
        top: 68px;
        margin: 0;
        border-right: 0px;
        border-left: 0px;
        padding: 60px 0;
        width: 100%;
        background-color: #FFFFFF; } }
    .navigation .navigation-item .tooltip.is-item .tooltip-block {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
    .navigation .navigation-item .tooltip.is-item .tooltip-box {
      width: 50%; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .tooltip.is-item .tooltip-box {
          width: 33.33%; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .tooltip.is-item .tooltip-box {
          width: 25%; } }
      .navigation .navigation-item .tooltip.is-item .tooltip-box:nth-child(n+3) {
        margin-top: 30px; }
        @media screen and (min-width: 554px) {
          .navigation .navigation-item .tooltip.is-item .tooltip-box:nth-child(n+3) {
            margin-top: 0; } }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .tooltip.is-item .tooltip-box:nth-child(n+4) {
          margin-top: 50px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .tooltip.is-item .tooltip-box:nth-child(n+4) {
          margin-top: 0; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .tooltip.is-item .tooltip-box:nth-child(n+5) {
          margin-top: 60px; } }
      .navigation .navigation-item .tooltip.is-item .tooltip-box:last-child {
        width: 100%; }
        @media screen and (min-width: 554px) {
          .navigation .navigation-item .tooltip.is-item .tooltip-box:last-child {
            width: 66.66%; } }
        @media screen and (min-width: 769px) {
          .navigation .navigation-item .tooltip.is-item .tooltip-box:last-child {
            width: 50%; } }
        .navigation .navigation-item .tooltip.is-item .tooltip-box:last-child .tooltip-box__list {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          width: 100%; }
          .navigation .navigation-item .tooltip.is-item .tooltip-box:last-child .tooltip-box__list > .item {
            width: 50%; }
    .navigation .navigation-item .tooltip.is-brand .tooltip-box:nth-child(n+2) {
      margin-top: 30px; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .tooltip.is-brand .tooltip-box:nth-child(n+2) {
          margin-top: 40px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .tooltip.is-brand .tooltip-box:nth-child(n+2) {
          margin-top: 50px; } }
    .navigation .navigation-item .tooltip.is-brand .tooltip-box .tooltip-box__list {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .navigation .navigation-item .tooltip.is-brand .tooltip-box .tooltip-box__list .item {
        width: 50%; }
        @media screen and (min-width: 769px) {
          .navigation .navigation-item .tooltip.is-brand .tooltip-box .tooltip-box__list .item {
            width: 25%; } }
    @media screen and (min-width: 769px) {
      .navigation .navigation-item .tooltip .tooltip-block {
        margin: 0 auto;
        padding: 0 30px;
        width: 1260px; } }
    .navigation .navigation-item .tooltip .tooltip-box__heading {
      font-size: 12px;
      font-weight: bold; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .tooltip .tooltip-box__heading {
          font-size: 14px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .tooltip .tooltip-box__heading {
          font-size: 15px; } }
    .navigation .navigation-item .tooltip .tooltip-box__list {
      margin-top: 10px; }
      @media screen and (min-width: 554px) {
        .navigation .navigation-item .tooltip .tooltip-box__list {
          margin-top: 17px; } }
      @media screen and (min-width: 769px) {
        .navigation .navigation-item .tooltip .tooltip-box__list {
          margin-top: 24px; } }
      .navigation .navigation-item .tooltip .tooltip-box__list .item a {
        display: inline-block;
        font-size: 11px;
        line-height: 2; }
        .navigation .navigation-item .tooltip .tooltip-box__list .item a:before {
          content: '\e315';
          display: inline-block;
          vertical-align: middle;
          margin-right: .1em;
          font-family: 'Material Icons';
          font-size: 90%;
          font-weight: lighter;
          line-height: 1; }
        @media screen and (min-width: 769px) {
          .navigation .navigation-item .tooltip .tooltip-box__list .item a:hover {
            opacity: 0.6; }
            .navigation .navigation-item .tooltip .tooltip-box__list .item a:hover:before {
              opacity: 0.6; } }
        @media screen and (min-width: 554px) {
          .navigation .navigation-item .tooltip .tooltip-box__list .item a {
            font-size: 13px; } }
        @media screen and (min-width: 769px) {
          .navigation .navigation-item .tooltip .tooltip-box__list .item a {
            font-size: 14px;
            -webkit-transition: color .25s;
            -o-transition: color .25s;
            transition: color .25s; } }

.c-block-product {
  position: relative;
  width: 100%; }
  .c-block-product::before {
    content: "";
    display: block;
    /*padding-top: 56.25%;*/ }
  .c-block-product iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.c-purchasevisual {
  position: relative;
  padding-top: 20px;
  width: 100%;
  height: 220px;
  background-position: center bottom;
  background-repeat: no-repeat;
  overflow: hidden; }
  @media screen and (min-width: 554px) {
    .c-purchasevisual {
      padding-top: 30px;
      height: 300px; } }
  @media screen and (min-width: 769px) {
    .c-purchasevisual {
      min-width: 1260px;
      height: 380px;
      padding-top: 70px; } }
  .c-purchasevisual.is-item {
    background: #e7e8ea; }
  .c-purchasevisual.is-brand {
    background: #e7e8ea; }
  .c-purchasevisual .c-purchasevisual__text {
    width: 100%;
    text-align: center;
    font-size: 13px;
    line-height: 1.4;
    color: #212121; }
    @media screen and (min-width: 554px) {
      .c-purchasevisual .c-purchasevisual__text {
        font-size: 16px; } }
    @media screen and (min-width: 769px) {
      .c-purchasevisual .c-purchasevisual__text {
        line-height: 1.8;
        font-size: 18px; } }
    .c-purchasevisual .c-purchasevisual__text strong {
      font-size: 16px;
      font-weight: normal;
      color: inherit; }
      @media screen and (min-width: 554px) {
        .c-purchasevisual .c-purchasevisual__text strong {
          font-size: 25px; } }
      @media screen and (min-width: 769px) {
        .c-purchasevisual .c-purchasevisual__text strong {
          font-size: 30px; } }
  .c-purchasevisual.is-brand .c-purchasevisual__text {
    color: #212121; }
  .c-purchasevisual .c-purchasevisual__pic {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    min-width: 540px;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    overflow: hidden; }
    @media screen and (min-width: 554px) {
      .c-purchasevisual .c-purchasevisual__pic {
        min-width: 680px; } }
    @media screen and (min-width: 769px) {
      .c-purchasevisual .c-purchasevisual__pic {
        width: 1200px; } }

.c-detailvisual {
  position: relative;
  margin: 0 auto;
  width: 100%; }
  @media screen and (min-width: 769px) {
    .c-detailvisual {
      width: 1260px;
      padding: 0 30px; } }
  .c-detailvisual .c-detailvisual-pic {
    position: relative;
    z-index: 1; }
  .c-detailvisual .c-detailvisual-textbody {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%; }
    @media screen and (max-width: 768px) {
      .c-detailvisual .c-detailvisual-textbody {
        padding-top: 7%;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start; } }
    @media screen and (min-width: 769px) {
      .c-detailvisual .c-detailvisual-textbody {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center; } }
    @media screen and (min-width: 769px) {
      .c-detailvisual .c-detailvisual-textbody.is-left {
        padding: 0 85px; } }
    @media screen and (min-width: 769px) {
      .c-detailvisual .c-detailvisual-textbody.is-left .c-detailvisual-textbody__heading {
        padding-left: 0 !important;
        text-align: left; } }
    @media screen and (min-width: 769px) {
      .c-detailvisual .c-detailvisual-textbody.is-left .c-detailvisual-textbody__lead {
        padding: 0 !important;
        text-align: left; } }
    .c-detailvisual .c-detailvisual-textbody.is-right {
      padding-right: 20px; }
      @media screen and (min-width: 554px) {
        .c-detailvisual .c-detailvisual-textbody.is-right {
          padding-right: 30px; } }
      @media screen and (min-width: 769px) {
        .c-detailvisual .c-detailvisual-textbody.is-right {
          padding: 0 85px; } }
      .c-detailvisual .c-detailvisual-textbody.is-right .c-detailvisual-textbody__heading {
        padding-right: 0;
        text-align: right; }
      .c-detailvisual .c-detailvisual-textbody.is-right .c-detailvisual-textbody__lead {
        padding: 0 !important;
        text-align: right; }
    .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__heading {
      text-align: center;
      font-size: 25px;
      font-weight: bold;
      line-height: 1.4; }
      @media screen and (max-width: 360px) {
        .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__heading {
          font-size: 20px; } }
      @media screen and (min-width: 554px) {
        .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__heading {
          font-size: 40px; } }
      @media screen and (min-width: 769px) {
        .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__heading {
          font-size: 60px; } }
    .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__lead {
      margin-top: 10px;
      text-align: center;
      font-size: 10px;
      line-height: 1.5; }
      @media screen and (max-width: 360px) {
        .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__lead {
          font-size: 9px; } }
      @media screen and (max-width: 768px) {
        .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__lead {
          padding: 0 3%; } }
      @media screen and (min-width: 554px) {
        .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__lead {
          margin-top: 20px;
          font-size: 14px; } }
      @media screen and (min-width: 769px) {
        .c-detailvisual .c-detailvisual-textbody .c-detailvisual-textbody__lead {
          margin-top: 5px;
          padding: 0 250px;
          font-size: 16px; } }

.c-detailvisual-caption {
  padding: 0; }
  @media screen and (min-width: 769px) {
    .c-detailvisual-caption {
      padding: 0 30px; } }
  .c-detailvisual-caption p {
    font-size: 16px;
    text-align: left;
    font-weight: bold;
    color: #f00;
    border: solid 2px #f00;
    padding: 6px 3%; }
    @media screen and (min-width: 769px) {
      .c-detailvisual-caption p {
        padding: 12px;
        font-size: 20px;
        text-align: center; } }

.c-brandlist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0 0 0 -4px;
  width: calc(100% + 8px); }
  @media screen and (min-width: 554px) {
    .c-brandlist {
      margin: 0 0 0 -10px;
      width: calc(100% + 20px); } }
  @media screen and (min-width: 769px) {
    .c-brandlist {
      margin: 0 0 0 -15px;
      width: calc(100% + 30px); } }
  .c-brandlist .c-brandlist__item {
    padding: 4px;
    width: 33.33%; }
    .c-brandlist .c-brandlist__item:nth-child(-n+3) {
      margin-top: -4px; }
    @media screen and (min-width: 554px) {
      .c-brandlist .c-brandlist__item {
        padding: 10px;
        width: 25%; }
        .c-brandlist .c-brandlist__item:nth-child(-n+4) {
          margin-top: -10px; } }
    @media screen and (min-width: 769px) {
      .c-brandlist .c-brandlist__item {
        padding: 15px;
        width: 16.66%; }
        .c-brandlist .c-brandlist__item:nth-child(-n+6) {
          margin-top: -15px; } }
    @media screen and (min-width: 769px) {
      .c-brandlist .c-brandlist__item a:hover .c-brandlist__logo {
        opacity: .6; } }
    .c-brandlist .c-brandlist__item .c-brandlist__logo {
      border: 1px solid #eee;
      -webkit-transition: all .25s;
      -o-transition: all .25s;
      transition: all .25s; }
    .c-brandlist .c-brandlist__item .c-brandlist__text {
      margin-top: 4px;
      text-align: center;
      font-size: 11px;
      line-height: 1; }
      @media screen and (min-width: 554px) {
        .c-brandlist .c-brandlist__item .c-brandlist__text {
          margin-top: 5px;
          font-size: 13px; } }
      @media screen and (min-width: 769px) {
        .c-brandlist .c-brandlist__item .c-brandlist__text {
          margin-top: 6px;
          font-size: 15px; } }

.c-categorylist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  @media screen and (min-width: 554px) {
    .c-categorylist {
      margin: 0 0 0 -10px;
      width: calc(100% + 20px); } }
  @media screen and (min-width: 769px) {
    .c-categorylist {
      margin: 0 0 0 -20px;
      width: calc(100% + 40px); } }
  .c-categorylist .c-categorylist__item {
    padding: 5px 0;
    width: 100%; }
    .c-categorylist .c-categorylist__item:nth-child(-n+1) {
      margin-top: -5px; }
    @media screen and (min-width: 554px) {
      .c-categorylist .c-categorylist__item {
        padding: 5px 10px;
        width: 50%; }
        .c-categorylist .c-categorylist__item:nth-child(-n+2) {
          margin-top: -10px; } }
    @media screen and (min-width: 769px) {
      .c-categorylist .c-categorylist__item {
        padding: 10px 20px;
        width: 25%; }
        .c-categorylist .c-categorylist__item:nth-child(-n+4) {
          margin-top: -10px; } }
    .c-categorylist .c-categorylist__item a {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      background-color: #FFFFFF;
      -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
      box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04); }
      @media screen and (min-width: 769px) {
        .c-categorylist .c-categorylist__item a:hover .c-categorylist__pic {
          opacity: .6; } }
      .c-categorylist .c-categorylist__item a .c-categorylist__pic {
        width: 70px; }
        @media screen and (min-width: 554px) {
          .c-categorylist .c-categorylist__item a .c-categorylist__pic {
            width: 80px; } }
        @media screen and (min-width: 769px) {
          .c-categorylist .c-categorylist__item a .c-categorylist__pic {
            width: 90px;
            -webkit-transition: all .25s;
            -o-transition: all .25s;
            transition: all .25s; } }
      .c-categorylist .c-categorylist__item a .c-categorylist__text {
        margin-left: 1em;
        font-size: 11px;
        line-height: 1; }
        @media screen and (min-width: 554px) {
          .c-categorylist .c-categorylist__item a .c-categorylist__text {
            font-size: 13px; } }
        @media screen and (min-width: 769px) {
          .c-categorylist .c-categorylist__item a .c-categorylist__text {
            font-size: 15px; } }

.c-resultlist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -5px;
  width: calc(100% + 10px);
  padding: 0 3%; }
  @media screen and (min-width: 554px) {
    .c-resultlist {
      margin-left: -10px;
      width: calc(100% + 20px); } }
  @media screen and (min-width: 769px) {
    .c-resultlist {
      margin-left: -12px;
      width: 1224px;
      padding: 0; } }
  .c-resultlist .c-resultlist__item {
    margin-top: 20px;
    padding: 0 5px;
    width: 33.3333%;
    text-align: left !important; }
    .c-resultlist .c-resultlist__item:nth-child(-n+3) {
      margin-top: 0 !important; }
    @media screen and (min-width: 554px) {
      .c-resultlist .c-resultlist__item {
        margin-top: 25px;
        padding: 0 10px;
        width: 25%; }
        .c-resultlist .c-resultlist__item:nth-child(-n+4) {
          margin-top: 0 !important; } }
    @media screen and (min-width: 769px) {
      .c-resultlist .c-resultlist__item {
        margin-top: 30px;
        padding: 0 12px;
        width: 204px; }
        .c-resultlist .c-resultlist__item:nth-child(-n+6) {
          margin-top: 0 !important; } }
    .c-resultlist .c-resultlist__item .c-resultlist__thumbnail {
      width: 100%; }
      .c-resultlist .c-resultlist__item .c-resultlist__thumbnail img {
        -webkit-transition: all .25s ease;
        -o-transition: all .25s ease;
        transition: all .25s ease; }
      .c-resultlist .c-resultlist__item .c-resultlist__thumbnail a:hover img {
        opacity: .6; }
    .c-resultlist .c-resultlist__item .c-resultlist__title {
      margin-top: 4px;
      font-size: 11px;
      line-height: 1.4; }
      @media screen and (min-width: 769px) {
        .c-resultlist .c-resultlist__item .c-resultlist__title {
          margin-top: 12px;
          font-size: 14px;
          line-height: 1.8; } }
      .c-resultlist .c-resultlist__item .c-resultlist__title .textOverflow {
        font-size: 11px;
        height: 30.8px;
        line-height: 1.4;
        position: relative;
        overflow: hidden; }
        @media screen and (min-width: 769px) {
          .c-resultlist .c-resultlist__item .c-resultlist__title .textOverflow {
            font-size: 14px;
            height: 39.2px; } }
      .c-resultlist .c-resultlist__item .c-resultlist__title i, .c-resultlist .c-resultlist__item .c-resultlist__title span {
        vertical-align: middle;
        line-height: 1; }
      .c-resultlist .c-resultlist__item .c-resultlist__title i {
        margin-right: .3em;
        font-size: 16px;
        color: #ffa000; }
        @media screen and (min-width: 769px) {
          .c-resultlist .c-resultlist__item .c-resultlist__title i {
            font-size: 20px; } }
      .c-resultlist .c-resultlist__item .c-resultlist__title span {
        text-decoration: underline;
        line-height: 1.6; }
      .c-resultlist .c-resultlist__item .c-resultlist__title a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin-top: 5px; }
        .c-resultlist .c-resultlist__item .c-resultlist__title a:hover {
          opacity: 0.6; }
  .c-resultlist__btn {
    margin-top: 30px; }
    @media screen and (min-width: 769px) {
      .c-resultlist__btn {
        margin-top: 60px; } }
    .c-resultlist__btn--mtb {
      margin: 30px auto; }
      @media screen and (min-width: 769px) {
        .c-resultlist__btn--mtb {
          margin: 60px auto; } }

.list-pager {
  width: 100%;
  text-align: center; }

.no-record {
  width: 100%;
  padding: 50px 30px;
  text-align: center;
  background-color: #f5f5f5;
  border-radius: 10px;
  margin-top: 20px;
  margin-bottom: 20px; }
  .no-record .icon {
    width: 100%;
    text-align: center;
    font-size: 80px;
    color: #a2b1b9;
    margin-bottom: 30px; }
  .no-record .txt {
    color: #6b6b6b;
    font-size: 18px; }
  .no-record .tip {
    color: #c94545;
    font-size: 14px; }
  @media screen and (min-width: 554px) {
    .no-record {
      padding: 70px 30px; } }
  @media screen and (min-width: 769px) {
    .no-record {
      padding: 80px 30px; } }

.help-text {
  display: flex;
  align-items: center;
  flex-wrap: nowrap; }
  .help-text .icon {
    font-size: 17px;
    padding: 0 0 1px 5px; }

.must {
  margin: 0 5px 0 10px;
  color: #FFFFFF;
  background: #ff6666;
  padding: 4px 10px 3px;
  display: inline-block;
  border-radius: 13px;
  font-weight: bold;
  line-height: 1.0;
  font-size: 13px; }

select::-ms-expand {
  display: none; }

.select-item {
  position: relative;
  width: auto;
  display: inline-block; }
  .select-item::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
    width: 30px;
    height: 100%; }
  .select-item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2;
    width: 0;
    height: 0;
    border-width: 4px 4px 0;
    border-style: solid;
    border-color: #212121 transparent transparent; }

/*-------------------------
共通パーツ
---------------------------*/
.container {
  width: 80%;
  margin: 0 auto; }

@media screen and (max-width: 768px) {
  .container {
    width: 95%; } }
.prompt {
  display: block !important;
  width: 640px;
  margin: 60px auto 0;
  background-color: #60B8E1;
  border-radius: 16px;
  -webkit-box-shadow: 2px 4px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 2px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 20px 0;
  text-align: center;
  position: relative;
  font-size: 1.875rem;
  color: #FDFF00;
  font-weight: bold; }

@media screen and (max-width: 768px) {
  .prompt {
    font-size: 1.5rem;
    padding: 20px 65px 20px 40px;
    width: 80%; } }
@media screen and (max-width: 553px) {
  .prompt {
    font-size: 1.375rem;
    padding: 15px 40px 15px 20px;
    width: 90%; } }
.prompt:hover {
  opacity: 0.7; }

.prompt::before {
  content: "";
  position: absolute;
  top: 47%;
  right: 70px;
  width: 23px;
  height: 23px;
  border-top: 10px solid #FDFF00;
  border-right: 10px solid #FDFF00;
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%); }

@media screen and (max-width: 768px) {
  .prompt::before {
    width: 21px;
    height: 21px;
    right: 40px; } }
@media screen and (max-width: 553px) {
  .prompt::before {
    width: 18px;
    height: 18px;
    right: 30px;
    border-top: 5px solid #FDFF00;
    border-right: 5px solid #FDFF00; } }
.prompt__big {
  display: block;
  font-size: 1.875rem; }

@media screen and (max-width: 768px) {
  .prompt__big {
    font-size: 1.5rem; } }
@media screen and (max-width: 553px) {
  .prompt__big {
    font-size: 1.25rem; } }
.prompt__small {
  display: block;
  font-size: 1.625rem; }

@media screen and (max-width: 768px) {
  .prompt__small {
    font-size: 1.25rem; } }
@media screen and (max-width: 553px) {
  .prompt__small {
    font-size: 1rem; } }
.prompt:active {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transform: translateY(4px);
  transform: translateY(4px); }

.campaign .prompt::before {
  width: 30px;
  height: 30px; }

@media screen and (max-width: 768px) {
  .campaign .prompt::before {
    width: 25px;
    height: 25px; } }
@media screen and (max-width: 553px) {
  .campaign .prompt {
    font-size: 1.25rem; }

  .campaign .prompt::before {
    width: 20px;
    height: 20px; } }
section .sec-ttl {
  text-align: center; }

section .sec-ttl.common {
  font-size: 2.5rem;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto; }

@media screen and (max-width: 768px) {
  section .sec-ttl.common {
    font-size: 2rem; } }
@media screen and (max-width: 553px) {
  section .sec-ttl.common {
    font-size: 1.7rem;
    line-height: 2rem;
    text-align: center; } }
/*
section .sec-ttl.common::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: #F7AB00;
  border-radius: 50%;
}
section .sec-ttl.common::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: #F7AB00;
  border-radius: 50%;
}
*/
section .sec-txt {
  text-align: center; }

.tab {
  display: none; }

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

@media screen and (max-width: 553px) {
  .sp {
    display: block; } }
@media screen and (max-width: 553px) {
  .sp-none {
    display: none; } }
.wave {
  background-color: #F9F7F5;
  position: relative;
  padding-top: 90px; }

.wave::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  display: inline-block;
  border-style: solid;
  border-width: 50px 35vw 0 35vw;
  border-color: #fff #F9F7F5 #F9F7F5 #F9F7F5;
  z-index: 0; }

@media screen and (max-width: 553px) {
  .wave {
    padding-top: 50px; }

  .wave::before {
    border-width: 30px 35vw 0 35vw; } }
.m-link-arw {
  padding-left: 12px;
  position: relative;
  line-height: 1.0;
  text-decoration: underline;
  margin-top: 5px;
  display: block; }
  @media screen and (min-width: 769px) {
    .m-link-arw {
      margin-top: 10px; } }
  .m-link-arw::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    border-width: 4px 0 4px 5px;
    border-style: solid;
    border-color: transparent transparent transparent #ffa000;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .m-link-arw:hover {
    opacity: 0.6; }

.m-link-external {
  padding-left: 18px;
  position: relative;
  line-height: 1.0;
  text-decoration: underline;
  display: inline-block; }
  @media screen and (min-width: 769px) {
    .m-link-external {
      margin-top: 10px; } }
  .m-link-external::before {
    content: "\e89e";
    font-family: 'Material Icons';
    font-size: 20px;
    color: #ffa000;
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    border-width: 4px 0 4px 5px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .m-link-external:hover {
    opacity: 0.6; }

.m-link-pdf {
  padding-left: 20px;
  position: relative;
  line-height: 1.0;
  text-decoration: underline;
  display: inline-block; }
  @media screen and (min-width: 769px) {
    .m-link-pdf {
      margin-top: 10px; } }
  .m-link-pdf::before {
    content: "\e415";
    font-family: 'Material Icons';
    font-size: 18px;
    color: #ffa000;
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    border-width: 4px 0 4px 5px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .m-link-pdf:hover {
    opacity: 0.6; }

.m-link-tag {
  display: inline-block;
  padding: 0 0 0 24px;
  margin-right: 5px;
  position: relative; }
  @media screen and (min-width: 769px) {
    .m-link-tag {
      margin-right: 25px; } }
  .m-link-tag .icon {
    position: absolute;
    left: 0;
    top: 0.75em;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #ffa000; }
    .m-link-tag .icon .material-icons {
      font-size: 20px; }
  .m-link-tag a {
    display: inline;
    text-decoration: underline;
    font-size: 12px; }
    @media screen and (min-width: 554px) {
      .m-link-tag a {
        font-size: 13px; } }
    @media screen and (min-width: 769px) {
      .m-link-tag a {
        font-size: 14px; } }
    @media screen and (min-width: 769px) {
      .m-link-tag a:hover {
        opacity: 0.6; } }
  .m-link-tag .num {
    font-size: 12px; }
    @media screen and (min-width: 554px) {
      .m-link-tag .num {
        font-size: 13px; } }
    @media screen and (min-width: 769px) {
      .m-link-tag .num {
        font-size: 14px; } }

.m-category01 {
  text-align: center;
  margin: 0 12px;
  padding: .24em 0;
  border-radius: 4px;
  width: 90px;
  font-size: 11px;
  line-height: 1.0; }
  @media screen and (min-width: 769px) {
    .m-category01 {
      width: 95px;
      padding: .45em 0; } }

.m-category01-color1 {
  background: #ff8a8a;
  border: solid 1px #ff8a8a;
  color: #FFFFFF; }
  @media screen and (min-width: 769px) {
    .m-category01-color1:hover {
      background: #FFFFFF;
      color: #ff8a8a; } }

.m-category01-color2 {
  background: #99cc66;
  border: solid 1px #99cc66;
  color: #FFFFFF; }
  @media screen and (min-width: 769px) {
    .m-category01-color2:hover {
      background: #FFFFFF;
      color: #99cc66; } }

.m-category01-color3 {
  background: #7b7c7e;
  border: solid 1px #7b7c7e;
  color: #FFFFFF; }
  @media screen and (min-width: 769px) {
    .m-category01-color3:hover {
      background: #FFFFFF;
      color: #7b7c7e; } }

.m-link-textlink {
  display: inline-block;
  text-decoration: underline;
  margin: 0 3px; }
  @media screen and (min-width: 769px) {
    .m-link-textlink:hover {
      opacity: 0.6; } }

.m-icon-pickup {
  position: absolute;
  background: #ffa000;
  color: #FFFFFF;
  display: inline-block;
  width: 100px;
  height: 100px;
  font-size: 11px;
  left: -50px;
  top: -50px;
  text-align: center;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  .m-icon-pickup span {
    position: absolute;
    left: 50%;
    bottom: 7px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }

.m-image-gradation {
  background: -webkit-gradient(linear, left top, left bottom, from(#f3f3f3), to(#ffffff));
  background: -webkit-linear-gradient(top, #f3f3f3 0%, #ffffff 100%);
  background: -o-linear-gradient(top, #f3f3f3 0%, #ffffff 100%);
  background: linear-gradient(to bottom, #f3f3f3 0%, #ffffff 100%);
  border-radius: 50%;
  overflow: hidden; }

/*----------------------------------------------------
  product-list
----------------------------------------------------*/
#product-list .list-area {
  margin-top: 20px;
  min-height: 350px; }
  #product-list .list-area .search-area {
    position: relative;
    z-index: 2;
    margin: 20px auto 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (min-width: 769px) {
      #product-list .list-area .search-area {
        margin: 20px auto 30px;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start; } }
    #product-list .list-area .search-area .c-filterbox, #product-list .list-area .search-area .c-filterbox2, #product-list .list-area .search-area .c-filterbox3, #product-list .list-area .search-area .c-filterbox4 {
      width: 100%;
      display: inline-block; }
    #product-list .list-area .search-area .c-filterbox2, #product-list .list-area .search-area .c-filterbox3, #product-list .list-area .search-area .c-filterbox4 {
      margin-top: 10px; }
    #product-list .list-area .search-area .list-latest__search {
      width: 100%;
      margin-top: 10px; }
      @media screen and (min-width: 554px) {
        #product-list .list-area .search-area .list-latest__search {
          margin-top: 10px;
          width: calc(50% - 5px); } }
      @media screen and (min-width: 769px) {
        #product-list .list-area .search-area .list-latest__search {
          margin-top: 10px;
          width: 340px;
          margin-left: 20px; } }
      #product-list .list-area .search-area .list-latest__search .search {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        border: 1px solid #eee;
        width: 100%;
        height: 100%;
        position: relative; }
        #product-list .list-area .search-area .list-latest__search .search form {
          width: calc(100% - 48px); }
        #product-list .list-area .search-area .list-latest__search .search input[type="text"] {
          font-family: "メイリオ","ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Osaka",Arial,sans-serif;
          padding: 0;
          border: 0;
          width: 100%;
          min-height: 1em;
          font-size: 16px;
          line-height: 1;
          padding: 5px 12px; }
          @media screen and (min-width: 554px) {
            #product-list .list-area .search-area .list-latest__search .search input[type="text"] {
              font-size: 16px;
              padding: 5px 13px; } }
          @media screen and (min-width: 769px) {
            #product-list .list-area .search-area .list-latest__search .search input[type="text"] {
              padding: 13px 14px;
              font-size: 16px; } }
        #product-list .list-area .search-area .list-latest__search .search input[type="text"]::placeholder {
          font-size: 14px;
          color: #cccccc; }
        #product-list .list-area .search-area .list-latest__search .search .searchbtn {
          position: absolute;
          display: block;
          right: 0;
          top: 0;
          height: 100%;
          width: 48px;
          height: 100%;
          border-left: solid 1px #eee; }
          #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="button"], #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="submit"] {
            width: 100%;
            height: 100%;
            font-size: 18px; }
            @media screen and (min-width: 554px) {
              #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="button"], #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="submit"] {
                font-size: 19px; } }
            @media screen and (min-width: 769px) {
              #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="button"], #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="submit"] {
                font-size: 20px; }
                #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="button"]:hover, #product-list .list-area .search-area .list-latest__search .search .searchbtn input[type="submit"]:hover {
                  opacity: 0.7; } }
      #product-list .list-area .search-area .list-latest__search .search_sel {
        border: 1px solid #ffc856; }
    @media screen and (min-width: 554px) {
      #product-list .list-area .search-area .c-filterbox, #product-list .list-area .search-area .c-filterbox2, #product-list .list-area .search-area .c-filterbox3, #product-list .list-area .search-area .c-filterbox4 {
        width: calc(50% - 5px);
        margin-top: 10px; }
      #product-list .list-area .search-area .c-filterbox2, #product-list .list-area .search-area .c-filterbox3, #product-list .list-area .search-area .c-filterbox4 {
        margin-top: 10px; } }
    @media screen and (min-width: 769px) {
      #product-list .list-area .search-area .c-filterbox {
        width: 150px; }
      #product-list .list-area .search-area .c-filterbox2 {
        width: 150px;
        margin-left: 20px; }
      #product-list .list-area .search-area .c-filterbox3, #product-list .list-area .search-area .c-filterbox4 {
        width: 230px;
        margin-left: 20px; } }
  #product-list .list-area .product-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    list-style: none; }
    @media screen and (min-width: 554px) {
      #product-list .list-area .product-list {
        margin: 0 -1.25% 0; } }
    @media screen and (min-width: 769px) {
      #product-list .list-area .product-list {
        margin: 0 -20px 0;
        padding: 0;
        width: 1240px; } }
    #product-list .list-area .product-list .item {
      /*width: 47.5%;*/
      width: 100%;
      margin: 0 0 30px 0;
      padding: 0; }
      @media screen and (min-width: 554px) {
        #product-list .list-area .product-list .item {
          margin: 0 1.25% 30px;
          width: 47.5%; } }
      @media screen and (min-width: 769px) {
        #product-list .list-area .product-list .item {
          /*width: 270px;*/
          width: 372px;
          margin: 0 20px 30px; } }
      #product-list .list-area .product-list .item .item-img {
        position: relative;
        /*height: 200px;*/
        height: 250px;
        overflow: hidden;
        border: 1px solid #dddddd;
        border-radius: 20px; }
        #product-list .list-area .product-list .item .item-img img {
          position: absolute;
          /*top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          max-width: initial;*/
          height: 100%;
          object-fit: cover;
          object-position: center;
          vertical-align: top;
          /*border: 1px solid #dddddd;*/
          transition: 1s all; }
          #product-list .list-area .product-list .item .item-img img:hover {
            transform: scale(1.1, 1.1);
            transition: 1s all; }
        #product-list .list-area .product-list .item .item-img .ribbon {
          position: absolute;
          top: 0;
          right: 0;
          width: 130px;
          height: 30px;
          line-height: 32px;
          background-color: #856161;
          color: white;
          text-align: center;
          -webkit-transform: rotate(45deg) translate(35px, -11px);
          -moz-transform: rotate(45deg) translate(35px, -11px);
          -ms-transform: rotate(45deg) translate(35px, -11px);
          -o-transform: rotate(45deg) translate(35px, -11px);
          transform: rotate(45deg) translate(35px, -11px); }
      #product-list .list-area .product-list .item .item-txt {
        margin: 10px 0 0 0;
        padding: 0; }
        #product-list .list-area .product-list .item .item-txt .title {
          font-weight: bold;
          font-size: 22px;
          max-height: 100px;
          display: inline-block;
          overflow: hidden;
          text-overflow: ellipsis; }
        #product-list .list-area .product-list .item .item-txt .sub-title {
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #product-list .list-area .product-list .item .item-txt .sub-title .teacher-name {
            color: #9f0243;
            font-weight: bold;
            padding-top: 3px;
            min-width: 100px; }
          #product-list .list-area .product-list .item .item-txt .sub-title .subject {
            font-size: 14px;
            line-height: 17px;
            padding: 0 10px;
            white-space: nowrap; }
        #product-list .list-area .product-list .item .item-txt .summary {
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: flex-start;
          margin: 2px 0; }
          #product-list .list-area .product-list .item .item-txt .summary .tag {
            width: 80px;
            background-color: #e2e5d9;
            text-align: center;
            font-size: 12px;
            border-radius: 5px;
            line-height: 12px;
            padding: 3px 0 2px;
            white-space: nowrap; }
          #product-list .list-area .product-list .item .item-txt .summary .txt {
            width: calc(100% - 80px);
            padding-left: 10px; }
        #product-list .list-area .product-list .item .item-txt .text {
          margin-top: 5px;
          overflow: hidden;
          max-height: 72px; }
        #product-list .list-area .product-list .item .item-txt .price {
          font-weight: bold;
          color: #30749c; }
      #product-list .list-area .product-list .item a {
        cursor: pointer; }
  #product-list .list-area .more {
    display: inline-block;
    width: 100%;
    padding: 0 10px 30px 0; }
    #product-list .list-area .more a {
      color: #666666;
      font-size: 14px;
      cursor: pointer;
      width: 150px;
      float: right;
      text-align: center;
      padding: 4px 10px 3px;
      border-radius: 20px;
      border: 1px solid #aaaaaa; }
      #product-list .list-area .more a:hover {
        color: #ffffff;
        background-color: #ffa64b;
        border: 1px solid #ffa64b; }

/*----------------------------------------------------
  teacher-list（先生一覧／共通）
----------------------------------------------------*/
.teacher-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  list-style: none; }
  @media screen and (min-width: 650px) {
    .teacher-list {
      margin: 0 -1.25% 0; } }
  @media screen and (min-width: 769px) {
    .teacher-list {
      margin: 0 -20px 0;
      padding: 0;
      width: 1240px; } }
  .teacher-list .item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 30px 0;
    padding: 10px 5px;
    /*background-color: #f4f4f4;*/
    border-radius: 10px;
    border: 2px solid #ded7be;
    /*box-shadow: 0px 0px 2px 0px #181818;*/
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    @media screen and (min-width: 650px) {
      .teacher-list .item {
        margin: 0 1.25% 30px;
        width: 47.5%; } }
    @media screen and (min-width: 769px) {
      .teacher-list .item {
        width: 392px;
        margin: 0 10px 30px; } }
    .teacher-list .item .photo-area {
      width: 150px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-content: space-between; }
      @media screen and (min-width: 650px) {
        .teacher-list .item .photo-area {
          width: 120px; } }
      @media screen and (min-width: 650px) {
        .teacher-list .item .photo-area {
          width: 150px; } }
      .teacher-list .item .photo-area .teacher {
        width: 100%; }
        .teacher-list .item .photo-area .teacher .photo {
          width: 120px;
          height: 120px;
          margin: 20px 10px 10px 10px;
          cursor: pointer; }
          .teacher-list .item .photo-area .teacher .photo img {
            border-radius: 50%;
            /*border: 1px solid #ffffff;*/
            object-fit: cover;
            width: 100%;
            height: 100%; }
            .teacher-list .item .photo-area .teacher .photo img:hover {
              transform: scale(1.05, 1.05);
              transition: 1s all; }
        .teacher-list .item .photo-area .teacher .name {
          width: 100%;
          height: 20px;
          overflow: hidden;
          text-overflow: ellipsis;
          text-align: center;
          font-weight: bold;
          color: #444444; }
      .teacher-list .item .photo-area .level {
        /*width: calc(50% - 2px);*/
        width: 100%;
        max-width: 110px;
        /*height: 100%;*/
        color: #ffffff;
        background-color: #666666;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 2px;
        border-radius: 3px;
        font-size: 20px; }
      .teacher-list .item .photo-area .level-mark {
        height: 48px;
        width: auto; }
    .teacher-list .item .detail-area {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: space-between;
      width: calc(100% - 150px); }
      @media screen and (min-width: 650px) {
        .teacher-list .item .detail-area {
          width: calc(100% - 120px); } }
      @media screen and (min-width: 650px) {
        .teacher-list .item .detail-area {
          width: calc(100% - 150px); } }
      .teacher-list .item .detail-area .profile-area {
        width: 100%; }
        .teacher-list .item .detail-area .profile-area .summary {
          width: 100%;
          display: flex;
          align-items: flex-start;
          justify-content: flex-start;
          margin: 2px 0; }
          .teacher-list .item .detail-area .profile-area .summary .tag {
            width: 70px;
            background-color: #e2e5d9;
            text-align: center;
            font-size: 12px;
            border-radius: 5px;
            line-height: 12px;
            white-space: nowrap;
            padding: 3px 0 2px;
            margin-top: 2px; }
          .teacher-list .item .detail-area .profile-area .summary .txt {
            width: calc(100% - 70px);
            padding-left: 10px;
            font-size: 14px; }
      .teacher-list .item .detail-area .control-area {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-content: flex-end;
        margin-top: 10px; }
        .teacher-list .item .detail-area .control-area .btn {
          width: 100%;
          max-width: 160px;
          height: 34px;
          color: #ffffff;
          background-color: #427da3;
          display: flex;
          align-items: center;
          justify-content: center;
          margin: 2px;
          line-height: 16px;
          border-radius: 10px;
          cursor: pointer; }
          .teacher-list .item .detail-area .control-area .btn:hover {
            opacity: 0.7; }
        .teacher-list .item .detail-area .control-area .btn-other {
          background-color: #cd7e0a; }

/*----------------------------------------------------
  goods
----------------------------------------------------*/
#goods .c-pagetitle span {
  display: inline-block;
  background: #ff6666;
  font-weight: bold;
  margin: 5px 0 0;
  padding: 5px 12px;
  color: #FFFFFF;
  min-width: 260px;
  font-size: 18px;
  border-radius: 4px; }
  @media screen and (min-width: 769px) {
    #goods .c-pagetitle span {
      min-width: 360px;
      font-size: 24px; } }
#goods .product-area {
  display: inline-block;
  width: 100%; }
  #goods .product-area .image-area {
    width: 100%;
    margin-top: 10px; }
    @media screen and (min-width: 769px) {
      #goods .product-area .image-area {
        width: 40%;
        margin-right: 30px;
        float: left; } }
    #goods .product-area .image-area .main-image {
      width: 100%;
      height: 300px;
      border: 1px solid #e0e0e0;
      display: inline-block;
      position: relative;
      cursor: zoom-in; }
      @media screen and (min-width: 554px) {
        #goods .product-area .image-area .main-image {
          height: 350px; } }
      @media screen and (min-width: 769px) {
        #goods .product-area .image-area .main-image {
          height: 400px; } }
      #goods .product-area .image-area .main-image img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        max-width: initial;
        height: 100%;
        object-fit: contain;
        vertical-align: top;
        border: 0; }
    #goods .product-area .image-area .sub-image-wrap {
      overflow-x: scroll;
      -ms-overflow-style: none;
      scrollbar-width: none; }
      #goods .product-area .image-area .sub-image-wrap .sub-image-area {
        width: 100%;
        text-align: center;
        display: inline-block;
        border-collapse: collapse;
        white-space: nowrap; }
        #goods .product-area .image-area .sub-image-wrap .sub-image-area .sub-image {
          width: 80px;
          height: 80px;
          margin: 2px;
          border: 1px solid #e0e0e0;
          display: inline-block;
          position: relative;
          cursor: pointer; }
          #goods .product-area .image-area .sub-image-wrap .sub-image-area .sub-image img {
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            max-width: initial;
            height: 100%;
            object-fit: contain;
            vertical-align: top;
            border: 0; }
        #goods .product-area .image-area .sub-image-wrap .sub-image-area .sub-select {
          border: 1px solid #bf6c6c; }
    #goods .product-area .image-area .sub-image-wrap::-webkit-scrollbar {
      display: none;
      /* Chrome, Safari 対応 */ }
  #goods .product-area .detail-area {
    width: 100%;
    margin-top: 10px; }
    @media screen and (min-width: 769px) {
      #goods .product-area .detail-area {
        width: calc(60% - 30px);
        float: left; } }
    #goods .product-area .detail-area .title {
      width: 100%;
      font-size: 20px;
      font-weight: bold; }
      @media screen and (min-width: 769px) {
        #goods .product-area .detail-area .title {
          font-size: 26px; } }
    #goods .product-area .detail-area .tag-area {
      margin-top: 5px;
      display: inline-block; }
      #goods .product-area .detail-area .tag-area .tag-title {
        float: left;
        width: 80px;
        background-color: #eeeeee;
        text-align: center;
        margin: 3px 0;
        font-size: 12px;
        line-height: 1.9;
        border-radius: 5px; }
        @media screen and (min-width: 554px) {
          #goods .product-area .detail-area .tag-area .tag-title {
            width: 100px; } }
        @media screen and (min-width: 769px) {
          #goods .product-area .detail-area .tag-area .tag-title {
            width: 120px; } }
      #goods .product-area .detail-area .tag-area .tag {
        float: left;
        width: calc(100% - 126px);
        margin: 3px 0;
        padding-left: 10px; }
        #goods .product-area .detail-area .tag-area .tag .size-tag {
          width: 100%; }
          #goods .product-area .detail-area .tag-area .tag .size-tag .size-item {
            width: 100%;
            display: flex;
            flex-wrap: nowrap;
            margin-bottom: 3px; }
            #goods .product-area .detail-area .tag-area .tag .size-tag .size-item .size-name {
              width: 100px;
              text-align: center;
              background-color: #f3f1df;
              float: left;
              margin-right: 10px;
              white-space: nowrap;
              font-size: 12px;
              padding: 3px;
              border-radius: 10px 0 0 10px; }
            #goods .product-area .detail-area .tag-area .tag .size-tag .size-item .size-stock {
              width: 80px;
              float: left;
              display: flex;
              flex-wrap: nowrap;
              align-items: center;
              padding-top: 2px; }
              #goods .product-area .detail-area .tag-area .tag .size-tag .size-item .size-stock input[type="radio"] {
                width: 20px;
                height: 20px;
                border-radius: 50%; }
              #goods .product-area .detail-area .tag-area .tag .size-tag .size-item .size-stock p {
                line-height: 1px;
                padding-left: 10px; }
        #goods .product-area .detail-area .tag-area .tag .color-tag {
          display: flex;
          flex-wrap: wrap;
          padding: 0 10px 10px 5px; }
          #goods .product-area .detail-area .tag-area .tag .color-tag .color-item {
            width: 25px;
            height: 25px;
            border: 1px solid #afafaf;
            border-radius: 50%;
            margin: 0 20px 5px 0;
            cursor: pointer; }
          #goods .product-area .detail-area .tag-area .tag .color-tag .current {
            border: 3px solid #ffffff;
            margin: 0 20px 0 0;
            box-shadow: #ffa500 0px 0px 0px 3px; }
        #goods .product-area .detail-area .tag-area .tag .color-thumbnail-tag {
          display: flex;
          flex-wrap: wrap;
          padding: 0 0 0 3px; }
          #goods .product-area .detail-area .tag-area .tag .color-thumbnail-tag .color-item {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            width: 60px;
            height: 50px;
            border-radius: 2px;
            margin: 0 5px 5px 0;
            cursor: pointer;
            padding: 1px; }
            @media screen and (min-width: 554px) {
              #goods .product-area .detail-area .tag-area .tag .color-thumbnail-tag .color-item {
                width: 70px;
                margin: 0 10px 5px 0; } }
            @media screen and (min-width: 769px) {
              #goods .product-area .detail-area .tag-area .tag .color-thumbnail-tag .color-item {
                width: 80px;
                margin: 0 20px 5px 0; } }
            #goods .product-area .detail-area .tag-area .tag .color-thumbnail-tag .color-item img {
              width: 100%;
              height: 100%;
              object-fit: cover; }
          #goods .product-area .detail-area .tag-area .tag .color-thumbnail-tag .current {
            box-shadow: #ffa500 0px 0px 0px 3px; }
    #goods .product-area .detail-area .price-area {
      display: inline-block;
      width: 100%;
      border-top: 1px solid #efefef;
      border-bottom: 1px solid #efefef;
      padding: 15px; }
      #goods .product-area .detail-area .price-area .price-title {
        float: left;
        padding-top: 10px; }
      #goods .product-area .detail-area .price-area .price {
        float: left;
        font-size: 26px;
        font-weight: bold; }
    #goods .product-area .detail-area .cartin-area {
      display: inline-block;
      width: 100%;
      padding: 15px;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none; }
      #goods .product-area .detail-area .cartin-area .count-title {
        float: left;
        width: 70px;
        padding-top: 6px; }
        @media screen and (min-width: 769px) {
          #goods .product-area .detail-area .cartin-area .count-title {
            width: 80px;
            padding-top: 6px; } }
      #goods .product-area .detail-area .cartin-area .count-select {
        min-width: 60px;
        height: 30px;
        margin-top: 2px;
        border: 1px solid #888888;
        border-radius: 8px;
        padding: 0 7px;
        font-size: 18px; }
      #goods .product-area .detail-area .cartin-area .button {
        color: #ffffff;
        background-color: #1da30f;
        text-align: center;
        font-weight: bold;
        padding: 5px;
        border-radius: 5px;
        float: right;
        font-size: 16px;
        width: 140px;
        cursor: pointer; }
        @media screen and (min-width: 769px) {
          #goods .product-area .detail-area .cartin-area .button {
            font-size: 18px;
            width: 180px; } }
        #goods .product-area .detail-area .cartin-area .button:hover {
          opacity: 0.7; }
      #goods .product-area .detail-area .cartin-area .b-inactive {
        background-color: #cccccc;
        cursor: default; }
        #goods .product-area .detail-area .cartin-area .b-inactive:hover {
          opacity: 1; }
#goods .description-area {
  width: 100%;
  margin-top: 20px;
  text-align: center; }
  #goods .description-area .description-block {
    display: inline-block;
    width: 95%;
    margin-bottom: 30px; }
    @media screen and (min-width: 769px) {
      #goods .description-area .description-block {
        width: 80%;
        margin-bottom: 40px; } }
    #goods .description-area .description-block .image-center-area {
      display: inline-block;
      width: 100%; }
      #goods .description-area .description-block .image-center-area .image {
        display: inline-block;
        max-width: 100%;
        /*border: 1px solid #fff0f0;*/
        margin-bottom: 10px;
        position: relative; }
        #goods .description-area .description-block .image-center-area .image img {
          vertical-align: top;
          border: 0; }
      #goods .description-area .description-block .image-center-area .description {
        display: inline-block;
        width: 100%;
        white-space: pre-line;
        /*border: 1px dashed #f1f1f1;*/
        text-align: left; }
    #goods .description-area .description-block .image-left-area {
      display: inline-block;
      width: 100%; }
      #goods .description-area .description-block .image-left-area .image {
        display: inline-block;
        max-width: 100%;
        /*border: 1px solid #fff0f0;*/
        margin-bottom: 10px;
        position: relative; }
        @media screen and (min-width: 769px) {
          #goods .description-area .description-block .image-left-area .image {
            width: 40%;
            margin-right: 20px;
            float: left; } }
        #goods .description-area .description-block .image-left-area .image img {
          max-width: fit-content;
          vertical-align: top;
          border: 0; }
      #goods .description-area .description-block .image-left-area .description {
        display: inline-block;
        width: 100%;
        white-space: pre-line;
        /*border: 1px dashed #f1f1f1;*/
        text-align: left; }
        @media screen and (min-width: 769px) {
          #goods .description-area .description-block .image-left-area .description {
            width: calc(60% - 20px);
            float: left; } }
    #goods .description-area .description-block .image-right-area {
      display: inline-block;
      width: 100%; }
      #goods .description-area .description-block .image-right-area .image {
        display: inline-block;
        max-width: 100%;
        /*border: 1px solid #fff0f0;*/
        margin-bottom: 10px;
        position: relative; }
        @media screen and (min-width: 769px) {
          #goods .description-area .description-block .image-right-area .image {
            width: 40%;
            margin-left: 20px;
            float: right; } }
        #goods .description-area .description-block .image-right-area .image img {
          max-width: fit-content;
          vertical-align: top;
          border: 0; }
      #goods .description-area .description-block .image-right-area .description {
        display: inline-block;
        width: 100%;
        white-space: pre-line;
        /*border: 1px dashed #f1f1f1;*/
        text-align: left; }
        @media screen and (min-width: 769px) {
          #goods .description-area .description-block .image-right-area .description {
            width: calc(60% - 20px);
            float: right; } }

/*----------------------------------------------------
  cart
----------------------------------------------------*/
#cart .c-pagetitle span {
  display: inline-block;
  background: #ff6666;
  font-weight: bold;
  margin: 5px 0 0;
  padding: 5px 12px;
  color: #FFFFFF;
  min-width: 260px;
  font-size: 18px;
  border-radius: 4px; }
  @media screen and (min-width: 769px) {
    #cart .c-pagetitle span {
      min-width: 360px;
      font-size: 24px; } }
#cart .item-area {
  width: 100%;
  display: inline-block; }
  #cart .item-area .item-list {
    width: 100%;
    display: inline-block; }
    #cart .item-area .item-list .item {
      width: 100%;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      margin-top: 10px;
      border-bottom: 1px solid #eeeeee; }
      #cart .item-area .item-list .item .summary {
        display: flex;
        width: 100%; }
        @media screen and (min-width: 554px) {
          #cart .item-area .item-list .item .summary {
            width: 85%; } }
        @media screen and (min-width: 769px) {
          #cart .item-area .item-list .item .summary {
            width: 90%; } }
        #cart .item-area .item-list .item .summary .item-img {
          position: relative;
          height: 150px;
          width: 20%;
          max-width: 150px;
          min-width: 70px;
          cursor: pointer; }
          @media screen and (min-width: 554px) {
            #cart .item-area .item-list .item .summary .item-img {
              max-width: 150px;
              min-width: 120px; } }
          @media screen and (min-width: 769px) {
            #cart .item-area .item-list .item .summary .item-img {
              max-width: 150px;
              min-width: 150px; } }
          #cart .item-area .item-list .item .summary .item-img img {
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            max-width: initial;
            height: 100%;
            object-fit: cover;
            vertical-align: top;
            border: 0; }
        #cart .item-area .item-list .item .summary .contents {
          width: 100%;
          margin-left: 10px;
          display: flex;
          flex-direction: column;
          justify-content: space-between; }
          #cart .item-area .item-list .item .summary .contents .info {
            display: inline-block; }
            #cart .item-area .item-list .item .summary .contents .info .title {
              font-size: 16px;
              width: fit-content; }
              #cart .item-area .item-list .item .summary .contents .info .title a {
                text-decoration: none;
                cursor: pointer; }
            #cart .item-area .item-list .item .summary .contents .info .price2 {
              display: inline-block;
              width: 100%;
              text-align: left;
              font-weight: bold;
              font-size: 18px;
              white-space: nowrap; }
              @media screen and (min-width: 554px) {
                #cart .item-area .item-list .item .summary .contents .info .price2 {
                  display: none; } }
              @media screen and (min-width: 769px) {
                #cart .item-area .item-list .item .summary .contents .info .price2 {
                  display: none; } }
          #cart .item-area .item-list .item .summary .contents .control {
            display: inline-block;
            width: 100%;
            padding: 5px 0;
            font-size: 14px; }
            #cart .item-area .item-list .item .summary .contents .control .count-title {
              float: left;
              width: 70px;
              padding-top: 6px; }
            #cart .item-area .item-list .item .summary .contents .control .count-select {
              float: left;
              min-width: 60px;
              height: 26px;
              margin: 2px 10px 0 0;
              border: 1px solid #888888;
              border-radius: 8px;
              padding: 0 7px;
              font-size: 16px; }
              @media screen and (min-width: 554px) {
                #cart .item-area .item-list .item .summary .contents .control .count-select {
                  margin: 2px 20px 0 0; } }
              @media screen and (min-width: 769px) {
                #cart .item-area .item-list .item .summary .contents .control .count-select {
                  margin: 2px 20px 0 0; } }
            #cart .item-area .item-list .item .summary .contents .control .del {
              float: left;
              padding-top: 6px; }
              #cart .item-area .item-list .item .summary .contents .control .del a {
                cursor: pointer; }
      #cart .item-area .item-list .item .price {
        width: 0;
        display: none;
        text-align: right;
        font-weight: bold;
        font-size: 18px;
        white-space: nowrap; }
        @media screen and (min-width: 554px) {
          #cart .item-area .item-list .item .price {
            display: block;
            width: 15%; } }
        @media screen and (min-width: 769px) {
          #cart .item-area .item-list .item .price {
            display: block;
            width: 10%; } }
#cart .summary-area {
  margin-top: 10px; }
  #cart .summary-area .summary {
    width: 100%;
    display: inline-block;
    background-color: #dedede;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    padding: 5px 5px 0 5px; }
    #cart .summary-area .summary .title {
      float: left;
      padding: 10px; }
    #cart .summary-area .summary .comment {
      float: right;
      padding: 10px; }
    #cart .summary-area .summary .price {
      float: right;
      padding: 10px;
      font-weight: bold;
      font-size: 18px;
      line-height: 24px; }
  #cart .summary-area .button-area {
    width: 100%; }
    #cart .summary-area .button-area .button {
      padding: 5px;
      width: 200px;
      text-align: center;
      float: right;
      border-radius: 10px;
      color: #ffffff;
      background-color: #1da30f;
      font-size: 20px;
      font-weight: bold; }
      #cart .summary-area .button-area .button:hover {
        opacity: 0.7; }

/*----------------------------------------------------
  shopping
----------------------------------------------------*/
#shopping .c-pagetitle span, #pay .c-pagetitle span {
  display: inline-block;
  background: #ff6666;
  font-weight: bold;
  margin: 5px 0 0;
  padding: 5px 12px;
  color: #FFFFFF;
  min-width: 260px;
  font-size: 18px;
  border-radius: 4px; }
  @media screen and (min-width: 769px) {
    #shopping .c-pagetitle span, #pay .c-pagetitle span {
      min-width: 360px;
      font-size: 24px; } }
#shopping .remind-area, #pay .remind-area {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 0 10px; }
  #shopping .remind-area .remind, #pay .remind-area .remind {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background-color: #ffe0de;
    border-radius: 20px; }
    #shopping .remind-area .remind .ico, #pay .remind-area .remind .ico {
      color: #8f0909;
      font-size: 36px;
      padding: 0 10px 7px 0; }
    #shopping .remind-area .remind .txt, #pay .remind-area .remind .txt {
      color: #8f0909;
      font-size: 22px; }
#shopping .info-area, #pay .info-area {
  width: 100%;
  float: left;
  display: inline-block;
  margin-top: 20px; }
  @media screen and (min-width: 769px) {
    #shopping .info-area, #pay .info-area {
      width: 70%;
      margin-right: 10px; } }
  #shopping .info-area .area-title, #pay .info-area .area-title {
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #d4d4d4;
    position: relative; }
    @media screen and (min-width: 769px) {
      #shopping .info-area .area-title, #pay .info-area .area-title {
        font-size: 22px; } }
  #shopping .info-area .product-area, #pay .info-area .product-area {
    width: 100%;
    margin-bottom: 20px; }
    #shopping .info-area .product-area .item, #pay .info-area .product-area .item {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 6px;
      border-bottom: 1px solid #e6e6e6; }
      @media screen and (min-width: 769px) {
        #shopping .info-area .product-area .item, #pay .info-area .product-area .item {
          flex-wrap: nowrap; } }
      #shopping .info-area .product-area .item .img, #pay .info-area .product-area .item .img {
        position: relative;
        width: 100%;
        height: 220px;
        margin: 0 0 10px 0; }
        @media screen and (min-width: 769px) {
          #shopping .info-area .product-area .item .img, #pay .info-area .product-area .item .img {
            max-width: 220px;
            min-width: 200px;
            margin: 7px 0 0 0; } }
        #shopping .info-area .product-area .item .img img, #pay .info-area .product-area .item .img img {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          width: 220px;
          height: 220px;
          object-fit: cover;
          vertical-align: top;
          border: 0;
          border-radius: 10px; }
      #shopping .info-area .product-area .item .info, #pay .info-area .product-area .item .info {
        padding-left: 10px; }
        #shopping .info-area .product-area .item .info .title, #pay .info-area .product-area .item .info .title {
          font-size: 18px;
          font-weight: bold;
          margin: 5px 0; }
        #shopping .info-area .product-area .item .info .teacher, #pay .info-area .product-area .item .info .teacher {
          color: #9f0243;
          font-weight: bold; }
        #shopping .info-area .product-area .item .info .summary, #pay .info-area .product-area .item .info .summary {
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: flex-start;
          margin: 2px 0; }
          #shopping .info-area .product-area .item .info .summary .tag, #pay .info-area .product-area .item .info .summary .tag {
            width: 80px;
            background-color: #e2e5d9;
            text-align: center;
            border-radius: 5px;
            line-height: 12px;
            padding: 3px 0 2px;
            white-space: nowrap; }
          #shopping .info-area .product-area .item .info .summary .txt, #pay .info-area .product-area .item .info .summary .txt {
            padding-left: 10px; }
        #shopping .info-area .product-area .item .info .detail, #pay .info-area .product-area .item .info .detail {
          font-size: 14px;
          margin: 10px 0;
          word-break: break-all;
          white-space: pre-line; }
  #shopping .info-area .customer-area, #pay .info-area .customer-area {
    width: 100%;
    margin-bottom: 20px;
    padding: 10px 0; }
  #shopping .info-area .pay-method-area, #pay .info-area .pay-method-area {
    width: 100%;
    margin-bottom: 20px;
    padding: 10px 0; }
  #shopping .info-area .course-intro-area, #pay .info-area .course-intro-area {
    width: 100%;
    padding: 10px 0; }
    #shopping .info-area .course-intro-area .intro, #pay .info-area .course-intro-area .intro {
      width: 100%; }
      #shopping .info-area .course-intro-area .intro a, #pay .info-area .course-intro-area .intro a {
        display: inline-block;
        color: #d57272;
        font-weight: bold; }
        #shopping .info-area .course-intro-area .intro a:hover, #pay .info-area .course-intro-area .intro a:hover {
          color: #ff0000; }
    #shopping .info-area .course-intro-area .notice, #pay .info-area .course-intro-area .notice {
      width: 100%;
      font-size: 12px;
      color: #976767;
      margin-top: 10px; }
  #shopping .info-area .tag-title, #pay .info-area .tag-title {
    font-size: 16px;
    font-weight: bold; }
  #shopping .info-area .tag, #pay .info-area .tag {
    display: block;
    font-size: 14px;
    cursor: pointer; }
#shopping .summary-area, #pay .summary-area {
  width: 100%;
  float: right;
  background-color: #eeeeee;
  display: inline-block;
  padding: 15px;
  margin-top: 20px; }
  @media screen and (min-width: 769px) {
    #shopping .summary-area, #pay .summary-area {
      width: calc(30% - 10px); } }
  #shopping .summary-area .price-detail, #pay .summary-area .price-detail {
    width: 100%;
    display: inline-block; }
    #shopping .summary-area .price-detail .tag-title, #pay .summary-area .price-detail .tag-title {
      width: 50%;
      text-align: left;
      float: left; }
    #shopping .summary-area .price-detail .tag, #pay .summary-area .price-detail .tag {
      width: 50%;
      text-align: right;
      float: left; }
  #shopping .summary-area .price-sum, #pay .summary-area .price-sum {
    width: 100%;
    display: inline-block;
    border-top: 1px solid #bbbbbb;
    padding-top: 10px; }
    #shopping .summary-area .price-sum .tag-title, #pay .summary-area .price-sum .tag-title {
      font-size: 18px;
      float: right;
      padding: 3px;
      margin-right: 10px; }
    #shopping .summary-area .price-sum .tag, #pay .summary-area .price-sum .tag {
      font-size: 22px;
      font-weight: bold;
      float: right; }
  #shopping .summary-area .notice, #pay .summary-area .notice {
    width: 100%;
    font-size: 12px;
    text-align: left;
    color: #976767; }
  #shopping .summary-area .button-area, #pay .summary-area .button-area {
    width: 100%;
    padding: 10px; }
    #shopping .summary-area .button-area .button, #pay .summary-area .button-area .button {
      color: #ffffff;
      background-color: #1da30f;
      font-size: 20px;
      font-weight: bold;
      text-align: center;
      padding: 5px;
      border-radius: 10px;
      cursor: pointer; }
      #shopping .summary-area .button-area .button:hover, #pay .summary-area .button-area .button:hover {
        opacity: 0.7; }
    #shopping .summary-area .button-area .inactive, #pay .summary-area .button-area .inactive {
      background-color: #a5a5a5;
      cursor: default; }
      #shopping .summary-area .button-area .inactive:hover, #pay .summary-area .button-area .inactive:hover {
        opacity: 1; }

/*----------------------------------------------------
  contact
----------------------------------------------------*/
#contact .contact-mainvis {
  padding: 30px 0 0; }
  @media screen and (min-width: 769px) {
    #contact .contact-mainvis {
      padding: 65px 0 0; } }
#contact .contact-tab-area {
  width: 100%;
  overflow: hidden; }
  #contact .contact-tab-area .contact-tab {
    width: 100%;
    display: block;
    position: relative;
    border-bottom: 1px solid #e1e1e1;
    height: 47px;
    margin: 20px 0 30px 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    #contact .contact-tab-area .contact-tab .current-tab {
      width: 140px;
      display: block;
      position: absolute;
      left: 10px;
      top: 6px;
      border-left: 1px solid #e1e1e1;
      border-top: 1px solid #e1e1e1;
      border-right: 1px solid #e1e1e1;
      border-bottom: 1px solid #ffffff;
      text-align: center;
      padding: 10px 0 5px 0;
      border-radius: 0px 10px 0 0; }
      @media screen and (min-width: 554px) {
        #contact .contact-tab-area .contact-tab .current-tab {
          width: 180px; } }
      @media screen and (min-width: 769px) {
        #contact .contact-tab-area .contact-tab .current-tab {
          width: 200px; } }
    #contact .contact-tab-area .contact-tab .other-tab {
      width: 150px;
      display: block;
      position: absolute;
      right: 0;
      top: 8px;
      text-align: center;
      padding: 7px 0 5px 0;
      border-radius: 0 10px 0 0;
      color: #ffffff;
      background-color: #7a9718;
      cursor: pointer; }
      @media screen and (min-width: 554px) {
        #contact .contact-tab-area .contact-tab .other-tab {
          width: 180px; } }
      @media screen and (min-width: 769px) {
        #contact .contact-tab-area .contact-tab .other-tab {
          width: 200px; } }
      #contact .contact-tab-area .contact-tab .other-tab:hover {
        color: #ffffff;
        background-color: #ffa000; }
#contact .contact-link {
  margin: 30px 0 0; }
  #contact .contact-link p {
    text-align: left;
    margin-bottom: 20px;
    line-height: 1.8;
    font-size: 22px; }
    @media screen and (min-width: 554px) {
      #contact .contact-link p {
        text-align: center; } }
    @media screen and (min-width: 769px) {
      #contact .contact-link p {
        line-height: 2.0; } }
  #contact .contact-link .sm {
    display: none; }
    @media screen and (min-width: 554px) {
      #contact .contact-link .sm {
        display: inline; } }
  #contact .contact-link .line-link {
    width: 100%;
    display: inline-block;
    text-align: center;
    margin-bottom: 30px; }
    #contact .contact-link .line-link img {
      max-width: 200px; }
#contact .contact-form {
  width: 100%;
  margin: 30px auto 0; }
  #contact .contact-form table {
    width: 100%;
    margin-top: 20px; }
    #contact .contact-form table th {
      width: 100%;
      display: inline-block;
      padding: 10px 0;
      position: relative;
      font-weight: bold; }
      @media screen and (min-width: 769px) {
        #contact .contact-form table th {
          width: 230px;
          padding: 30px 0;
          display: table-cell; } }
      #contact .contact-form table th .comment {
        display: block;
        margin-top: 6px;
        font-size: 13px;
        font-weight: normal;
        color: #7b7c7e; }
    #contact .contact-form table .textarea {
      vertical-align: top; }
    #contact .contact-form table td {
      width: 100%;
      display: inline-block;
      padding: 0 0 10px; }
      @media screen and (min-width: 769px) {
        #contact .contact-form table td {
          width: calc(100% - 230px);
          padding: 30px 0 30px 80px;
          display: table-cell; } }
      #contact .contact-form table td .error {
        color: #ff0000; }
      #contact .contact-form table td input::-webkit-input-placeholder {
        color: #ccc; }
      #contact .contact-form table td input:-ms-input-placeholder {
        color: #ccc; }
      #contact .contact-form table td input::-ms-input-placeholder {
        color: #ccc; }
      #contact .contact-form table td input::placeholder {
        color: #ccc; }
      #contact .contact-form table td input[type="text"], #contact .contact-form table td input[type="password"] {
        padding: 12px 15px;
        width: 100%;
        border: solid 1px #d7d8d9;
        border-radius: 5px; }
        #contact .contact-form table td input[type="text"]:focus, #contact .contact-form table td input[type="password"]:focus {
          border-color: #333333;
          box-shadow: 0 0 0 1px #333333; }
      #contact .contact-form table td input[type="radio"] {
        width: 20px;
        height: 20px; }
      #contact .contact-form table td .comment {
        display: block;
        margin-top: 10px;
        font-size: 13px;
        color: #7b7c7e; }
      #contact .contact-form table td .red {
        color: #ff0000; }
      #contact .contact-form table td .sub-title {
        color: #bb7748;
        font-weight: bold;
        width: 100%; }
      #contact .contact-form table td textarea {
        width: 100%;
        padding: 12px 15px;
        border: solid 1px #d7d8d9;
        border-radius: 5px;
        height: 120px; }
      #contact .contact-form table td .ipt-check {
        opacity: 0;
        display: none; }
      #contact .contact-form table td .check {
        position: relative;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        vertical-align: middle;
        cursor: pointer;
        padding-left: 25px; }
        #contact .contact-form table td .check::before {
          content: "";
          position: absolute;
          top: 50%;
          left: 0;
          display: block;
          margin-top: -10px;
          width: 16px;
          height: 16px;
          border: solid 1px #ccc;
          vertical-align: inherit;
          text-decoration: inherit; }
      #contact .contact-form table td .ipt-check:checked + .check::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 5px;
        display: block;
        margin-top: -9px;
        width: 5px;
        height: 9px;
        border-right: 2px solid #ff6666;
        border-bottom: 2px solid #ff6666;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
      #contact .contact-form table td select {
        border-style: none;
        -moz-appearance: none;
        text-indent: 0.01px;
        -o-text-overflow: '';
        text-overflow: '';
        appearance: none;
        -webkit-appearance: none;
        width: 280px;
        height: 48px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border: solid 1px #d7d8d9;
        border-radius: 5px;
        padding: 0 40px 0 10px;
        position: relative;
        background: #FFFFFF;
        font-size: 16px; }
        #contact .contact-form table td select:focus {
          border-color: #47b1f1;
          -webkit-box-shadow: 0 0 0 1px #47b1f1;
          box-shadow: 0 0 0 1px #47b1f1; }
        @media screen and (min-width: 769px) {
          #contact .contact-form table td select {
            font-size: 14px; } }
        @media screen and (min-width: 769px) {
          #contact .contact-form table td select:hover {
            cursor: pointer; } }
      #contact .contact-form table td select::-ms-expand {
        display: none; }
      #contact .contact-form table td .prefecture {
        position: relative;
        width: auto;
        display: inline-block; }
        #contact .contact-form table td .prefecture::before {
          content: "";
          position: absolute;
          top: 0;
          right: 0;
          z-index: 0;
          width: 30px;
          height: 100%; }
        #contact .contact-form table td .prefecture::after {
          content: "";
          position: absolute;
          top: 50%;
          right: 15px;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          z-index: 2;
          width: 0;
          height: 0;
          border-width: 4px 4px 0;
          border-style: solid;
          border-color: #212121 transparent transparent; }
      #contact .contact-form table td label {
        display: block;
        float: left;
        position: relative;
        padding: 0 30px 0 25px;
        cursor: pointer; }
        #contact .contact-form table td label .label_text {
          position: absolute;
          left: 0; }
      #contact .contact-form table td .contents {
        white-space: pre-line; }
      #contact .contact-form table td .picuure-area {
        display: flex;
        margin-top: 30px;
        flex-wrap: wrap;
        justify-content: center; }
        #contact .contact-form table td .picuure-area .item {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          width: 280px;
          margin-bottom: 20px; }
          #contact .contact-form table td .picuure-area .item .title {
            font-size: 16px;
            width: 100%;
            text-align: center; }
          #contact .contact-form table td .picuure-area .item img {
            width: 200px;
            height: auto;
            object-fit: contain; }
      #contact .contact-form table td iframe {
        border: 1px solid #dfdfdf; }
      #contact .contact-form table td .password-area {
        width: 100%;
        position: relative; }
        #contact .contact-form table td .password-area input {
          width: 100%; }
        #contact .contact-form table td .password-area .fa-eye, #contact .contact-form table td .password-area .fa-eye-slash {
          position: absolute;
          right: 20px;
          top: 19px;
          cursor: pointer; }
    #contact .contact-form table tr {
      border-bottom: solid 1px #eee; }
      #contact .contact-form table tr:last-child {
        border: none; }
      #contact .contact-form table tr:first-child {
        border-top: solid 1px #eee; }
  #contact .contact-form .contact-form__btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 30px -5px 0; }
    @media screen and (min-width: 554px) {
      #contact .contact-form .contact-form__btn {
        margin: 30px -10px 0; } }
    @media screen and (min-width: 769px) {
      #contact .contact-form .contact-form__btn {
        margin: 40px 0 0; } }
    #contact .contact-form .contact-form__btn .btn {
      text-align: center;
      width: 50%;
      max-width: 250px;
      margin: 0 5px; }
      @media screen and (min-width: 554px) {
        #contact .contact-form .contact-form__btn .btn {
          margin: 0 10px; } }
      @media screen and (min-width: 769px) {
        #contact .contact-form .contact-form__btn .btn {
          margin: 0 30px; } }
      #contact .contact-form .contact-form__btn .btn .link, #contact .contact-form .contact-form__btn .btn .clear {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        border-radius: 30px;
        border: 1px solid #d7d8d9;
        width: 100%;
        height: 52px;
        background-color: #FFFFFF;
        text-align: center; }
        @media screen and (min-width: 769px) {
          #contact .contact-form .contact-form__btn .btn .link, #contact .contact-form .contact-form__btn .btn .clear {
            height: 60px;
            cursor: pointer; }
            #contact .contact-form .contact-form__btn .btn .link:hover, #contact .contact-form .contact-form__btn .btn .clear:hover {
              background-color: #ffa000;
              border-color: #ffa000; }
              #contact .contact-form .contact-form__btn .btn .link:hover:after, #contact .contact-form .contact-form__btn .btn .clear:hover:after {
                border-color: #FFFFFF !important; }
              #contact .contact-form .contact-form__btn .btn .link:hover i,
              #contact .contact-form .contact-form__btn .btn .link:hover span, #contact .contact-form .contact-form__btn .btn .clear:hover i,
              #contact .contact-form .contact-form__btn .btn .clear:hover span {
                color: #FFFFFF !important; } }
        #contact .contact-form .contact-form__btn .btn .link:after, #contact .contact-form .contact-form__btn .btn .clear:after {
          content: '';
          display: block;
          position: absolute;
          top: 50%;
          right: 18px;
          border-top: 1px solid #212121;
          border-right: 1px solid #212121;
          width: .5em;
          height: .5em;
          -webkit-transform: translate(0, -50%) rotate(45deg);
          -ms-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg); }
          @media screen and (min-width: 769px) {
            #contact .contact-form .contact-form__btn .btn .link:after, #contact .contact-form .contact-form__btn .btn .clear:after {
              right: 28px;
              -webkit-transition: all .25s ease;
              -o-transition: all .25s ease;
              transition: all .25s ease; } }
        #contact .contact-form .contact-form__btn .btn .link > *, #contact .contact-form .contact-form__btn .btn .clear > * {
          line-height: 1; }
        #contact .contact-form .contact-form__btn .btn .link i, #contact .contact-form .contact-form__btn .btn .clear i {
          display: inline-block;
          margin: -1px 0 0 -.5em;
          font-size: 31px;
          color: #ff5555; }
          @media screen and (min-width: 769px) {
            #contact .contact-form .contact-form__btn .btn .link i, #contact .contact-form .contact-form__btn .btn .clear i {
              margin-left: 0;
              -webkit-transition: all .25s ease;
              -o-transition: all .25s ease;
              transition: all .25s ease; } }
        #contact .contact-form .contact-form__btn .btn .link span, #contact .contact-form .contact-form__btn .btn .clear span {
          font-size: 15px; }
          @media screen and (min-width: 769px) {
            #contact .contact-form .contact-form__btn .btn .link span, #contact .contact-form .contact-form__btn .btn .clear span {
              font-size: 16px;
              font-weight: bold;
              -webkit-transition: all .25s ease;
              -o-transition: all .25s ease;
              transition: all .25s ease; } }
      #contact .contact-form .contact-form__btn .btn .clear {
        cursor: pointer; }
  #contact .contact-form .contact-form__privacytext {
    overflow: hidden;
    border: solid 1px #d7d8d9;
    padding: 20px 15px;
    margin-bottom: 15px;
    overflow-y: scroll;
    max-height: 160px;
    border-radius: 5px; }
    @media screen and (min-width: 769px) {
      #contact .contact-form .contact-form__privacytext {
        padding: 30px 35px;
        margin-bottom: 25px;
        max-height: 200px; } }
    #contact .contact-form .contact-form__privacytext .title {
      font-weight: bold;
      margin-bottom: 15px;
      font-size: 13px; }
      @media screen and (min-width: 769px) {
        #contact .contact-form .contact-form__privacytext .title {
          font-size: 15px;
          margin-bottom: 20px; } }
    #contact .contact-form .contact-form__privacytext .text {
      margin-top: 10px;
      font-size: 13px; }
      @media screen and (min-width: 769px) {
        #contact .contact-form .contact-form__privacytext .text {
          font-size: 14px;
          margin-top: 20px; } }
@media screen and (min-width: 769px) {
  #contact .contact-confirm {
    width: 70%; } }
#contact .contact-privacy {
  margin-top: 50px; }
  @media screen and (min-width: 554px) {
    #contact .contact-privacy {
      margin-top: 80px; } }
  @media screen and (min-width: 769px) {
    #contact .contact-privacy {
      margin-top: 120px; } }
#contact .contact-transmit .contact-transmit__text {
  margin: 30px 0; }
  @media screen and (min-width: 554px) {
    #contact .contact-transmit .contact-transmit__text {
      margin: 60px 0; } }
  @media screen and (min-width: 769px) {
    #contact .contact-transmit .contact-transmit__text {
      margin: 120px 0; } }
  #contact .contact-transmit .contact-transmit__text p {
    line-height: 2.2;
    text-align: left; }
    @media screen and (min-width: 554px) {
      #contact .contact-transmit .contact-transmit__text p {
        text-align: center; } }
    #contact .contact-transmit .contact-transmit__text p .sm {
      display: none; }
      @media screen and (min-width: 554px) {
        #contact .contact-transmit .contact-transmit__text p .sm {
          display: inline; } }
#contact .contact-confirm .contact-privacy {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    #contact .contact-confirm .contact-privacy {
      margin-top: 60px; } }
#contact .contact-confirm .contact-form {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    #contact .contact-confirm .contact-form {
      margin-top: 60px; } }
  #contact .contact-confirm .contact-form table th {
    padding: 10px 0 5px; }
    @media screen and (min-width: 769px) {
      #contact .contact-confirm .contact-form table th {
        padding: 30px 0; } }
#contact .extra_login {
  display: block;
  width: 100%;
  text-align: center;
  padding: 20px 0 10px; }
  @media screen and (min-width: 769px) {
    #contact .extra_login {
      padding: 50px 0 20px; } }
  #contact .extra_login p {
    width: 100%;
    padding: 10px 0;
    text-align: left; }
    @media screen and (min-width: 769px) {
      #contact .extra_login p {
        text-align: center; } }
  #contact .extra_login img {
    max-width: 500px;
    cursor: pointer; }
    #contact .extra_login img:hover {
      opacity: 0.7; }
#contact .separate-line {
  display: inline-block;
  position: relative;
  width: 100%;
  border-top: 1px solid #dedede;
  margin-top: 40px; }
  #contact .separate-line .label {
    position: absolute;
    top: 0;
    color: #a0a0a0;
    transform: translateY(-50%);
    width: 60px;
    left: calc(50% - 30px);
    white-space: nowrap;
    text-align: center; }
    @media screen and (min-width: 769px) {
      #contact .separate-line .label {
        width: 80px;
        left: calc(50% - 40px); } }
    #contact .separate-line .label:before {
      position: absolute;
      z-index: -1;
      left: 0;
      bottom: 50%;
      width: 100%;
      height: 1px;
      background-color: #ffffff;
      content: ""; }

/*----------------------------------------------------
  intro（説明ページ）
----------------------------------------------------*/
#intro {
  width: 100%;
  margin-top: 40px; }
  @media screen and (min-width: 554px) {
    #intro {
      margin-top: 40px; } }
  @media screen and (min-width: 769px) {
    #intro {
      margin-top: 100px; } }
  #intro .section-header {
    width: 100%;
    text-align: center;
    font-size: 28px;
    letter-spacing: .025em; }
    @media screen and (min-width: 554px) {
      #intro .section-header {
        font-size: 31px; } }
    @media screen and (min-width: 769px) {
      #intro .section-header {
        font-size: 34px; } }
  #intro .intro-section1 {
    width: 100%;
    margin: 0 0 60px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    padding: 20px;
    background-color: #eff1ea;
    border-radius: 20px; }
    @media screen and (min-width: 769px) {
      #intro .intro-section1 {
        margin: 10px 0 60px 0;
        justify-content: center; } }
    #intro .intro-section1 .item {
      position: relative;
      display: flex;
      align-items: center;
      padding: 0 20px;
      margin: 10px 40px 10px 10px;
      color: #ffffff;
      background-color: #6a8f1b;
      font-size: 20px;
      line-height: 20px;
      height: 52px;
      max-width: 240px; }
      #intro .intro-section1 .item:before {
        position: absolute;
        top: 0;
        right: -30px;
        content: '';
        border-width: 26px 0px 26px 30px;
        border-style: solid;
        border-color: transparent transparent transparent #6a8f1b; }
    #intro .intro-section1 .arrow {
      margin: 10px;
      padding: 10px;
      color: #b95050;
      font-size: 50px; }
  #intro .intro-section2 {
    width: 100%;
    margin: 10px 0 60px 0;
    display: flex;
    flex-wrap: wrap; }
    #intro .intro-section2 .tag-area {
      width: 100%;
      background-color: #8eb115;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      flex-direction: column;
      padding: 10px 0; }
      @media screen and (min-width: 769px) {
        #intro .intro-section2 .tag-area {
          width: 40%; } }
      #intro .intro-section2 .tag-area .tag {
        color: #ffffff;
        font-size: 20px;
        font-weight: bold; }
    #intro .intro-section2 .text-area {
      width: 100%;
      display: flex;
      align-items: center;
      align-content: center;
      flex-wrap: wrap;
      border: 1px solid #8eb115;
      padding: 20px; }
      @media screen and (min-width: 769px) {
        #intro .intro-section2 .text-area {
          width: 60%;
          border-top: 1px solid #8eb115;
          border-right: 1px solid #8eb115;
          border-bottom: 1px solid #8eb115;
          border-left: none; } }
      #intro .intro-section2 .text-area .txt {
        width: 100%;
        font-size: 20px;
        font-weight: bold;
        color: #424242; }
      #intro .intro-section2 .text-area .option {
        width: 100%;
        font-size: 18px;
        font-weight: bold;
        color: #9d5d5d; }
  #intro .intro-section3 {
    width: 100%;
    margin: 10px 0 60px 0;
    display: flex;
    flex-wrap: wrap; }
    #intro .intro-section3 .title {
      width: 100%;
      font-size: 20px;
      font-weight: bold;
      color: #9d5d5d;
      text-align: center; }
    #intro .intro-section3 table {
      width: 100%; }
    #intro .intro-section3 tr {
      border-bottom: 1px solid #a99c9c;
      border-left: 1px solid #a99c9c;
      border-right: 1px solid #a99c9c; }
      #intro .intro-section3 tr:first-child {
        border-top: 1px solid #a99c9c; }
    #intro .intro-section3 th {
      padding: 20px 10px;
      text-align: center;
      background-color: #efefef;
      font-size: 20px;
      font-weight: bold; }
    #intro .intro-section3 td {
      padding: 20px 10px;
      text-align: center;
      font-size: 18px; }
      #intro .intro-section3 td:first-child {
        border-right: 1px solid #a99c9c; }
    #intro .intro-section3 .option {
      width: 100%;
      font-size: 14px;
      color: #646464; }

/*----------------------------------------------------
  challenge（先生用LP）
----------------------------------------------------*/
#challenge {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 70px; }
  #challenge .contents-nav-wrap {
    margin: 30px auto 0; }
    @media screen and (min-width: 769px) {
      #challenge .contents-nav-wrap {
        margin: 45px auto 0; } }
    #challenge .contents-nav-wrap .c-sectionheading {
      text-align: center; }
  #challenge .lp-additional {
    width: 100%;
    margin: 0 auto;
    padding: 0 10px; }
    @media screen and (min-width: 769px) {
      #challenge .lp-additional {
        padding: 0;
        width: 1200px; } }
  #challenge .intro-section {
    width: 100%;
    margin: 0;
    padding: 0 5px; }
    @media screen and (min-width: 769px) {
      #challenge .intro-section {
        padding: 0;
        width: 1200px;
        margin: 50px auto; } }
    #challenge .intro-section .intro-block {
      width: 100%;
      padding: 20px 10px;
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      justify-content: center;
      /*border-bottom: 2px solid #f7f7f7;*/
      margin-top: 0; }
      @media screen and (min-width: 554px) {
        #challenge .intro-section .intro-block {
          padding: 20px; } }
      @media screen and (min-width: 769px) {
        #challenge .intro-section .intro-block {
          padding: 20px;
          margin-top: 40px; } }
      #challenge .intro-section .intro-block:last-child {
        border-bottom: none; }
      #challenge .intro-section .intro-block img {
        max-width: 460px;
        object-fit: contain;
        margin: 10px 10px 10px 10px;
        border-radius: 10px; }
        @media screen and (min-width: 769px) {
          #challenge .intro-section .intro-block img {
            margin-bottom: 0;
            margin: 0 10px 0 10px; } }
      #challenge .intro-section .intro-block .contents {
        width: 100%;
        padding: 0 10px;
        position: relative;
        background-color: #03a9f4;
        border-radius: 10px;
        padding: 20px;
        overflow: visible; }
        @media screen and (min-width: 554px) {
          #challenge .intro-section .intro-block .contents {
            width: 100%; } }
        @media screen and (min-width: 769px) {
          #challenge .intro-section .intro-block .contents {
            width: calc(100% - 480px); } }
        #challenge .intro-section .intro-block .contents .count {
          position: absolute;
          top: -40px;
          left: calc(50% - (74px/2));
          font-size: 50px;
          line-height: 50px;
          font-weight: bold;
          font-style: italic;
          width: 74px;
          height: 74px;
          color: #03a9f4;
          background-color: #ffffff;
          border: 3px solid #03a9f4;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 50%; }
        #challenge .intro-section .intro-block .contents .title {
          color: #ffffff;
          font-size: 26px;
          font-weight: bold;
          margin-bottom: 20px;
          margin-top: 50px; }
        #challenge .intro-section .intro-block .contents .txt {
          color: #ffffff;
          font-size: 16px; }
    #challenge .intro-section .link-area {
      padding: 0 10px;
      margin-top: 15px; }
      @media screen and (min-width: 554px) {
        #challenge .intro-section .link-area {
          padding: 0 30px; } }
      @media screen and (min-width: 769px) {
        #challenge .intro-section .link-area {
          padding: 0 30px; } }
      #challenge .intro-section .link-area .link-block {
        width: 100%;
        color: #ffffff;
        color: #1a1a1a;
        background-color: #dbe3e7;
        border-radius: 10px;
        padding: 10px 10px;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        @media screen and (min-width: 554px) {
          #challenge .intro-section .link-area .link-block {
            padding: 10px 20px; } }
        @media screen and (min-width: 769px) {
          #challenge .intro-section .link-area .link-block {
            padding: 10px 20px; } }
        #challenge .intro-section .link-area .link-block .txt {
          padding-right: 10px;
          font-size: 16px;
          font-weight: bold; }
          @media screen and (min-width: 554px) {
            #challenge .intro-section .link-area .link-block .txt {
              font-size: 18px; } }
          @media screen and (min-width: 769px) {
            #challenge .intro-section .link-area .link-block .txt {
              font-size: 20px; } }
        #challenge .intro-section .link-area .link-block .btn {
          color: #ffffff;
          background-color: #03a9f4;
          padding: 5px 10px;
          white-space: nowrap;
          border-radius: 5px;
          cursor: pointer; }
          @media screen and (min-width: 769px) {
            #challenge .intro-section .link-area .link-block .btn {
              padding: 5px 30px; } }
          #challenge .intro-section .link-area .link-block .btn:hover {
            background-color: #aed500; }
  #challenge .lp-block-teacher {
    width: 100%;
    margin: 0 auto;
    padding: 0 5px; }
    @media screen and (min-width: 769px) {
      #challenge .lp-block-teacher {
        padding: 0;
        width: 1200px; } }
    #challenge .lp-block-teacher .lp-title-1 {
      width: 100%;
      padding: 10px 20px;
      font-size: 22px;
      font-weight: bold;
      border-radius: 5px;
      margin-top: 30px;
      text-align: center; }
      @media screen and (min-width: 769px) {
        #challenge .lp-block-teacher .lp-title-1 {
          font-size: 34px; } }
    #challenge .lp-block-teacher .lp-block-1 {
      margin-top: 40px;
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      border: 3px solid #dbdbdb;
      padding: 30px 10px;
      border-radius: 20px; }
      #challenge .lp-block-teacher .lp-block-1 .logo {
        width: 250px;
        max-width: 100%; }
      #challenge .lp-block-teacher .lp-block-1 .txt {
        width: 100%;
        padding: 20px 0 0 0;
        color: #646425;
        font-size: 20px;
        font-weight: bold;
        text-align: center; }
        @media screen and (min-width: 769px) {
          #challenge .lp-block-teacher .lp-block-1 .txt {
            width: calc(100% - 500px);
            padding: 0 0 0 20px;
            font-size: 36px; } }
    #challenge .lp-block-teacher .lp-block-2 {
      margin-top: 70px;
      width: 100%; }
      #challenge .lp-block-teacher .lp-block-2 .title {
        width: 100%;
        padding: 10px;
        background-color: #03a9f4;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px; }
        #challenge .lp-block-teacher .lp-block-2 .title .ico {
          font-size: 34px;
          color: #ffffff;
          padding-bottom: 2px; }
        #challenge .lp-block-teacher .lp-block-2 .title .txt {
          color: #ffffff;
          font-size: 26px;
          font-weight: bold;
          line-height: 26px;
          padding-left: 20px; }
      #challenge .lp-block-teacher .lp-block-2 .contents-area {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center; }
        #challenge .lp-block-teacher .lp-block-2 .contents-area .block {
          width: 100%;
          display: flex;
          align-items: center;
          margin: 10px 0;
          background-color: #e1f6ff;
          border: 3px solid #cee8f3;
          border-radius: 10px; }
          #challenge .lp-block-teacher .lp-block-2 .contents-area .block .number {
            font-size: 60px;
            text-align: center;
            width: 70px;
            color: #0ab0ff; }
            @media screen and (min-width: 769px) {
              #challenge .lp-block-teacher .lp-block-2 .contents-area .block .number {
                width: 100px; } }
          #challenge .lp-block-teacher .lp-block-2 .contents-area .block .contents {
            width: calc(100% - 70px);
            display: flex;
            flex-wrap: wrap;
            font-size: 20px;
            font-weight: bold; }
            @media screen and (min-width: 769px) {
              #challenge .lp-block-teacher .lp-block-2 .contents-area .block .contents {
                width: calc(100% - 100px); } }
    #challenge .lp-block-teacher .lp-block-3 {
      margin-top: 70px;
      width: 100%; }
      #challenge .lp-block-teacher .lp-block-3 .title-area {
        display: flex;
        flex-wrap: wrap; }
        #challenge .lp-block-teacher .lp-block-3 .title-area .tag {
          width: 200px;
          color: #ffffff;
          background-color: #8eb115;
          font-size: 20px;
          font-weight: bold;
          display: flex;
          align-items: center;
          justify-content: center; }
        #challenge .lp-block-teacher .lp-block-3 .title-area .title {
          width: 100%;
          border: 1px solid #8eb115;
          padding: 20px;
          font-size: 20px;
          font-weight: bold;
          color: #424242; }
          @media screen and (min-width: 769px) {
            #challenge .lp-block-teacher .lp-block-3 .title-area .title {
              width: calc(100% - 200px);
              border-top: 1px solid #8eb115;
              border-right: 1px solid #8eb115;
              border-bottom: 1px solid #8eb115;
              border-left: none; } }
      #challenge .lp-block-teacher .lp-block-3 .contents-area {
        width: 100%;
        position: relative; }
        #challenge .lp-block-teacher .lp-block-3 .contents-area .block {
          width: 100%;
          display: flex;
          align-items: center;
          margin: 10px 0; }
          #challenge .lp-block-teacher .lp-block-3 .contents-area .block .number {
            font-size: 60px;
            text-align: center;
            width: 70px;
            color: #ff7676; }
            @media screen and (min-width: 769px) {
              #challenge .lp-block-teacher .lp-block-3 .contents-area .block .number {
                width: 100px; } }
          #challenge .lp-block-teacher .lp-block-3 .contents-area .block .contents {
            width: calc(100% - 50px);
            display: flex;
            flex-wrap: wrap; }
            #challenge .lp-block-teacher .lp-block-3 .contents-area .block .contents .title {
              width: 100%;
              font-size: 20px;
              font-weight: bold; }
            #challenge .lp-block-teacher .lp-block-3 .contents-area .block .contents .txt {
              width: 100%;
              font-size: 16px; }
        #challenge .lp-block-teacher .lp-block-3 .contents-area .arrow {
          display: none;
          position: absolute;
          width: 78px;
          right: 80px;
          top: 46px; }
          @media screen and (min-width: 769px) {
            #challenge .lp-block-teacher .lp-block-3 .contents-area .arrow {
              display: block; } }
    #challenge .lp-block-teacher .lp-block-4 {
      width: 100%;
      margin-top: 50px;
      display: flex;
      justify-content: center;
      align-items: stretch;
      flex-wrap: wrap; }
      @media screen and (min-width: 769px) {
        #challenge .lp-block-teacher .lp-block-4 {
          justify-content: space-between; } }
      #challenge .lp-block-teacher .lp-block-4 .txt-area {
        display: flex;
        flex-wrap: wrap;
        align-content: stretch;
        border: 1px solid #cdcdb4;
        width: 100%; }
        @media screen and (min-width: 769px) {
          #challenge .lp-block-teacher .lp-block-4 .txt-area {
            width: calc(100% - 160px); } }
        #challenge .lp-block-teacher .lp-block-4 .txt-area .txt-block {
          width: 100%;
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          align-content: center;
          border-top: 1px solid #cdcdb4; }
          #challenge .lp-block-teacher .lp-block-4 .txt-area .txt-block:first-child {
            border: 0;
            background-color: #ededdf; }
          #challenge .lp-block-teacher .lp-block-4 .txt-area .txt-block .txt {
            width: 100%;
            font-size: 16px;
            line-height: 20px;
            padding: 5px 0;
            text-align: center;
            overflow: hidden; }
            @media screen and (min-width: 769px) {
              #challenge .lp-block-teacher .lp-block-4 .txt-area .txt-block .txt {
                font-size: 20px; } }
          #challenge .lp-block-teacher .lp-block-4 .txt-area .txt-block .link {
            width: 100%;
            font-size: 16px;
            line-height: 20px;
            padding: 5px 0;
            text-align: center;
            overflow: hidden;
            cursor: pointer; }
            @media screen and (min-width: 769px) {
              #challenge .lp-block-teacher .lp-block-4 .txt-area .txt-block .link {
                font-size: 20px; } }
            #challenge .lp-block-teacher .lp-block-4 .txt-area .txt-block .link:hover {
              color: #ff9800; }
      #challenge .lp-block-teacher .lp-block-4 .qr-code {
        width: 150px;
        height: 150px;
        object-fit: contain;
        border: 1px solid #cdcdb4;
        margin: 10px 0 0 0; }
        @media screen and (min-width: 769px) {
          #challenge .lp-block-teacher .lp-block-4 .qr-code {
            margin: 0 0 0 10px; } }
    #challenge .lp-block-teacher .lp-block-5 {
      margin-top: 70px;
      width: 100%; }
      #challenge .lp-block-teacher .lp-block-5 .title {
        width: 100%;
        padding: 10px;
        background-color: #03a9f4;
        display: flex;
        align-items: center;
        justify-content: center; }
        #challenge .lp-block-teacher .lp-block-5 .title .ico {
          font-size: 34px;
          color: #ffffff;
          padding-bottom: 2px; }
        #challenge .lp-block-teacher .lp-block-5 .title .txt {
          color: #ffffff;
          font-size: 26px;
          font-weight: bold;
          line-height: 26px;
          padding-left: 20px; }
      #challenge .lp-block-teacher .lp-block-5 .contents {
        width: 100%;
        font-size: 20px;
        font-weight: bold;
        margin-top: 15px; }
    #challenge .lp-block-teacher .lp-block-link-1 {
      width: 100%;
      padding: 10px 0;
      font-size: 22px;
      font-weight: bold;
      color: #ffffff;
      background: linear-gradient(119deg, #8d4e7b, #5e274e);
      border: 2px solid #ffffff;
      box-shadow: 0px 0px 0px 2px #8d4e7b;
      border-radius: 10px;
      cursor: pointer;
      margin-top: 40px;
      text-align: center; }
      #challenge .lp-block-teacher .lp-block-link-1:hover {
        background: linear-gradient(119deg, #fd3a7c, #a31948);
        box-shadow: 0px 0px 0px 2px #fd3a7c; }

/*----------------------------------------------------
  news
----------------------------------------------------*/
#news .news-list {
  display: inline-block;
  width: 100%;
  min-height: 300px; }
  #news .news-list .item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    cursor: pointer;
    padding: 20px 10px;
    border-bottom: 1px solid #eeeeee; }
    #news .news-list .item:hover {
      opacity: 0.7; }
    #news .news-list .item .date {
      width: 100%;
      text-align: left;
      font-weight: bold;
      color: #0070b1; }
      @media screen and (min-width: 554px) {
        #news .news-list .item .date {
          width: 150px;
          text-align: center; } }
      @media screen and (min-width: 769px) {
        #news .news-list .item .date {
          width: 150px;
          text-align: center; } }
    #news .news-list .item .type {
      width: 75px;
      color: #ffffff;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center; }
    #news .news-list .item .type-student {
      background-color: #2fb0dd; }
    #news .news-list .item .type-teacher {
      background-color: #ff9800; }
    #news .news-list .item .title {
      width: calc(100% - 75px);
      padding-left: 10px; }
      @media screen and (min-width: 554px) {
        #news .news-list .item .title {
          width: calc(100% - 225px); } }
      @media screen and (min-width: 769px) {
        #news .news-list .item .title {
          width: calc(100% - 225px); } }
#news .news-detail {
  display: inline-block;
  width: 100%;
  padding: 20px 10px 10px 10px; }
  @media screen and (min-width: 554px) {
    #news .news-detail {
      padding: 20px; } }
  @media screen and (min-width: 769px) {
    #news .news-detail {
      padding: 30px; } }
  #news .news-detail .type {
    display: inline-block; }
    #news .news-detail .type .type-student, #news .news-detail .type .type-teacher {
      padding: 5px 20px;
      color: #ffffff;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      line-height: 14px; }
    #news .news-detail .type .type-student {
      background-color: #2fb0dd; }
    #news .news-detail .type .type-teacher {
      background-color: #ff9800; }
  #news .news-detail .title {
    display: inline-block;
    width: 100%;
    font-size: 22px;
    font-weight: bold;
    padding: 5px 0 20px 0; }
  #news .news-detail .date {
    display: inline-block;
    width: 100%;
    text-align: right;
    color: #b56a0d;
    padding: 5px;
    font-weight: bold; }
  #news .news-detail .contents {
    display: inline-block;
    width: 100%;
    white-space: pre-wrap;
    line-height: 30px; }
  #news .news-detail .news-img {
    text-align: center;
    padding: 30px 0 0 0; }
    @media screen and (min-width: 554px) {
      #news .news-detail .news-img {
        padding: 30px 5px 5px 5px; } }
    @media screen and (min-width: 769px) {
      #news .news-detail .news-img {
        padding: 30px 10px 10px 10px; } }
    #news .news-detail .news-img img {
      width: auto;
      max-width: 100%; }

/*----------------------------------------------------
  about
----------------------------------------------------*/
#about .about-list {
  padding: 40px 0 40px;
  background-color: #f7f8f9; }
  @media screen and (min-width: 769px) {
    #about .about-list {
      padding: 110px 0 120px; } }
  #about .about-list .item {
    background-color: #FFFFFF; }

/*----------------------------------------------------
  question
----------------------------------------------------*/
@media screen and (min-width: 769px) {
  #question .visual {
    margin: 65px auto;
    padding: 0 30px;
    width: 1260px; } }
#question .ok {
  padding: 50px 0; }
  @media screen and (min-width: 554px) {
    #question .ok {
      padding: 60px 0; } }
  @media screen and (min-width: 769px) {
    #question .ok {
      padding: 70px 0; } }
  #question .ok .ok-list {
    margin-top: 50px; }
    @media screen and (min-width: 554px) {
      #question .ok .ok-list {
        margin-top: 60px; } }
    @media screen and (min-width: 769px) {
      #question .ok .ok-list {
        margin-top: 70px; } }
    #question .ok .ok-list .item {
      position: relative; }
      #question .ok .ok-list .item:after {
        content: '';
        position: absolute;
        top: -15px;
        right: 0;
        z-index: 5;
        width: 45px;
        height: 45px;
        background: url(/assets/front/img/about/question-ok.png) no-repeat center center/100% auto; }
        @media screen and (min-width: 554px) {
          #question .ok .ok-list .item:after {
            top: -10px;
            right: -10px;
            width: 40px;
            height: 40px; } }
        @media screen and (min-width: 769px) {
          #question .ok .ok-list .item:after {
            top: -27px;
            right: -27px;
            width: 55px;
            height: 55px; } }
    #question .ok .ok-list .ok-list__text {
      margin-top: .8em;
      text-align: center;
      font-size: 13px; }
      @media screen and (min-width: 554px) {
        #question .ok .ok-list .ok-list__text {
          font-size: 14px; } }
      @media screen and (min-width: 769px) {
        #question .ok .ok-list .ok-list__text {
          font-size: 16px; } }
#question .buy {
  padding: 50px 0;
  background-color: #f7f8f9; }
  @media screen and (min-width: 554px) {
    #question .buy {
      padding: 60px 0; } }
  @media screen and (min-width: 769px) {
    #question .buy {
      padding: 70px 0; } }
  #question .buy .buy-heading {
    line-height: 1.4; }
    @media screen and (min-width: 769px) {
      #question .buy .buy-heading {
        line-height: 1; } }
  #question .buy .buy-list {
    margin-top: 50px; }
    @media screen and (min-width: 554px) {
      #question .buy .buy-list {
        margin-top: 60px; } }
    @media screen and (min-width: 769px) {
      #question .buy .buy-list {
        margin-top: 70px; } }
    #question .buy .buy-list .buy-list__item {
      background-color: #FFFFFF;
      -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
      box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04); }
      #question .buy .buy-list .buy-list__item:nth-child(n+2) {
        margin-top: 20px; }
      @media screen and (min-width: 769px) {
        #question .buy .buy-list .buy-list__item:nth-child(n+2) {
          margin-top: 0; }
        #question .buy .buy-list .buy-list__item:nth-child(n+4) {
          margin-top: 40px; } }
      #question .buy .buy-list .buy-list__item .buy-list__inner {
        background-color: #FFFFFF; }
      #question .buy .buy-list .buy-list__item .buy-list__box {
        padding: 20px 14px; }
        @media screen and (min-width: 769px) {
          #question .buy .buy-list .buy-list__item .buy-list__box {
            padding: 35px; } }
        #question .buy .buy-list .buy-list__item .buy-list__box .buy-list__heading {
          margin-bottom: 15px;
          font-size: 16px;
          line-height: 1;
          font-weight: bold; }
          @media screen and (min-width: 769px) {
            #question .buy .buy-list .buy-list__item .buy-list__box .buy-list__heading {
              margin-bottom: 20px;
              font-size: 20px; } }
      #question .buy .buy-list .buy-list__item .buy-list__text {
        font-size: 13px; }
        @media screen and (min-width: 769px) {
          #question .buy .buy-list .buy-list__item .buy-list__text {
            font-size: 14px; } }

/*----------------------------------------------------
  faq
----------------------------------------------------*/
#faq .mainvis {
  border-bottom: 1px solid #eee; }
  #faq .mainvis .c-container {
    padding: 0; }
#faq .c-tabmenu .c-tabmenu__tab {
  margin: 30px auto; }
#faq .c-tabmenu .c-tabmenu__content .faq-item__sec {
  margin-top: 20px; }
  #faq .c-tabmenu .c-tabmenu__content .faq-item__sec:first-child {
    margin-top: 0; }
#faq .c-tabmenu .c-tabmenu__content .c-block-title {
  margin-bottom: 20px; }
@media screen and (min-width: 769px) {
  #faq .c-tabmenu .c-tabmenu__tab {
    margin: 40px auto; }
  #faq .c-tabmenu .c-tabmenu__content .faq-item__sec {
    margin-top: 35px; }
    #faq .c-tabmenu .c-tabmenu__content .faq-item__sec:first-child {
      margin-top: 0; }
  #faq .c-tabmenu .c-tabmenu__content .c-block-title {
    margin-bottom: 35px; } }
#faq .c-block-bordertext {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    #faq .c-block-bordertext {
      margin-top: 60px; } }

/*----------------------------------------------------
  privacypollicy
----------------------------------------------------*/
#privacypollicy .md {
  display: inline; }
  @media screen and (min-width: 769px) {
    #privacypollicy .md {
      display: none; } }
#privacypollicy .sec-second .c-section-title {
  margin-top: 40px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .sec-second .c-section-title {
      margin-top: 90px; } }
@media screen and (min-width: 769px) {
  #privacypollicy .c-block-image {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; } }
#privacypollicy .c-block-image .c-block-image__img {
  float: left;
  margin: 0 20px 0 0;
  width: 60px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .c-block-image .c-block-image__img {
      margin: 0;
      width: 70px;
      float: none; } }
#privacypollicy .c-block-image .c-block-image__text {
  width: 100%; }
  @media screen and (min-width: 769px) {
    #privacypollicy .c-block-image .c-block-image__text {
      width: calc(100% - 110px); } }
  #privacypollicy .c-block-image .c-block-image__text .text {
    margin-top: 0; }
#privacypollicy .privacypolicy-lead {
  margin: 25px 0; }
  @media screen and (min-width: 769px) {
    #privacypollicy .privacypolicy-lead {
      margin: 40px 0; } }
#privacypollicy .privacypolicy-list {
  counter-reset: privacynum 0;
  margin-top: 15px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .privacypolicy-list {
      margin-top: 30px; } }
  #privacypollicy .privacypolicy-list .privacypolicy-list__item {
    line-height: 1.6;
    position: relative;
    padding: 0 0 15px 1.5em; }
    @media screen and (min-width: 769px) {
      #privacypollicy .privacypolicy-list .privacypolicy-list__item {
        line-height: 2.0;
        padding: 0 0 20px 1.5em; } }
  #privacypollicy .privacypolicy-list .privacypolicy-list__item-no_padding {
    line-height: 1.6;
    position: relative;
    padding: 0 0 0 1.5em; }
    @media screen and (min-width: 769px) {
      #privacypollicy .privacypolicy-list .privacypolicy-list__item-no_padding {
        line-height: 2.0;
        padding: 0 0 0 1.5em; } }
  #privacypollicy .privacypolicy-list .child {
    padding-left: 10px; }
    @media screen and (min-width: 769px) {
      #privacypollicy .privacypolicy-list .child {
        padding-left: 30px; } }
#privacypollicy .privacypolicy-list2 {
  counter-reset: number 0;
  margin-top: 10px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .privacypolicy-list2 {
      margin-top: 15px; } }
  #privacypollicy .privacypolicy-list2 li {
    position: relative;
    padding: 0 0 6px 1.5em; }
    #privacypollicy .privacypolicy-list2 li::after {
      counter-increment: number 1;
      /* number カウンタの増加数をセット */
      content: counter(number) ".";
      /* 表示形式を指定 */
      position: absolute;
      left: 0;
      top: 0.5em;
      line-height: 1.0; }
    @media screen and (min-width: 554px) {
      #privacypollicy .privacypolicy-list2 li {
        margin-left: 10px; } }
    @media screen and (min-width: 769px) {
      #privacypollicy .privacypolicy-list2 li {
        margin-left: 20px; } }
#privacypollicy .privacypolicy-field__signature {
  text-align: right;
  line-height: 1.6;
  margin-top: 10px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .privacypolicy-field__signature {
      margin-top: 0;
      line-height: 2.0; } }
  #privacypollicy .privacypolicy-field__signature span {
    display: none; }
    @media screen and (min-width: 769px) {
      #privacypollicy .privacypolicy-field__signature span {
        display: inline; } }
#privacypollicy .privacypolicy-field__link {
  margin-top: 30px; }
#privacypollicy .item {
  margin: 15px 0 40px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .item {
      margin: 30px 0 70px; } }
  #privacypollicy .item .bold {
    font-weight: bold;
    margin: 15px 0 10px; }
    @media screen and (min-width: 769px) {
      #privacypollicy .item .bold {
        margin: 20px 0 15px; } }
  #privacypollicy .item h4 {
    margin-bottom: 10px; }
    @media screen and (min-width: 769px) {
      #privacypollicy .item h4 {
        margin-bottom: 15px; } }
  #privacypollicy .item:last-child {
    margin: 30px 0 0; }
#privacypollicy .privacycontact {
  margin-top: 0;
  padding-top: 15px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .privacycontact {
      padding-top: 30px; } }
#privacypollicy .c-table th {
  font-weight: normal;
  padding: 10px;
  width: 40%; }
  @media screen and (min-width: 769px) {
    #privacypollicy .c-table th {
      padding: 20px 0 20px 30px;
      width: 550px; } }
#privacypollicy .c-table td {
  padding: 10px;
  width: 60%; }
  @media screen and (min-width: 769px) {
    #privacypollicy .c-table td {
      width: calc(100% - 550px);
      padding: 20px 0 20px 30px; } }
#privacypollicy .c-table th, #privacypollicy .c-table td {
  display: table-cell;
  border: solid 1px #ccc;
  font-size: 14px; }
  @media screen and (min-width: 769px) {
    #privacypollicy .c-table th, #privacypollicy .c-table td {
      font-size: 15px; } }
#privacypollicy .c-table .head {
  background: #f7f8f9; }
  #privacypollicy .c-table .head th, #privacypollicy .c-table .head td {
    font-weight: bold; }

/*----------------------------------------------------
  company
----------------------------------------------------*/
#company .company-title {
  font-size: 18px;
  font-weight: bold; }
  #company .company-title span {
    font-size: 12px; }
  @media screen and (min-width: 554px) {
    #company .company-title span {
      font-size: 15px; } }
  @media screen and (min-width: 769px) {
    #company .company-title {
      font-weight: normal;
      font-size: 24px; }
      #company .company-title span {
        font-size: 18px; } }
#company .message {
  padding: 30px 0; }
  @media screen and (min-width: 769px) {
    #company .message {
      padding: 90px 0; } }
  #company .message .company-title {
    text-align: center;
    padding: 10px 0; }
    @media screen and (min-width: 769px) {
      #company .message .company-title {
        text-align: left;
        padding: 0; } }
  #company .message .text {
    margin-top: 20px; }
    #company .message .text p {
      line-height: 1.8;
      margin-bottom: 15px; }
      #company .message .text p:last-child {
        margin-bottom: 0; }
    @media screen and (min-width: 769px) {
      #company .message .text {
        margin-top: 50px; }
        #company .message .text p {
          line-height: 2.0;
          margin-bottom: 30px; }
          #company .message .text p:last-child {
            margin-bottom: 0; } }
  #company .message .message-mainvis {
    margin: 20px 0;
    position: relative; }
    @media screen and (min-width: 769px) {
      #company .message .message-mainvis {
        margin: 80px 0; } }
    #company .message .message-mainvis .image-pc {
      display: none; }
      @media screen and (min-width: 769px) {
        #company .message .message-mainvis .image-pc {
          display: block;
          height: 600px;
          width: auto;
          background: url(/assets/front/img/about/about-companyimage-1.jpg);
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat; } }
    @media screen and (min-width: 769px) {
      #company .message .message-mainvis .image-sp {
        display: none; } }
  #company .message .c-section-title {
    margin-top: 20px; }
    @media screen and (min-width: 769px) {
      #company .message .c-section-title {
        margin-top: 30px; } }
  #company .message .message-text {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 20px auto 30px; }
    #company .message .message-text .message-text__block {
      width: 100%; }
      #company .message .message-text .message-text__block p {
        line-height: 1.8; }
    @media screen and (min-width: 769px) {
      #company .message .message-text {
        margin: 30px -30px 70px; }
        #company .message .message-text .message-text__block {
          width: 50%;
          padding: 0 30px; }
          #company .message .message-text .message-text__block p {
            line-height: 2.0; } }
#company .ci {
  padding: 30px 0; }
  @media screen and (min-width: 769px) {
    #company .ci {
      padding: 110px 0; } }
  #company .ci .company-title {
    padding: 10px 0; }
    @media screen and (min-width: 769px) {
      #company .ci .company-title {
        padding: 0; } }
  #company .ci .c-block-image {
    margin: 0 auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    #company .ci .c-block-image .c-block-image__img {
      max-width: 269px; }
      @media screen and (min-width: 769px) {
        #company .ci .c-block-image .c-block-image__img {
          max-width: 300px; } }
    @media screen and (min-width: 769px) {
      #company .ci .c-block-image .c-block-image__text .text {
        margin-top: 30px; } }
#company .ci-agency {
  padding: 30px 0; }
  @media screen and (min-width: 769px) {
    #company .ci-agency {
      padding: 40px 0 0 0; } }
  #company .ci-agency .text {
    white-space: pre-line; }
#company .businessarea {
  padding: 30px 0;
  background: #f7f8f9; }
  @media screen and (min-width: 769px) {
    #company .businessarea {
      padding: 110px 0; } }
  #company .businessarea .company-title {
    padding: 10px 0; }
    @media screen and (min-width: 769px) {
      #company .businessarea .company-title {
        padding: 0; } }
  #company .businessarea .c-block-image {
    margin: 0 auto; }
    @media screen and (min-width: 769px) {
      #company .businessarea .c-block-image {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-flow: row-reverse;
        -ms-flex-flow: row-reverse;
        flex-flow: row-reverse;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center; } }
    @media screen and (min-width: 769px) {
      #company .businessarea .c-block-image .c-block-image__text .text {
        margin-top: 30px; } }
    #company .businessarea .c-block-image .c-block-image__img {
      max-width: 320px; }
      @media screen and (min-width: 769px) {
        #company .businessarea .c-block-image .c-block-image__img {
          max-width: 500px; } }
#company .company-table {
  margin-bottom: 30px; }
  @media screen and (min-width: 769px) {
    #company .company-table {
      margin-bottom: 0; } }
  #company .company-table .c-section-title span {
    font-size: 13px; }
    @media screen and (min-width: 554px) {
      #company .company-table .c-section-title span {
        font-size: 15px; } }
    @media screen and (min-width: 769px) {
      #company .company-table .c-section-title span {
        font-size: 18px; } }
  #company .company-table .company-table__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto; }
    #company .company-table .company-table__inner .c-table {
      width: 100%;
      margin: 0; }
      #company .company-table .company-table__inner .c-table table {
        border: none; }
        #company .company-table .company-table__inner .c-table table a {
          margin-bottom: 5px; }
        #company .company-table .company-table__inner .c-table table th {
          display: table-cell;
          width: 75px; }
        #company .company-table .company-table__inner .c-table table td {
          display: table-cell;
          width: calc(100% - 75px);
          padding: 10px 0 10px 10px; }
    @media screen and (min-width: 554px) {
      #company .company-table .company-table__inner .c-table table th {
        width: 120px; }
      #company .company-table .company-table__inner .c-table table td {
        width: calc(100% - 120px); } }
    @media screen and (min-width: 769px) {
      #company .company-table .company-table__inner {
        margin: 0 -30px; }
        #company .company-table .company-table__inner .c-table {
          width: 50%;
          padding: 0 30px;
          margin: 30px 0 70px; }
          #company .company-table .company-table__inner .c-table table th {
            width: 130px; }
          #company .company-table .company-table__inner .c-table table td {
            width: calc(100% - 130px); } }
#company .motto {
  background: #f7f8f9;
  padding: 30px 0 0; }
  @media screen and (min-width: 769px) {
    #company .motto {
      padding: 110px 0 0; } }
  #company .motto .motto__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    counter-reset: number 0; }
    @media screen and (min-width: 554px) {
      #company .motto .motto__list {
        margin: 0 -1.25%; } }
    @media screen and (min-width: 769px) {
      #company .motto .motto__list {
        margin: 30px -30px 0; } }
    #company .motto .motto__list .motto__item {
      width: 100%;
      margin: 20px 0 0;
      background: #FFFFFF;
      -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
      box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05); }
      @media screen and (min-width: 554px) {
        #company .motto .motto__list .motto__item {
          width: 47.5%;
          margin: 20px 1.25% 0; } }
      @media screen and (min-width: 769px) {
        #company .motto .motto__list .motto__item {
          width: 360px;
          margin: 30px 30px 0; } }
      #company .motto .motto__list .motto__item .title {
        padding: 45px 0 20px 45px;
        position: relative;
        overflow: hidden; }
        #company .motto .motto__list .motto__item .title .num {
          display: block;
          width: 90px;
          height: 90px;
          background: #ffa000;
          position: absolute;
          left: -45px;
          top: -45px;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
          #company .motto .motto__list .motto__item .title .num::after {
            position: absolute;
            counter-increment: number 1;
            /* number カウンタの増加数をセット */
            content: counter(number) " ";
            /* 表示形式を指定 */
            color: #FFFFFF;
            position: absolute;
            font-size: 18px;
            font-weight: bold;
            bottom: 28px;
            right: 12px;
            -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
        @media screen and (min-width: 769px) {
          #company .motto .motto__list .motto__item .title {
            padding: 50px 0 30px 55px; }
            #company .motto .motto__list .motto__item .title .num {
              width: 110px;
              height: 110px;
              left: -55px;
              top: -55px; }
              #company .motto .motto__list .motto__item .title .num::after {
                font-size: 20px;
                bottom: 36px;
                right: 15px; } }
      #company .motto .motto__list .motto__item ul li {
        margin-bottom: 5px;
        font-size: 14px; }
        @media screen and (min-width: 769px) {
          #company .motto .motto__list .motto__item ul li {
            font-size: 15px; } }
        #company .motto .motto__list .motto__item ul li span {
          padding-right: 10px; }
      #company .motto .motto__list .motto__item p {
        line-height: 2.0; }
      #company .motto .motto__list .motto__item ul, #company .motto .motto__list .motto__item p {
        padding: 0 15px 45px 45px; }
        @media screen and (min-width: 554px) {
          #company .motto .motto__list .motto__item ul, #company .motto .motto__list .motto__item p {
            padding: 0 20px 25px 45px; } }
        @media screen and (min-width: 769px) {
          #company .motto .motto__list .motto__item ul, #company .motto .motto__list .motto__item p {
            padding: 0 40px 50px 55px; } }
#company .spirit {
  background: #f7f8f9;
  padding: 30px 0 30px; }
  @media screen and (min-width: 769px) {
    #company .spirit {
      padding: 110px 0; } }
  #company .spirit .spirit__list ul li {
    text-align: center;
    margin-bottom: 10px;
    font-size: 11px; }
    #company .spirit .spirit__list ul li:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 554px) {
      #company .spirit .spirit__list ul li {
        font-size: 14px; } }
    @media screen and (min-width: 769px) {
      #company .spirit .spirit__list ul li {
        margin-bottom: 20px;
        font-size: 16px; } }
  #company .spirit .spirit-wrap {
    background: #FFFFFF;
    -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.04);
    padding: 20px 15px;
    margin-top: 20px; }
    @media screen and (min-width: 769px) {
      #company .spirit .spirit-wrap {
        padding: 60px;
        margin-top: 60px; } }
#company .motto .company-title, #company .spirit .company-title {
  text-align: center; }
#company .information dl {
  width: 100%;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  #company .information dl dt {
    width: 100%; }
  #company .information dl dd {
    width: 100%;
    margin-bottom: 6px; }
    #company .information dl dd:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 769px) {
    #company .information dl {
      margin-bottom: 30px; }
      #company .information dl dt {
        width: 150px; }
      #company .information dl dd {
        width: calc(100% - 150px); } }
@media screen and (min-width: 769px) {
  #company .information .c-section-title, #company .company-table .c-section-title {
    font-weight: normal; } }

/*----------------------------------------------------
  sitemap
----------------------------------------------------*/
#sitemap .sitemap-navlist {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    #sitemap .sitemap-navlist {
      margin-top: 80px; } }
  #sitemap .sitemap-navlist .sitemap-navlist__list a {
    display: inline-block;
    line-height: 1.5;
    margin-top: 0; }
    #sitemap .sitemap-navlist .sitemap-navlist__list a::before {
      top: 0.75em; }
  #sitemap .sitemap-navlist .sitemap-navlist__list h3 {
    margin-top: 30px;
    font-size: 16px;
    padding: 10px 15px;
    font-weight: normal;
    border: solid 1px #d7d8d9; }
    #sitemap .sitemap-navlist .sitemap-navlist__list h3 .m-link-arw {
      text-decoration: none; }
    @media screen and (min-width: 769px) {
      #sitemap .sitemap-navlist .sitemap-navlist__list h3 {
        font-size: 18px;
        padding: 20px 20px; } }
  #sitemap .sitemap-navlist .sitemap-navlist__list h4 {
    margin-top: 15px;
    font-weight: normal;
    padding-bottom: 0;
    border-bottom: solid 1px #eee;
    padding-left: 15px; }
    @media screen and (min-width: 769px) {
      #sitemap .sitemap-navlist .sitemap-navlist__list h4 {
        margin-top: 39px;
        padding-bottom: 5px;
        padding-left: 20px; } }
  #sitemap .sitemap-navlist .sitemap-navlist__list .c-shoplist {
    margin-top: 0; }
  #sitemap .sitemap-navlist .sitemap-navlist__list .child {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 10px; }
    @media screen and (min-width: 769px) {
      #sitemap .sitemap-navlist .sitemap-navlist__list .child {
        margin-top: 20px; } }
    #sitemap .sitemap-navlist .sitemap-navlist__list .child li {
      width: 50%;
      padding: 0 15px;
      margin: 2px 0; }
      #sitemap .sitemap-navlist .sitemap-navlist__list .child li a {
        font-size: 13px; }
      @media screen and (min-width: 554px) {
        #sitemap .sitemap-navlist .sitemap-navlist__list .child li {
          width: 33.3%; } }
      @media screen and (min-width: 769px) {
        #sitemap .sitemap-navlist .sitemap-navlist__list .child li {
          width: 25%;
          padding: 0 20px;
          margin: 5px 0; }
          #sitemap .sitemap-navlist .sitemap-navlist__list .child li a {
            font-size: 15px; } }
    #sitemap .sitemap-navlist .sitemap-navlist__list .child li.area {
      width: 100%;
      margin: 30px 0 10px; }
      #sitemap .sitemap-navlist .sitemap-navlist__list .child li.area a {
        font-weight: bold; }
      @media screen and (min-width: 769px) {
        #sitemap .sitemap-navlist .sitemap-navlist__list .child li.area {
          margin: 15px 0 6px; } }
    #sitemap .sitemap-navlist .sitemap-navlist__list .child li.area:first-child {
      margin: 10px 0 10px; }

/*----------------------------------------------------
  login
----------------------------------------------------*/
#login .c-pagetitle span {
  display: inline-block;
  background: #ff6666;
  font-weight: bold;
  margin: 5px 0 0;
  padding: 5px 12px;
  color: #FFFFFF;
  min-width: 260px;
  font-size: 18px;
  border-radius: 4px; }
  @media screen and (min-width: 769px) {
    #login .c-pagetitle span {
      min-width: 360px;
      font-size: 24px; } }
#login .login-link {
  margin: 30px 0 0;
  text-align: center; }
  @media screen and (min-width: 769px) {
    #login .login-link {
      margin: 40px 0 0;
      text-align: center; } }
  #login .login-link p {
    display: inline-flex;
    line-height: 1.8; }
    @media screen and (min-width: 554px) {
      #login .login-link p {
        text-align: center; } }
    @media screen and (min-width: 769px) {
      #login .login-link p {
        line-height: 2.0; } }
#login .login-area {
  width: 100%;
  display: inline-block;
  text-align: center;
  margin: 20px 0; }
  #login .login-area .login-form {
    width: 100%;
    display: inline-block;
    background-color: #eeeeee;
    border-radius: 20px;
    padding: 30px 20px; }
    @media screen and (min-width: 554px) {
      #login .login-area .login-form {
        width: 500px; } }
    @media screen and (min-width: 769px) {
      #login .login-area .login-form {
        width: 600px; } }
    #login .login-area .login-form .logo-area {
      width: 100%;
      text-align: center; }
      #login .login-area .login-form .logo-area .logo {
        font-size: 90px;
        color: #7b9080; }
        @media screen and (min-width: 769px) {
          #login .login-area .login-form .logo-area .logo {
            font-size: 120px; } }
    #login .login-area .login-form .input-area {
      width: 100%;
      display: inline-block;
      padding: 5px 0; }
      @media screen and (min-width: 769px) {
        #login .login-area .login-form .input-area {
          width: 75%;
          float: left; } }
      #login .login-area .login-form .input-area .input-block {
        width: 100%;
        display: inline-block; }
        #login .login-area .login-form .input-area .input-block .title {
          font-size: 16px;
          width: 32%;
          float: left;
          white-space: nowrap;
          padding-top: 7px;
          color: #666666; }
          @media screen and (min-width: 769px) {
            #login .login-area .login-form .input-area .input-block .title {
              font-size: 18px; } }
          @media screen and (min-width: 554px) {
            #login .login-area .login-form .input-area .input-block .title {
              width: 28%; } }
        #login .login-area .login-form .input-area .input-block .write {
          width: 68%;
          float: left;
          padding-right: 10px; }
          @media screen and (min-width: 554px) {
            #login .login-area .login-form .input-area .input-block .write {
              width: 72%;
              padding-right: 10px; } }
          @media screen and (min-width: 769px) {
            #login .login-area .login-form .input-area .input-block .write {
              padding-right: 0; } }
      #login .login-area .login-form .input-area input {
        padding: 2px 10px;
        width: 100%;
        border: 1px solid #d7d8d9;
        border-radius: 5px;
        font-size: 22px;
        /*font-weight: bold;*/ }
    #login .login-area .login-form .btn-area {
      width: 100%;
      display: inline-block;
      padding-top: 5px; }
      @media screen and (min-width: 769px) {
        #login .login-area .login-form .btn-area {
          width: 25%;
          float: left;
          text-align: center;
          padding-top: 20px; } }
      #login .login-area .login-form .btn-area:hover {
        opacity: 0.7; }
      #login .login-area .login-form .btn-area a {
        width: 120px;
        padding: 12px 0;
        background-color: #3c3c3c;
        border-radius: 10px;
        border-style: none;
        display: inline-block;
        font-size: 14px;
        font-weight: bold;
        color: #ffffff; }
        @media screen and (min-width: 769px) {
          #login .login-area .login-form .btn-area a {
            font-size: 16px;
            padding: 15px 0; } }
    #login .login-area .login-form .input-area-one-line {
      width: 100%;
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      padding-top: 5px; }
      #login .login-area .login-form .input-area-one-line .title {
        font-size: 16px;
        white-space: nowrap;
        color: #666666; }
        #login .login-area .login-form .input-area-one-line .title span {
          display: none; }
          @media screen and (min-width: 769px) {
            #login .login-area .login-form .input-area-one-line .title span {
              display: inline-block; } }
        @media screen and (min-width: 769px) {
          #login .login-area .login-form .input-area-one-line .title {
            font-size: 18px; } }
      #login .login-area .login-form .input-area-one-line .write {
        width: 100%;
        float: left;
        padding: 0 10px; }
        #login .login-area .login-form .input-area-one-line .write input {
          width: 100%;
          padding: 2px 10px;
          border: 1px solid #d7d8d9;
          border-radius: 5px;
          font-size: 22px;
          /*font-weight: bold;*/ }
        #login .login-area .login-form .input-area-one-line .write .verify-code {
          font-size: 30px;
          font-weight: bold;
          padding: 3px 5px; }
          @media screen and (min-width: 554px) {
            #login .login-area .login-form .input-area-one-line .write .verify-code {
              padding: 3px 15px; } }
          @media screen and (min-width: 769px) {
            #login .login-area .login-form .input-area-one-line .write .verify-code {
              padding: 3px 15px; } }
      #login .login-area .login-form .input-area-one-line .btn {
        width: 100px;
        display: inline-block; }
        #login .login-area .login-form .input-area-one-line .btn:hover {
          opacity: 0.7; }
        #login .login-area .login-form .input-area-one-line .btn a {
          width: 100%;
          padding: 8px 5px;
          background-color: #3c3c3c;
          border-radius: 10px;
          border-style: none;
          display: inline-block;
          font-size: 14px;
          font-weight: bold;
          color: #ffffff;
          white-space: nowrap; }
          @media screen and (min-width: 769px) {
            #login .login-area .login-form .input-area-one-line .btn a {
              font-size: 16px;
              padding: 8px 25px; } }
    #login .login-area .login-form .separate-line {
      display: inline-block;
      position: relative;
      width: 95%;
      border-top: 1px solid #dedede;
      margin-top: 40px; }
      #login .login-area .login-form .separate-line .label {
        position: absolute;
        top: 0;
        color: #a0a0a0;
        transform: translateY(-50%);
        width: 60px;
        left: calc(50% - 30px);
        white-space: nowrap; }
        @media screen and (min-width: 769px) {
          #login .login-area .login-form .separate-line .label {
            width: 80px;
            left: calc(50% - 40px); } }
        #login .login-area .login-form .separate-line .label:before {
          position: absolute;
          z-index: -1;
          left: 0;
          bottom: 50%;
          width: 100%;
          height: 1px;
          background-color: #eeeeee;
          content: ""; }
    #login .login-area .login-form .extra_login {
      width: 100%;
      display: inline-block;
      margin: 40px 0 20px; }
      #login .login-area .login-form .extra_login img {
        max-width: 200px;
        cursor: pointer; }
        @media screen and (min-width: 769px) {
          #login .login-area .login-form .extra_login img {
            max-width: 250px; } }
        #login .login-area .login-form .extra_login img:hover {
          opacity: 0.7; }
    #login .login-area .login-form .option_area {
      width: 100%;
      display: inline-block;
      margin: 30px 0 20px; }
      #login .login-area .login-form .option_area p {
        color: #3c5d39; }
  #login .login-area .login-admin {
    background-color: #d2ded0; }

/*----------------------------------------------------
  mypage
----------------------------------------------------*/
#mypage .mypage-link {
  padding: 30px 0;
  border-bottom: solid 1px #eee; }
  @media screen and (min-width: 769px) {
    #mypage .mypage-link {
      padding: 40px 0; } }
  #mypage .mypage-link .mypage-link__tab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #mypage .mypage-link .mypage-link__tab li {
      width: 100%;
      max-width: 210px;
      margin: 0 3px;
      position: relative; }
      @media screen and (min-width: 554px) {
        #mypage .mypage-link .mypage-link__tab li {
          margin: 0 5px; } }
      @media screen and (min-width: 769px) {
        #mypage .mypage-link .mypage-link__tab li {
          margin: 0 10px; } }
      #mypage .mypage-link .mypage-link__tab li .btn {
        width: 100%;
        padding: 6px 0;
        border: solid 1px #d7d8d9;
        border-radius: 30px;
        text-align: center;
        font-size: 12px;
        display: block;
        white-space: nowrap; }
        #mypage .mypage-link .mypage-link__tab li .btn span {
          display: none; }
        @media screen and (min-width: 554px) {
          #mypage .mypage-link .mypage-link__tab li .btn {
            padding: 10px 0;
            font-size: 13px; }
            #mypage .mypage-link .mypage-link__tab li .btn span {
              display: inline; } }
        @media screen and (min-width: 769px) {
          #mypage .mypage-link .mypage-link__tab li .btn {
            border-radius: 38px;
            font-size: 14px; } }
        #mypage .mypage-link .mypage-link__tab li .btn::after {
          content: "";
          position: absolute;
          left: 50%;
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          transform: translateX(-50%);
          bottom: -6px;
          color: #ffa000;
          border-width: 6px 8px 0;
          border-style: solid;
          border-color: currentColor transparent transparent;
          opacity: 0;
          -webkit-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s; }
          @media screen and (min-width: 554px) {
            #mypage .mypage-link .mypage-link__tab li .btn::after {
              bottom: -10px;
              border-width: 10px 12px 0; } }
        #mypage .mypage-link .mypage-link__tab li .btn:hover {
          background: #ffa000;
          border: solid 1px #ffa000;
          color: #FFFFFF; }
      #mypage .mypage-link .mypage-link__tab li.select .btn {
        background: #ffa000;
        border: solid 1px #ffa000;
        color: #FFFFFF;
        white-space: nowrap; }
        #mypage .mypage-link .mypage-link__tab li.select .btn::after {
          opacity: 1.0; }
    #mypage .mypage-link .mypage-link__tab .essential {
      background-color: #edf9ff; }
#mypage .mypage-contents {
  width: 100%;
  min-height: 100px;
  margin-top: 20px; }
  #mypage .mypage-contents .top-comment {
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px; }
    @media screen and (min-width: 554px) {
      #mypage .mypage-contents .top-comment {
        font-size: 22px; } }
  #mypage .mypage-contents .mypage-title {
    width: 100%;
    font-size: 20px;
    text-align: center;
    color: #643b1d;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap; }
    #mypage .mypage-contents .mypage-title .ico {
      margin-right: 10px; }
  #mypage .mypage-contents .toggle-action {
    background-color: #ebefdb;
    cursor: pointer; }
  #mypage .mypage-contents .toggle-area {
    display: none;
    border: 2px dashed #444444;
    padding: 5px;
    margin-top: 5px; }
  #mypage .mypage-contents .tutorial-area {
    width: 100%;
    margin-top: 30px;
    padding: 0 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    @media screen and (min-width: 554px) {
      #mypage .mypage-contents .tutorial-area {
        padding: 0 15px; } }
    @media screen and (min-width: 769px) {
      #mypage .mypage-contents .tutorial-area {
        padding: 0 20px; } }
    #mypage .mypage-contents .tutorial-area .tutorial {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      text-align: center;
      border-radius: 15px;
      background-color: #103a4c;
      background-image: url(images/tutorial_back.jpg);
      background-position: 50% 44%;
      padding: 30px 0; }
      #mypage .mypage-contents .tutorial-area .tutorial .title {
        width: 100%;
        padding: 20px 0;
        color: #ffffff;
        font-size: 20px;
        font-weight: bold;
        cursor: pointer; }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .tutorial-area .tutorial .title {
            font-size: 32px; } }
      #mypage .mypage-contents .tutorial-area .tutorial .contents {
        display: none;
        padding: 0 5px 10px; }
        @media screen and (min-width: 554px) {
          #mypage .mypage-contents .tutorial-area .tutorial .contents {
            padding: 0 10px 20px; } }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .tutorial-area .tutorial .contents {
            padding: 0 20px 20px; } }
        #mypage .mypage-contents .tutorial-area .tutorial .contents .item {
          padding: 30px 0; }
          #mypage .mypage-contents .tutorial-area .tutorial .contents .item .caption {
            font-size: 22px;
            font-weight: bold;
            color: #fffdce; }
            @media screen and (min-width: 769px) {
              #mypage .mypage-contents .tutorial-area .tutorial .contents .item .caption {
                font-size: 30px; } }
          #mypage .mypage-contents .tutorial-area .tutorial .contents .item .video {
            border: 1px solid #ffffff;
            cursor: pointer;
            background-color: #000000; }
      #mypage .mypage-contents .tutorial-area .tutorial .message {
        width: 100%;
        text-align: center;
        display: none;
        color: #e0fb00;
        font-size: 16px;
        font-weight: bold;
        padding: 0 5px 10px; }
        @media screen and (min-width: 554px) {
          #mypage .mypage-contents .tutorial-area .tutorial .message {
            font-size: 18px;
            padding: 0 10px 20px; } }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .tutorial-area .tutorial .message {
            font-size: 24px;
            padding: 0 20px 20px; } }
  #mypage .mypage-contents .control-area {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 10px;
    background-color: #f5f5f5;
    font-size: 14px;
    border: 1px solid #dfdfdf; }
    #mypage .mypage-contents .control-area .txt {
      margin-right: 10px;
      font-size: 18px;
      line-height: 18px;
      padding-top: 3px; }
    #mypage .mypage-contents .control-area .btn {
      width: 120px;
      padding: 3px 10px;
      color: #ffffff;
      background-color: #78a208;
      text-align: center;
      border-radius: 18px;
      cursor: pointer; }
      #mypage .mypage-contents .control-area .btn:hover {
        opacity: 0.8; }
  #mypage .mypage-contents .interview-area {
    width: 100%;
    margin-top: 20px;
    padding: 10px;
    border: 1px solid #dbdbdb;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; }
    #mypage .mypage-contents .interview-area .room {
      margin: 10px;
      width: 200px;
      height: 100px;
      display: flex;
      flex-wrap: wrap; }
      #mypage .mypage-contents .interview-area .room .title {
        width: 100%;
        height: 30px;
        color: #ffffff;
        background-color: #4c4c4c;
        display: flex;
        align-items: center;
        justify-content: center; }
      #mypage .mypage-contents .interview-area .room .contents {
        width: 100%;
        height: 70px;
        background-color: #eeeeee;
        display: flex;
        align-items: center;
        justify-content: center; }
  #mypage .mypage-contents .history {
    width: 100%;
    margin-bottom: 20px; }
    #mypage .mypage-contents .history .list-area {
      width: 100%; }
      #mypage .mypage-contents .history .list-area .item {
        width: 100%; }
        #mypage .mypage-contents .history .list-area .item .report-block {
          width: 100%;
          display: flex;
          flex-wrap: nowrap;
          position: relative;
          margin-top: 35px;
          border-top: 1px solid #c7c7c7;
          border-bottom: 1px solid #c7c7c7;
          padding: 3px 0;
          -webkit-user-select: none;
          -moz-user-select: none;
          -ms-user-select: none;
          user-select: none; }
          #mypage .mypage-contents .history .list-area .item .report-block .content-block {
            width: calc(100% - 50px); }
            #mypage .mypage-contents .history .list-area .item .report-block .content-block .title-tab {
              position: absolute;
              left: 0;
              top: -22px;
              height: 22px;
              line-height: 22px;
              padding: 0 25px;
              display: flex;
              align-items: stretch;
              justify-content: center;
              color: #ffffff;
              background-color: #a59870;
              border-radius: 0 6px 0 0; }
            #mypage .mypage-contents .history .list-area .item .report-block .content-block .not-read {
              background-color: #d9044d; }
            #mypage .mypage-contents .history .list-area .item .report-block .content-block .title {
              width: 100%;
              color: #545454;
              background-color: #f3f3f3;
              padding: 5px 10px;
              font-size: 14px;
              font-weight: bold;
              line-height: 18px;
              height: 26px;
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap; }
            #mypage .mypage-contents .history .list-area .item .report-block .content-block .summary {
              width: 100%;
              padding: 5px; }
              #mypage .mypage-contents .history .list-area .item .report-block .content-block .summary .summary-item {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: flex-start;
                margin: 2px 0; }
                #mypage .mypage-contents .history .list-area .item .report-block .content-block .summary .summary-item .tag {
                  width: 80px;
                  font-size: 12px;
                  line-height: 16px;
                  text-align: center;
                  border-radius: 5px;
                  padding: 2px;
                  background-color: #ffd72d; }
                #mypage .mypage-contents .history .list-area .item .report-block .content-block .summary .summary-item .txt {
                  width: calc(100% - 80px);
                  padding-left: 10px; }
            #mypage .mypage-contents .history .list-area .item .report-block .content-block .comment {
              width: 100%;
              /*white-space: pre-wrap;*/
              padding: 5px;
              height: 27px;
              overflow: hidden;
              white-space: nowrap;
              text-overflow: ellipsis; }
          #mypage .mypage-contents .history .list-area .item .report-block .action-block {
            width: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #a59870;
            margin-left: 1px;
            color: #ffffff;
            cursor: pointer; }
            #mypage .mypage-contents .history .list-area .item .report-block .action-block:hover {
              background-color: #7c7357; }
  #mypage .mypage-contents .my-info {
    width: 100%;
    margin: 30px auto 0; }
    #mypage .mypage-contents .my-info .contact-form__text .must {
      color: #FFFFFF;
      background: #ff6666;
      padding: 5px 10px;
      margin-right: 5px;
      display: inline-block;
      border-radius: 3px;
      font-weight: bold;
      line-height: 1.0;
      font-size: 13px; }
    #mypage .mypage-contents .my-info table {
      width: 100%;
      margin-top: 20px; }
      #mypage .mypage-contents .my-info table th {
        width: 100%;
        display: inline-block;
        padding: 10px 0;
        position: relative;
        font-weight: bold; }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .my-info table th {
            width: 230px;
            padding: 20px 0;
            display: table-cell; } }
        #mypage .mypage-contents .my-info table th .must {
          margin-left: 10px;
          color: #FFFFFF;
          background: #ff6666;
          padding: 5px 10px;
          margin-right: 5px;
          display: inline-block;
          border-radius: 3px;
          font-weight: bold;
          line-height: 1.0;
          font-size: 13px; }
        #mypage .mypage-contents .my-info table th .comment {
          display: block;
          margin-top: 6px;
          font-size: 13px;
          font-weight: normal;
          color: #7b7c7e; }
      #mypage .mypage-contents .my-info table .textarea {
        vertical-align: top; }
        #mypage .mypage-contents .my-info table .textarea .must {
          top: 27px;
          -webkit-transform: none;
          -ms-transform: none;
          transform: none; }
      #mypage .mypage-contents .my-info table td {
        width: 100%;
        display: inline-block;
        padding: 0 0 10px; }
        #mypage .mypage-contents .my-info table td img {
          width: auto;
          max-width: 100%; }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .my-info table td {
            width: calc(100% - 230px);
            padding: 10px 0 10px 30px;
            display: table-cell; } }
        #mypage .mypage-contents .my-info table td .error {
          color: #ff0000; }
        #mypage .mypage-contents .my-info table td input::-webkit-input-placeholder {
          color: #ccc; }
        #mypage .mypage-contents .my-info table td input:-ms-input-placeholder {
          color: #ccc; }
        #mypage .mypage-contents .my-info table td input::-ms-input-placeholder {
          color: #ccc; }
        #mypage .mypage-contents .my-info table td input::placeholder {
          color: #ccc; }
        #mypage .mypage-contents .my-info table td input[type="text"], #mypage .mypage-contents .my-info table td input[type="password"] {
          padding: 7px 10px;
          width: 100%;
          border: solid 1px #d7d8d9;
          border-radius: 5px; }
        #mypage .mypage-contents .my-info table td .block-title {
          color: #bb7748;
          font-weight: bold;
          font-size: 18px;
          margin-top: 30px; }
          #mypage .mypage-contents .my-info table td .block-title:first-child {
            margin-top: 0; }
        #mypage .mypage-contents .my-info table td .sub-title {
          color: #bb7748;
          font-weight: bold;
          margin-bottom: 10px; }
        #mypage .mypage-contents .my-info table td .sub-title2 {
          color: #717c12;
          font-weight: bold;
          font-size: 16px; }
        #mypage .mypage-contents .my-info table td .topic {
          color: #1396d5;
          font-size: 24px;
          font-weight: bold; }
        #mypage .mypage-contents .my-info table td .comment {
          display: inline-block;
          margin-top: 10px;
          font-size: 13px;
          color: #7b7c7e;
          width: 100%; }
        #mypage .mypage-contents .my-info table td .red {
          color: #ff0000; }
        #mypage .mypage-contents .my-info table td textarea {
          width: 100%;
          padding: 12px 15px;
          border: solid 1px #d7d8d9;
          border-radius: 5px;
          height: 115px; }
        #mypage .mypage-contents .my-info table td .big-text {
          height: 200px; }
        #mypage .mypage-contents .my-info table td .ipt-check {
          opacity: 0;
          display: none; }
        #mypage .mypage-contents .my-info table td select {
          border-style: none;
          -moz-appearance: none;
          text-indent: 0.01px;
          -o-text-overflow: '';
          text-overflow: '';
          appearance: none;
          -webkit-appearance: none;
          width: 280px;
          height: 40px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          border: solid 1px #d7d8d9;
          border-radius: 5px;
          padding: 0 40px 0 10px;
          position: relative;
          background: #FFFFFF;
          font-size: 16px; }
          @media screen and (min-width: 769px) {
            #mypage .mypage-contents .my-info table td select {
              font-size: 14px; } }
          @media screen and (min-width: 769px) {
            #mypage .mypage-contents .my-info table td select:hover {
              cursor: pointer; } }
        #mypage .mypage-contents .my-info table td select::-ms-expand {
          display: none; }
        #mypage .mypage-contents .my-info table td .prefecture {
          position: relative;
          width: auto;
          display: inline-block; }
          #mypage .mypage-contents .my-info table td .prefecture::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            z-index: 0;
            width: 30px;
            height: 100%; }
          #mypage .mypage-contents .my-info table td .prefecture::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 15px;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            z-index: 2;
            width: 0;
            height: 0;
            border-width: 4px 4px 0;
            border-style: solid;
            border-color: #212121 transparent transparent; }
        #mypage .mypage-contents .my-info table td label {
          padding: 5px 20px 5px 10px;
          display: block;
          float: left; }
          #mypage .mypage-contents .my-info table td label .label_text {
            margin-right: 5px; }
        #mypage .mypage-contents .my-info table td .line-qrcode {
          width: 100%;
          text-align: center; }
          #mypage .mypage-contents .my-info table td .line-qrcode img {
            max-width: 200px; }
        #mypage .mypage-contents .my-info table td .multi-column {
          width: 100%;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          margin-bottom: 20px; }
          @media screen and (min-width: 769px) {
            #mypage .mypage-contents .my-info table td .multi-column {
              margin-bottom: 10px; } }
          #mypage .mypage-contents .my-info table td .multi-column .column {
            display: flex;
            align-items: center;
            margin-right: 10px; }
            #mypage .mypage-contents .my-info table td .multi-column .column .txt {
              white-space: nowrap; }
            #mypage .mypage-contents .my-info table td .multi-column .column select {
              width: unset;
              height: 36px; }
            #mypage .mypage-contents .my-info table td .multi-column .column label {
              padding-right: unset; }
            #mypage .mypage-contents .my-info table td .multi-column .column .del {
              font-size: 24px;
              color: #474747;
              cursor: pointer; }
              #mypage .mypage-contents .my-info table td .multi-column .column .del:hover {
                color: #b7144c; }
        #mypage .mypage-contents .my-info table td .check-area {
          display: flex;
          flex-wrap: wrap; }
          #mypage .mypage-contents .my-info table td .check-area .check-item {
            display: flex;
            align-items: center;
            white-space: nowrap; }
            #mypage .mypage-contents .my-info table td .check-area .check-item input[type="checkbox"] {
              width: 20px;
              height: 20px;
              margin: 0 0 1px 10px;
              cursor: pointer; }
            #mypage .mypage-contents .my-info table td .check-area .check-item input[type="radio"] {
              width: 20px;
              height: 20px;
              cursor: pointer;
              margin: 0 0 1px 10px; }
            #mypage .mypage-contents .my-info table td .check-area .check-item .check {
              cursor: pointer; }
        #mypage .mypage-contents .my-info table td .intro-photo-area {
          width: 100%;
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-start; }
          #mypage .mypage-contents .my-info table td .intro-photo-area .intro-photo {
            width: 100%;
            margin: 5px;
            padding: 10px;
            border: 1px dotted #e1e1e1; }
            @media screen and (min-width: 769px) {
              #mypage .mypage-contents .my-info table td .intro-photo-area .intro-photo {
                width: calc(50% - 20px); } }
        #mypage .mypage-contents .my-info table td .photo {
          width: 100%;
          position: relative; }
          #mypage .mypage-contents .my-info table td .photo img {
            max-width: 300px;
            max-height: 300px;
            object-fit: contain; }
          #mypage .mypage-contents .my-info table td .photo .check {
            position: absolute;
            top: 5px;
            left: 10px;
            display: flex;
            align-items: center; }
            #mypage .mypage-contents .my-info table td .photo .check input[type="checkbox"] {
              width: 18px;
              height: 18px;
              cursor: pointer; }
            #mypage .mypage-contents .my-info table td .photo .check label {
              font-size: 14px;
              line-height: 14px;
              padding: 2px 0 0 5px;
              color: #994040;
              cursor: pointer; }
      #mypage .mypage-contents .my-info table tr {
        border-bottom: solid 1px #eee; }
        #mypage .mypage-contents .my-info table tr:last-child {
          border: none; }
        #mypage .mypage-contents .my-info table tr:first-child {
          border-top: solid 1px #eee; }
    #mypage .mypage-contents .my-info .contact-form__btn {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin: 30px -5px 0; }
      @media screen and (min-width: 554px) {
        #mypage .mypage-contents .my-info .contact-form__btn {
          margin: 30px -10px 0; } }
      @media screen and (min-width: 769px) {
        #mypage .mypage-contents .my-info .contact-form__btn {
          margin: 40px 0 0; } }
      #mypage .mypage-contents .my-info .contact-form__btn .btn {
        text-align: center;
        width: 50%;
        max-width: 250px;
        margin: 0 5px;
        cursor: pointer; }
        @media screen and (min-width: 554px) {
          #mypage .mypage-contents .my-info .contact-form__btn .btn {
            margin: 0 10px; } }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .my-info .contact-form__btn .btn {
            margin: 0 30px; } }
        #mypage .mypage-contents .my-info .contact-form__btn .btn .link, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear {
          position: relative;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          border-radius: 30px;
          border: 1px solid #d7d8d9;
          width: 100%;
          height: 52px;
          background-color: #FFFFFF;
          text-align: center; }
          @media screen and (min-width: 769px) {
            #mypage .mypage-contents .my-info .contact-form__btn .btn .link, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear {
              height: 60px;
              /*cursor: pointer;*/ } }
          #mypage .mypage-contents .my-info .contact-form__btn .btn .link:hover, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear:hover {
            background-color: #ffa000;
            border-color: #ffa000; }
            #mypage .mypage-contents .my-info .contact-form__btn .btn .link:hover:after, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear:hover:after {
              border-color: #FFFFFF !important; }
            #mypage .mypage-contents .my-info .contact-form__btn .btn .link:hover i, #mypage .mypage-contents .my-info .contact-form__btn .btn .link:hover span, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear:hover i, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear:hover span {
              color: #FFFFFF !important; }
          #mypage .mypage-contents .my-info .contact-form__btn .btn .link:after, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear:after {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            right: 18px;
            border-top: 1px solid #212121;
            border-right: 1px solid #212121;
            width: .5em;
            height: .5em;
            -webkit-transform: translate(0, -50%) rotate(45deg);
            -ms-transform: translate(0, -50%) rotate(45deg);
            transform: translate(0, -50%) rotate(45deg); }
            @media screen and (min-width: 769px) {
              #mypage .mypage-contents .my-info .contact-form__btn .btn .link:after, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear:after {
                right: 28px;
                -webkit-transition: all .25s ease;
                -o-transition: all .25s ease;
                transition: all .25s ease; } }
          #mypage .mypage-contents .my-info .contact-form__btn .btn .link > *, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear > * {
            line-height: 1; }
          #mypage .mypage-contents .my-info .contact-form__btn .btn .link i, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear i {
            display: inline-block;
            margin: -1px 0 0 -.5em;
            font-size: 31px;
            color: #ff5555; }
            @media screen and (min-width: 769px) {
              #mypage .mypage-contents .my-info .contact-form__btn .btn .link i, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear i {
                margin-left: 0;
                -webkit-transition: all .25s ease;
                -o-transition: all .25s ease;
                transition: all .25s ease; } }
          #mypage .mypage-contents .my-info .contact-form__btn .btn .link span, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear span {
            font-size: 15px; }
            @media screen and (min-width: 769px) {
              #mypage .mypage-contents .my-info .contact-form__btn .btn .link span, #mypage .mypage-contents .my-info .contact-form__btn .btn .clear span {
                font-size: 16px;
                font-weight: bold;
                -webkit-transition: all .25s ease;
                -o-transition: all .25s ease;
                transition: all .25s ease; } }
        #mypage .mypage-contents .my-info .contact-form__btn .btn .clear {
          /*cursor: pointer;*/ }
    #mypage .mypage-contents .my-info .session-text {
      width: 100%;
      margin: 30px 0 10px 0;
      text-align: center;
      font-size: 20px;
      font-weight: bold; }
  #mypage .mypage-contents .inform {
    width: 100%;
    margin: 20px auto; }
    #mypage .mypage-contents .inform .message-area {
      width: 100%;
      padding: 10px 0; }
      #mypage .mypage-contents .inform .message-area .message-title {
        font-size: 22px;
        font-weight: bold;
        padding: 10px 20px 5px;
        background-color: #dcdcdc;
        border-radius: 0 8px 0 0; }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .inform .message-area .message-title {
            padding: 10px 30px 5px; } }
      #mypage .mypage-contents .inform .message-area .message-contents {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        border: 1px solid #e3e3e3;
        background-color: #f9f9f9; }
        #mypage .mypage-contents .inform .message-area .message-contents .contents-area {
          font-size: 16px;
          padding: 20px 20px;
          width: 100%; }
          @media screen and (min-width: 769px) {
            #mypage .mypage-contents .inform .message-area .message-contents .contents-area {
              padding: 20px 30px; } }
        #mypage .mypage-contents .inform .message-area .message-contents .btn-area {
          width: 100%;
          text-align: center;
          padding: 0 0 20px; }
          #mypage .mypage-contents .inform .message-area .message-contents .btn-area .btn {
            display: inline-block;
            min-width: 100px;
            text-align: center;
            padding: 7px 20px;
            white-space: nowrap;
            background-color: #353535;
            color: #ffffff;
            font-size: 16px;
            border-radius: 20px;
            cursor: pointer; }
            #mypage .mypage-contents .inform .message-area .message-contents .btn-area .btn:hover {
              opacity: 0.7; }
  #mypage .mypage-contents .retire {
    width: 100%;
    margin: 30px auto 0; }
    #mypage .mypage-contents .retire .message-area {
      width: 100%;
      margin-bottom: 20px; }
      #mypage .mypage-contents .retire .message-area .message-title {
        font-size: 26px;
        font-weight: bold;
        padding: 15px 20px;
        background-color: #dcdcdc;
        border-radius: 0 10px 0 0; }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .retire .message-area .message-title {
            padding: 15px 40px; } }
      #mypage .mypage-contents .retire .message-area .message-contents {
        font-size: 18px;
        padding: 40px 20px;
        border: 1px solid #aaaaaa; }
        @media screen and (min-width: 769px) {
          #mypage .mypage-contents .retire .message-area .message-contents {
            padding: 40px 40px; } }
        #mypage .mypage-contents .retire .message-area .message-contents .message-tip {
          font-size: 14px;
          margin-top: 10px; }
    #mypage .mypage-contents .retire .btn-area {
      width: 100%;
      text-align: center; }
      #mypage .mypage-contents .retire .btn-area .btn {
        display: inline-block;
        width: 180px;
        text-align: center;
        padding: 15px 0;
        white-space: nowrap;
        background-color: #353535;
        color: #ffffff;
        font-size: 18px;
        font-weight: bold;
        border-radius: 10px;
        cursor: pointer; }
        #mypage .mypage-contents .retire .btn-area .btn:hover {
          opacity: 0.7; }
  #mypage .mypage-contents .calendar-area {
    width: 100%;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    #mypage .mypage-contents .calendar-area .title {
      width: 100%;
      text-align: center;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      align-content: center;
      flex-wrap: nowrap;
      margin-bottom: 10px; }
      #mypage .mypage-contents .calendar-area .title .txt {
        font-size: 24px;
        font-weight: bold; }
      #mypage .mypage-contents .calendar-area .title .prev-month {
        position: absolute;
        left: 0;
        top: 0;
        padding: 0px 15px;
        color: #ffffff;
        background-color: #6c6c6c;
        border-radius: 15px 0 0 15px;
        font-size: 17px;
        font-weight: bold;
        margin-left: 10px;
        cursor: pointer; }
        #mypage .mypage-contents .calendar-area .title .prev-month:hover {
          background-color: #ffa000; }
      #mypage .mypage-contents .calendar-area .title .next-month {
        position: absolute;
        right: 0;
        top: 0;
        padding: 0px 15px;
        color: #ffffff;
        background-color: #6c6c6c;
        border-radius: 0 15px 15px 0;
        font-size: 17px;
        font-weight: bold;
        margin-right: 10px;
        cursor: pointer; }
        #mypage .mypage-contents .calendar-area .title .next-month:hover {
          background-color: #ffa000; }
    #mypage .mypage-contents .calendar-area .explain {
      width: 100%;
      margin-bottom: 10px; }
      #mypage .mypage-contents .calendar-area .explain .item {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        /*
        .ico {
          display: contents;
          font-size: 20px;
          color: #9d7f7f;
        }
        */ }
        #mypage .mypage-contents .calendar-area .explain .item .txt {
          font-size: 18px;
          font-weight: bold;
          color: #9d7f7f; }
        #mypage .mypage-contents .calendar-area .explain .item img {
          width: 25px;
          height: 23px; }
    #mypage .mypage-contents .calendar-area .calendar {
      width: 100%; }
      #mypage .mypage-contents .calendar-area .calendar .one-day {
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        border-bottom: 1px solid #e5e5e5;
        /* Chrome, Safari 対応 */ }
        #mypage .mypage-contents .calendar-area .calendar .one-day .day-title {
          width: 75px;
          text-align: center;
          /*padding: 10px 0;*/
          color: #5e5950;
          background-color: #f3f3f3;
          display: flex;
          align-items: center;
          justify-content: center; }
          @media screen and (min-width: 554px) {
            #mypage .mypage-contents .calendar-area .calendar .one-day .day-title {
              width: 85px; } }
          @media screen and (min-width: 769px) {
            #mypage .mypage-contents .calendar-area .calendar .one-day .day-title {
              width: 100px; } }
        #mypage .mypage-contents .calendar-area .calendar .one-day .sunday {
          background-color: #ffdede; }
        #mypage .mypage-contents .calendar-area .calendar .one-day .saturday {
          background-color: #ebf4ff; }
        #mypage .mypage-contents .calendar-area .calendar .one-day .summary {
          width: calc(100% - 75px);
          display: flex;
          align-items: center;
          padding: 5px 5px;
          overflow-x: scroll;
          overflow-y: hidden;
          -ms-overflow-style: none;
          /* IE, Edge 対応 */
          scrollbar-width: none;
          /* Firefox 対応 */ }
          @media screen and (min-width: 554px) {
            #mypage .mypage-contents .calendar-area .calendar .one-day .summary {
              width: calc(100% - 85px); } }
          @media screen and (min-width: 769px) {
            #mypage .mypage-contents .calendar-area .calendar .one-day .summary {
              width: calc(100% - 100px);
              flex-wrap: wrap; } }
          #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule {
            padding: 0;
            background-color: #ededed;
            border: 1px solid #4c4c4c;
            margin: 1px 7px; }
            #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule:hover {
              border: 1px solid #404040;
              box-shadow: 0px 0px 4px #000000; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule:hover .schedule-summary .contents .time {
                background-color: #e32020; }
            #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary {
              width: 100%;
              display: flex;
              background-color: #ffffff; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .subject-color {
                display: inline-block;
                width: 10px;
                height: 39px; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .photo {
                width: 45px;
                height: 39px;
                background-color: #ededed; }
                #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .photo img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .office {
                width: 45px;
                height: 39px;
                background-color: #bb4f4f;
                color: #ffffff;
                display: flex;
                align-items: center;
                justify-content: center; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents {
                width: 200px;
                display: block; }
                #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .time {
                  width: 100%;
                  font-size: 12px;
                  text-align: left;
                  line-height: 11px;
                  color: #ffffff;
                  background-color: #383838;
                  padding: 0 4px; }
                #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail {
                  width: 100%;
                  display: flex;
                  justify-content: space-between; }
                  #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail .detail-wrap {
                    min-width: 140px;
                    max-width: 200px; }
                    #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail .detail-wrap .subject {
                      width: 100%;
                      font-size: 12px;
                      font-weight: bold;
                      text-align: left;
                      line-height: 14px;
                      padding: 1px 4px;
                      white-space: nowrap;
                      overflow: hidden;
                      text-overflow: ellipsis; }
                    #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail .detail-wrap .txt {
                      width: 100%;
                      font-size: 12px;
                      text-align: left;
                      line-height: 10px;
                      padding: 1px 4px;
                      white-space: nowrap;
                      overflow: hidden;
                      text-overflow: ellipsis; }
                  #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail.not-write {
                    background-color: #ffe5e5; }
            #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .control {
              width: 100%;
              display: flex;
              justify-content: center;
              border-top: 1px dashed #6c6c6c; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .control .action {
                float: left;
                width: 30px;
                height: 28px;
                color: #5d6a11;
                font-size: 25px;
                text-align: center;
                line-height: 30px;
                cursor: pointer;
                margin: 0 10px; }
                #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .control .action:hover {
                  color: #ff0000; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .control .not-read {
                color: #ff008d; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .schedule .control .not-write {
                color: #ff5722; }
          #mypage .mypage-contents .calendar-area .calendar .one-day .summary .invalid {
            border: 1px dashed #8d8d8d;
            pointer-events: none; }
            #mypage .mypage-contents .calendar-area .calendar .one-day .summary .invalid .contents .time {
              background-color: #a7a7a7; }
            #mypage .mypage-contents .calendar-area .calendar .one-day .summary .invalid:hover {
              border: 1px solid #8d8d8d; }
              #mypage .mypage-contents .calendar-area .calendar .one-day .summary .invalid:hover .contents .time {
                background-color: #a7a7a7; }
        #mypage .mypage-contents .calendar-area .calendar .one-day .summary::-webkit-scrollbar {
          display: none; }
        #mypage .mypage-contents .calendar-area .calendar .one-day .today {
          background-color: #e6fbc9;
          border: 3px solid #84ad30;
          box-shadow: 0px 0px 4px #000000; }
        #mypage .mypage-contents .calendar-area .calendar .one-day .today-txt {
          font-weight: bold; }
        #mypage .mypage-contents .calendar-area .calendar .one-day:first-child {
          border-top: 1px solid #e5e5e5; }
        #mypage .mypage-contents .calendar-area .calendar .one-day:hover {
          background-color: #ffffe2; }
    #mypage .mypage-contents .calendar-area .tip {
      width: 100%;
      font-size: 12px;
      color: #707070;
      margin-top: 5px; }
  #mypage .mypage-contents .schedule-mypage {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 50px; }
    #mypage .mypage-contents .schedule-mypage .title {
      width: 100%;
      font-size: 22px;
      text-align: center; }
    #mypage .mypage-contents .schedule-mypage .schedule {
      display: flex;
      padding: 0;
      background-color: #ededed;
      border: 1px solid #4c4c4c;
      margin: 10px 0;
      width: 500px;
      max-width: 100%;
      flex-wrap: wrap; }
      @media screen and (min-width: 554px) {
        #mypage .mypage-contents .schedule-mypage .schedule {
          margin: 10px; } }
      @media screen and (min-width: 769px) {
        #mypage .mypage-contents .schedule-mypage .schedule {
          margin: 10px; } }
      #mypage .mypage-contents .schedule-mypage .schedule:hover {
        border: 1px solid #404040;
        box-shadow: 0px 0px 4px #000000; }
        #mypage .mypage-contents .schedule-mypage .schedule:hover .summary .contents .time {
          background-color: #e32020; }
      #mypage .mypage-contents .schedule-mypage .schedule .summary {
        width: 100%;
        display: flex;
        background-color: #ffffff; }
        #mypage .mypage-contents .schedule-mypage .schedule .summary .subject-color {
          display: inline-block;
          width: 10px;
          height: 51px; }
        #mypage .mypage-contents .schedule-mypage .schedule .summary .photo {
          width: 50px;
          height: 51px; }
          #mypage .mypage-contents .schedule-mypage .schedule .summary .photo img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        #mypage .mypage-contents .schedule-mypage .schedule .summary .office {
          width: 50px;
          height: 51px;
          background-color: #bb4f4f;
          color: #ffffff;
          display: flex;
          align-items: center;
          justify-content: center; }
        #mypage .mypage-contents .schedule-mypage .schedule .summary .contents {
          width: calc(100% - 60px);
          display: block; }
          #mypage .mypage-contents .schedule-mypage .schedule .summary .contents .time {
            width: 100%;
            font-size: 16px;
            text-align: left;
            line-height: 16px;
            color: #ffffff;
            background-color: #383838;
            padding: 0 4px; }
          #mypage .mypage-contents .schedule-mypage .schedule .summary .contents .detail {
            width: 100%;
            display: flex;
            justify-content: space-between; }
            #mypage .mypage-contents .schedule-mypage .schedule .summary .contents .detail .detail-wrap {
              width: 100%; }
              #mypage .mypage-contents .schedule-mypage .schedule .summary .contents .detail .detail-wrap .subject {
                width: 100%;
                font-size: 14px;
                font-weight: bold;
                text-align: left;
                line-height: 17px;
                padding: 1px 4px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis; }
              #mypage .mypage-contents .schedule-mypage .schedule .summary .contents .detail .detail-wrap .txt {
                width: 100%;
                font-size: 14px;
                text-align: left;
                line-height: 14px;
                padding: 1px 4px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis; }
      #mypage .mypage-contents .schedule-mypage .schedule .controls {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: nowrap;
        padding: 10px 0; }
        #mypage .mypage-contents .schedule-mypage .schedule .controls .btn {
          display: flex;
          align-items: center;
          justify-content: center;
          color: #ffffff;
          background-color: #333333;
          border-radius: 15px;
          padding: 3px 15px 2px 15px;
          margin: 0 5px;
          cursor: pointer; }
          #mypage .mypage-contents .schedule-mypage .schedule .controls .btn:hover {
            color: #ffffff;
            background-color: #ffa000; }
          #mypage .mypage-contents .schedule-mypage .schedule .controls .btn .ico {
            font-size: 22px;
            padding: 0 6px 2px 0; }
          #mypage .mypage-contents .schedule-mypage .schedule .controls .btn .txt {
            font-size: 16px;
            line-height: 16px; }
        #mypage .mypage-contents .schedule-mypage .schedule .controls .not-read {
          color: #fff700; }
    #mypage .mypage-contents .schedule-mypage .invalid {
      border: 1px dashed #8d8d8d;
      pointer-events: none; }
      #mypage .mypage-contents .schedule-mypage .invalid .contents .time {
        background-color: #a7a7a7; }
      #mypage .mypage-contents .schedule-mypage .invalid:hover {
        border: 1px solid #8d8d8d; }
        #mypage .mypage-contents .schedule-mypage .invalid:hover .contents .time {
          background-color: #a7a7a7; }
#mypage .mypage-link-sub {
  width: 100%;
  display: none;
  margin-top: 80px;
  border-top: 1px solid #ededed;
  padding: 10px 20px; }
  @media screen and (min-width: 554px) {
    #mypage .mypage-link-sub {
      display: none; } }
  @media screen and (min-width: 769px) {
    #mypage .mypage-link-sub {
      display: block; } }
  #mypage .mypage-link-sub .menu-list {
    width: 1150px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap; }
    #mypage .mypage-link-sub .menu-list .comment {
      width: 100%;
      padding: 5px 10px; }
    #mypage .mypage-link-sub .menu-list .menu-item {
      width: 50%;
      padding: 10px 30px;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-around;
      align-items: center; }
      #mypage .mypage-link-sub .menu-list .menu-item .ico {
        width: 40px;
        color: #77838b;
        font-size: 30px;
        padding-bottom: 1px; }
      #mypage .mypage-link-sub .menu-list .menu-item .txt {
        width: calc(100% - 180px); }
      #mypage .mypage-link-sub .menu-list .menu-item .btn {
        width: 140px;
        padding: 5px 10px;
        text-align: center;
        color: #ffffff;
        background-color: #333333;
        border: 1px solid #bbbbbb;
        border-radius: 20px;
        cursor: pointer; }
        #mypage .mypage-link-sub .menu-list .menu-item .btn:hover {
          opacity: 0.8; }

/*----------------------------------------------------
  school（数ページ共通のためID利用なし）
----------------------------------------------------*/
.school {
  width: 100%;
  margin: 10px 0 0 0; }
  .school .portfolio {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
    border: 1px solid #dfdfdf;
    box-sizing: border-box;
    padding: 10px;
    position: relative; }
    .school .portfolio .photo {
      display: block;
      width: 300px;
      height: 300px;
      background-color: #ededed; }
      @media screen and (min-width: 554px) {
        .school .portfolio .photo {
          width: 220px;
          height: 220px; } }
      @media screen and (min-width: 769px) {
        .school .portfolio .photo {
          width: 300px;
          height: 300px; } }
      .school .portfolio .photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 50%; }
    .school .portfolio .logo {
      position: absolute;
      right: 10px;
      top: 10px;
      max-width: 200px;
      max-height: 200px;
      display: none; }
      @media screen and (min-width: 554px) {
        .school .portfolio .logo {
          display: none; } }
      @media screen and (min-width: 769px) {
        .school .portfolio .logo {
          display: block; } }
      .school .portfolio .logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: 50% 50%; }
    .school .portfolio .summary {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-content: space-between; }
      @media screen and (min-width: 554px) {
        .school .portfolio .summary {
          width: calc(100% - 220px); } }
      @media screen and (min-width: 769px) {
        .school .portfolio .summary {
          width: calc(100% - 300px); } }
      .school .portfolio .summary .items {
        width: 100%;
        padding: 10px; }
        .school .portfolio .summary .items .item {
          width: 100%;
          padding: 5px;
          display: flex; }
          .school .portfolio .summary .items .item .tag {
            width: 120px;
            height: 24px;
            white-space: nowrap;
            color: #ffffff;
            background-color: #5e5e5e;
            text-align: center;
            border-radius: 10px;
            margin-right: 10px; }
            @media screen and (min-width: 554px) {
              .school .portfolio .summary .items .item .tag {
                width: 100px;
                height: 24px; } }
            @media screen and (min-width: 769px) {
              .school .portfolio .summary .items .item .tag {
                width: 120px;
                height: 21px; } }
      .school .portfolio .summary .sns {
        width: 100%;
        padding: 15px 0;
        display: flex; }
        .school .portfolio .summary .sns .item {
          display: block;
          width: 40px;
          height: 40px;
          margin-left: 15px;
          cursor: pointer; }
          .school .portfolio .summary .sns .item img {
            width: 100%;
            height: 100%;
            object-fit: contain; }
          .school .portfolio .summary .sns .item:hover {
            opacity: 0.7; }
      .school .portfolio .summary .contact {
        width: 100%;
        padding: 10px 0 10px 10px;
        display: flex;
        justify-content: flex-end;
        flex-wrap: wrap; }
        .school .portfolio .summary .contact .msg-area {
          width: 100%;
          padding-bottom: 10px;
          display: flex;
          justify-content: flex-end;
          z-index: 2; }
          .school .portfolio .summary .contact .msg-area .msg {
            width: auto;
            padding: 20px;
            background-color: #eef3db;
            border-radius: 5px;
            display: flex;
            align-items: center; }
            .school .portfolio .summary .contact .msg-area .msg .ico {
              font-size: 38px;
              padding: 0  0 3px 10px; }
            .school .portfolio .summary .contact .msg-area .msg .txt {
              font-size: 18px; }
        .school .portfolio .summary .contact .btn {
          display: flex;
          align-items: center;
          color: #ffffff;
          background-color: #78a208;
          padding: 5px 15px;
          border-radius: 15px;
          cursor: pointer;
          white-space: nowrap;
          -webkit-user-select: none;
          -moz-user-select: none;
          -ms-user-select: none;
          user-select: none; }
          .school .portfolio .summary .contact .btn .ico {
            padding: 0 10px 0 0;
            font-size: 20px; }
          .school .portfolio .summary .contact .btn:hover {
            opacity: 0.8; }
        .school .portfolio .summary .contact .inactive {
          background-color: #d5d5d5;
          cursor: default; }
          .school .portfolio .summary .contact .inactive:hover {
            opacity: 1; }
    .school .portfolio .explain {
      width: 100%;
      padding: 10px;
      background-color: #f9f9f9;
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      .school .portfolio .explain .logo-s {
        max-width: 200px;
        max-height: 200px;
        display: block;
        position: relative;
        overflow: hidden;
        margin-bottom: 10px; }
        @media screen and (min-width: 554px) {
          .school .portfolio .explain .logo-s {
            display: block; } }
        @media screen and (min-width: 769px) {
          .school .portfolio .explain .logo-s {
            display: none; } }
        .school .portfolio .explain .logo-s img {
          width: 100%;
          height: 100%;
          object-fit: contain;
          object-position: 50% 50%; }
      .school .portfolio .explain .item {
        width: 100%;
        padding: 5px 10px; }
        .school .portfolio .explain .item .title {
          width: 100%;
          font-weight: bold;
          display: flex;
          align-items: center; }
          .school .portfolio .explain .item .title .ico {
            font-size: 20px;
            margin-right: 5px; }
            @media screen and (min-width: 769px) {
              .school .portfolio .explain .item .title .ico {
                padding-bottom: 3px; } }
        .school .portfolio .explain .item .txt {
          width: 100%; }
    .school .portfolio .intro-photo-area {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      padding-top: 10px; }
      .school .portfolio .intro-photo-area .intro-photo {
        width: 100%;
        height: 350px;
        margin: 0;
        border: 1px solid #f1f1f1;
        border-radius: 20px;
        margin: 5px 0;
        overflow: hidden; }
        @media screen and (min-width: 554px) {
          .school .portfolio .intro-photo-area .intro-photo {
            width: calc(50% - 10px);
            margin: 5px; } }
        @media screen and (min-width: 769px) {
          .school .portfolio .intro-photo-area .intro-photo {
            width: calc(33.3% - 10px);
            margin: 5px; } }
        .school .portfolio .intro-photo-area .intro-photo img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: 50% 50%; }
  .school .course {
    width: 100%;
    min-height: 200px;
    background-color: #f9f9e0;
    padding: 10px; }

/*----------------------------------------------------
  trial（数ページ共通のためID利用なし）
----------------------------------------------------*/
.trial {
  width: 100%;
  margin: 30px 0 50px;
  background-color: #7c7e43;
  border: 2px solid #ffffff;
  box-shadow: 0px 0px 0px 2px #7c7e43;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  @media screen and (min-width: 769px) {
    .trial {
      padding: 0; } }
  .trial .guide-area {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    padding: 5px 10px; }
    @media screen and (min-width: 769px) {
      .trial .guide-area {
        justify-content: space-between; } }
    .trial .guide-area .title {
      font-size: 22px;
      color: #ffffff;
      padding: 0 15px; }
      @media screen and (min-width: 769px) {
        .trial .guide-area .title {
          font-size: 32px; } }
    .trial .guide-area .btn {
      display: flex;
      color: #ffffff;
      background-color: #3f461f;
      align-items: center;
      justify-content: center;
      width: 130px;
      height: 35px;
      border-radius: 18px;
      white-space: nowrap;
      margin: 10px 0;
      cursor: pointer; }
      .trial .guide-area .btn:hover {
        background-color: #99b51c; }
  .trial .contact-area {
    width: 100%;
    background-color: #ffffff;
    border-left: 2px solid #dbd7aa;
    border-right: 2px solid #dbd7aa;
    border-bottom: 2px solid #dbd7aa;
    padding: 10px;
    display: none; }
    .trial .contact-area .contact {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap; }
      @media screen and (min-width: 769px) {
        .trial .contact-area .contact {
          justify-content: space-evenly; } }
      .trial .contact-area .contact table {
        width: 100%;
        max-width: 800px; }
      .trial .contact-area .contact tr {
        border-bottom: solid 1px #eee; }
        .trial .contact-area .contact tr:last-child {
          border-bottom: none; }
      .trial .contact-area .contact th {
        width: 100%;
        display: inline-block;
        padding: 10px 0;
        position: relative;
        font-weight: bold; }
        @media screen and (min-width: 769px) {
          .trial .contact-area .contact th {
            width: 200px;
            padding: 20px 0;
            display: table-cell; } }
      .trial .contact-area .contact td {
        width: 100%;
        display: inline-block;
        padding: 0 0 10px; }
        @media screen and (min-width: 769px) {
          .trial .contact-area .contact td {
            width: calc(100% - 200px);
            padding: 20px 0 20px 80px;
            display: table-cell; } }
        .trial .contact-area .contact td input[type="text"], .trial .contact-area .contact td input[type="date"], .trial .contact-area .contact td input[type="time"] {
          padding: 7px 15px;
          width: 100%;
          border: solid 1px #d7d8d9;
          border-radius: 5px; }
        .trial .contact-area .contact td textarea {
          width: 100%;
          padding: 7px 15px;
          border: solid 1px #d7d8d9;
          border-radius: 5px;
          height: 100px; }
        .trial .contact-area .contact td select {
          border-style: none;
          -moz-appearance: none;
          text-indent: 0.01px;
          -o-text-overflow: '';
          text-overflow: '';
          appearance: none;
          -webkit-appearance: none;
          width: 280px;
          height: 48px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          border: solid 1px #d7d8d9;
          border-radius: 5px;
          padding: 0 40px 0 10px;
          position: relative;
          background: #FFFFFF;
          font-size: 16px; }
          @media screen and (min-width: 769px) {
            .trial .contact-area .contact td select {
              font-size: 14px; } }
          @media screen and (min-width: 769px) {
            .trial .contact-area .contact td select:hover {
              cursor: pointer; } }
        .trial .contact-area .contact td select::-ms-expand {
          display: none; }
        .trial .contact-area .contact td .check-area {
          display: flex;
          flex-wrap: wrap; }
          .trial .contact-area .contact td .check-area .check-item {
            display: flex;
            align-items: center;
            white-space: nowrap; }
            .trial .contact-area .contact td .check-area .check-item input[type="radio"] {
              width: 20px;
              height: 20px;
              cursor: pointer;
              margin: 0 0 1px 10px; }
            .trial .contact-area .contact td .check-area .check-item .check {
              cursor: pointer; }
        .trial .contact-area .contact td label {
          padding: 5px 20px 5px 10px;
          display: block;
          float: left; }
      .trial .contact-area .contact .btn {
        width: 200px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d7d8d9;
        border-radius: 25px;
        font-size: 16px;
        font-weight: bold;
        color: #333333;
        background-color: #f1f1f1;
        margin: 10px 0;
        cursor: pointer; }
        .trial .contact-area .contact .btn:hover {
          color: #ffffff;
          border: 1px solid #ffa000;
          background-color: #ffa000; }

/*----------------------------------------------------
  course（数ページ共通のためID利用なし）
----------------------------------------------------*/
.course {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  list-style: none; }
  @media screen and (min-width: 769px) {
    .course {
      margin: 30px -20px 0;
      padding: 0;
      width: 1240px; } }
  .course .sub-title {
    width: 100%;
    margin-bottom: 10px;
    font-size: 26px;
    text-align: center; }
  .course .course-item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    margin: 0 0 30px 0;
    border: 2px solid #ded7be;
    font-size: 14px;
    padding: 10px;
    border-radius: 5px;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    @media screen and (min-width: 769px) {
      .course .course-item {
        margin: 0 1.25% 30px;
        width: 47.5%; } }
    .course .course-item .ribbon {
      display: inline-block;
      position: absolute;
      top: -6px;
      right: 30px;
      margin: 0;
      padding: 20px 10px 10px;
      z-index: 2;
      width: 50px;
      text-align: center;
      color: white;
      font-size: 17px;
      background: #856161;
      border-radius: 2px 0 0 0;
      line-height: 18px;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none; }
      .course .course-item .ribbon::before {
        position: absolute;
        content: '';
        top: 0;
        right: -5px;
        border: none;
        border-bottom: solid 6px #584848;
        border-right: solid 5px transparent; }
      .course .course-item .ribbon::after {
        content: '';
        position: absolute;
        left: 0;
        top: 100%;
        height: 0;
        width: 0;
        border-left: 25px solid transparent;
        border-right: 25px solid transparent;
        border-top: 13px solid #856161; }
    .course .course-item .title {
      width: 100%;
      height: 38px;
      color: #fff59b;
      background-color: #4c4c4c;
      padding: 5px 10px;
      font-size: 20px;
      font-weight: bold; }
    .course .course-item .contents {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 3px 0;
      position: relative; }
      .course .course-item .contents .summary {
        width: 100%;
        display: block;
        position: relative; }
        .course .course-item .contents .summary .summary-item {
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: flex-start;
          margin: 2px 0; }
          .course .course-item .contents .summary .summary-item .tag, .course .course-item .contents .summary .summary-item .tag2 {
            width: 80px;
            background-color: #e2e5d9;
            font-size: 12px;
            text-align: center;
            border-radius: 5px;
            padding: 2px; }
          .course .course-item .contents .summary .summary-item .tag2 {
            background-color: #ffdbc8; }
          .course .course-item .contents .summary .summary-item .txt {
            width: calc(100% - 80px);
            padding-left: 10px; }
          .course .course-item .contents .summary .summary-item .txt-subject {
            padding-left: 10px;
            font-size: 16px;
            font-weight: bold; }
        .course .course-item .contents .summary .btn-apply {
          position: absolute;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          align-content: center;
          width: 80px;
          height: 80px;
          right: 0;
          top: 6px;
          padding-bottom: 7px;
          color: #ffffff;
          background-color: #ef395a;
          border-radius: 50%;
          box-shadow: #e1e1e1 0px 6px 16px;
          cursor: pointer;
          -webkit-user-select: none;
          -moz-user-select: none;
          -ms-user-select: none;
          user-select: none; }
          .course .course-item .contents .summary .btn-apply:hover {
            opacity: 0.8; }
          .course .course-item .contents .summary .btn-apply:active {
            right: -1px;
            top: 7px; }
          .course .course-item .contents .summary .btn-apply .ico {
            font-size: 40px; }
          .course .course-item .contents .summary .btn-apply .txt {
            font-weight: bold; }
        .course .course-item .contents .summary .inactive {
          background-color: #d5d5d5;
          box-shadow: none;
          cursor: default; }
          .course .course-item .contents .summary .inactive:hover {
            opacity: 1; }
          .course .course-item .contents .summary .inactive:active {
            right: 0;
            top: 6px; }
      .course .course-item .contents .summary-view-only {
        width: 100%; }
      .course .course-item .contents .btn {
        width: 65px;
        height: 65px;
        display: flex;
        align-items: center;
        justify-content: center;
        align-content: center;
        position: absolute;
        right: 5px;
        color: #ffffff;
        background-color: #454044;
        font-size: 16px;
        border-radius: 50%;
        cursor: pointer; }
        .course .course-item .contents .btn:hover {
          opacity: 0.8; }
    .course .course-item .report-title {
      width: 100%;
      margin-top: 30px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: nowrap;
      color: #bf5c07; }
      .course .course-item .report-title:first-child {
        margin-top: 10px; }
      .course .course-item .report-title .ico {
        font-size: 22px;
        margin-right: 5px;
        padding-bottom: 3px; }
      .course .course-item .report-title .label {
        font-size: 18px;
        font-weight: bold; }
    .course .course-item .comment {
      width: 100%;
      white-space: pre-wrap;
      padding-top: 5px;
      /*max-height: 68px;
      overflow: hidden;
      text-overflow: ellipsis;*/ }
    .course .course-item .status-area {
      position: absolute;
      top: 18px;
      right: 12px;
      display: flex;
      flex-wrap: nowrap; }
      .course .course-item .status-area .status {
        color: #ffffff;
        background-color: #008bd7;
        line-height: 18px;
        border-radius: 4px;
        padding: 3px 10px 1px 10px;
        margin: 0 3px; }
      .course .course-item .status-area .stop {
        background-color: #d71919; }
    .course .course-item:hover {
      background-color: #fffcec; }
  .course .no-hover:hover {
    border: 2px solid #ded7be;
    background-color: #ffffff; }
  @media screen and (min-width: 769px) {
    .course .course-item-large {
      width: 100%; } }
  .course .select-course {
    background-color: #fffff4;
    border: 5px solid #ffa850;
    border-radius: 0 5px 5px 5px;
    position: relative;
    margin: 65px 0 15px; }
    .course .select-course .ribbon {
      top: -10px; }
    .course .select-course .title-tab {
      position: absolute;
      left: -5px;
      top: -30px;
      height: 30px;
      padding: 0 25px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      background-color: #ffa850;
      border-radius: 0 6px 0 0; }
    .course .select-course .contents .summary .summary-item .tag {
      background-color: #ffd72d; }
    .course .select-course:hover {
      background-color: #fffff4;
      border: 5px solid #ffa850; }

/*----------------------------------------------------
  course
----------------------------------------------------*/
.shift {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  list-style: none; }
  .shift .top-control {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: -10px; }
    .shift .top-control .teacher {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: flex-start; }
      .shift .top-control .teacher .photo {
        width: 40px;
        height: 40px; }
        .shift .top-control .teacher .photo img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
      .shift .top-control .teacher .name {
        padding-left: 20px;
        font-size: 18px; }
    .shift .top-control .control .btn {
      width: 70px;
      padding: 7px 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      line-height: 14px;
      color: #ffffff;
      background-color: #4d4d4d;
      border-radius: 0 15px 15px  0;
      cursor: pointer; }
      .shift .top-control .control .btn:hover {
        opacity: 0.7; }
  .shift .shift-summary {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: column;
    margin: 20px 0 20px 0;
    border: 2px solid #ded7be;
    font-size: 14px;
    padding: 10px 5px 10px 5px;
    border-radius: 5px;
    position: relative; }
    @media screen and (min-width: 769px) {
      .shift .shift-summary {
        padding: 10px 20px 10px 10px; } }
    .shift .shift-summary .day-summary {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .shift .shift-summary .day-summary .month {
        display: flex;
        align-items: center; }
      .shift .shift-summary .day-summary .execute-day {
        display: flex;
        align-items: center; }
      .shift .shift-summary .day-summary p {
        font-size: 18px;
        font-weight: bold;
        padding: 0 3px; }
        @media screen and (min-width: 769px) {
          .shift .shift-summary .day-summary p {
            padding: 0 10px; } }
    .shift .shift-summary .pay {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      margin-top: 10px; }
      .shift .shift-summary .pay .title {
        font-size: 20px; }
      .shift .shift-summary .pay .price {
        font-size: 30px;
        font-weight: bold;
        padding: 0 5px 0 20px; }
      .shift .shift-summary .pay .yen {
        font-size: 14px; }
    .shift .shift-summary .pdf {
      position: absolute;
      bottom: 15px;
      left: 20px;
      font-size: 34px;
      color: #ff9800;
      cursor: pointer; }
      .shift .shift-summary .pdf:hover {
        color: #e91e63; }
      .shift .shift-summary .pdf:active {
        bottom: 14px;
        left: 21px; }
  .shift .explain {
    width: 100%; }
    .shift .explain .line {
      width: 100%;
      display: flex;
      align-items: flex-start;
      margin-bottom: 5px; }
      .shift .explain .line .title {
        width: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background-color: #009de3;
        border-radius: 10px;
        font-size: 13px;
        line-height: 13px;
        padding: 4px 0 3px; }
      .shift .explain .line .txt {
        display: flex;
        padding-left: 10px;
        width: calc(100% - 100px); }
        .shift .explain .line .txt p {
          font-size: 16px;
          font-weight: bold;
          margin-right: 20px; }

/*----------------------------------------------------
  メッセージ（数ページ共通のためID利用なし）
----------------------------------------------------*/
.msg {
  width: 100%;
  margin: 10px 0 0 0; }
  .msg .portfolio {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 10px;
    border: 1px solid #dfdfdf;
    box-sizing: border-box;
    padding: 10px; }
    .msg .portfolio .logo {
      display: flex;
      align-items: center;
      justify-content: center;
      align-content: center;
      width: 250px;
      height: 250px;
      background-color: #ededed; }
      @media screen and (min-width: 554px) {
        .msg .portfolio .logo {
          width: 200px;
          height: 200px; } }
      @media screen and (min-width: 769px) {
        .msg .portfolio .logo {
          width: 200px;
          height: 200px; } }
      .msg .portfolio .logo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 50%; }
      .msg .portfolio .logo .ico {
        font-size: 200px;
        color: #a78888; }
    .msg .portfolio .summary {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-content: space-between; }
      @media screen and (min-width: 554px) {
        .msg .portfolio .summary {
          width: calc(100% - 200px); } }
      @media screen and (min-width: 769px) {
        .msg .portfolio .summary {
          width: calc(100% - 200px); } }
      .msg .portfolio .summary .items {
        width: 100%;
        padding: 10px; }
        .msg .portfolio .summary .items .item {
          width: 100%;
          padding: 5px;
          display: flex; }
          .msg .portfolio .summary .items .item .tag {
            width: 100px;
            height: 24px;
            white-space: nowrap;
            color: #ffffff;
            background-color: #5e5e5e;
            text-align: center;
            border-radius: 10px;
            margin-right: 10px; }
            @media screen and (min-width: 554px) {
              .msg .portfolio .summary .items .item .tag {
                width: 100px;
                height: 24px; } }
            @media screen and (min-width: 769px) {
              .msg .portfolio .summary .items .item .tag {
                width: 120px;
                height: 21px; } }
  .msg .msg-area {
    width: 100%; }
    .msg .msg-area .msg-write {
      width: 100%; }
      .msg .msg-area .msg-write table {
        width: 100%;
        margin: 10px 0 30px; }
        .msg .msg-area .msg-write table th {
          font-weight: bold;
          /*padding: 10px 0;*/
          width: 100%;
          display: inline-block; }
          @media screen and (min-width: 769px) {
            .msg .msg-area .msg-write table th {
              /*padding: 20px 0;*/
              width: 230px;
              display: table-cell; } }
        .msg .msg-area .msg-write table td {
          /*padding: 0 0 10px;*/
          width: 100%;
          display: inline-block; }
          @media screen and (min-width: 769px) {
            .msg .msg-area .msg-write table td {
              /*padding: 20px 0 20px 80px;*/
              width: calc(100% - 230px);
              display: table-cell; } }
          .msg .msg-area .msg-write table td input[type="text"] {
            padding: 12px 15px;
            width: 100%;
            border: 1px solid #d7d8d9;
            border-radius: 5px; }
          .msg .msg-area .msg-write table td textarea {
            width: 100%;
            padding: 12px 15px;
            border: 1px solid #d7d8d9;
            border-radius: 5px;
            height: 160px; }
          .msg .msg-area .msg-write table td .file-select {
            display: flex;
            align-items: center; }
            .msg .msg-area .msg-write table td .file-select input[type="file"] {
              display: none; }
            .msg .msg-area .msg-write table td .file-select label {
              color: #3c3c3c;
              background-color: #f5f5f5;
              border: 1px solid #d9d9d9;
              margin: 0 10px 0  0;
              padding: 2px 15px;
              border-radius: 5px;
              white-space: nowrap;
              cursor: pointer; }
              .msg .msg-area .msg-write table td .file-select label:hover {
                color: #ffffff;
                background-color: #666666; }
      .msg .msg-area .msg-write .btn-area {
        width: 100%;
        text-align: center;
        display: flex;
        justify-content: center; }
        .msg .msg-area .msg-write .btn-area .btn {
          text-align: center;
          width: 50%;
          max-width: 250px;
          margin: 0 5px; }
          @media screen and (min-width: 554px) {
            .msg .msg-area .msg-write .btn-area .btn {
              margin: 0 10px; } }
          @media screen and (min-width: 769px) {
            .msg .msg-area .msg-write .btn-area .btn {
              margin: 0 30px; } }
          .msg .msg-area .msg-write .btn-area .btn .link {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 30px;
            border: 1px solid #d7d8d9;
            width: 100%;
            height: 52px;
            background-color: #FFFFFF;
            text-align: center;
            font-weight: bold;
            cursor: pointer; }
            @media screen and (min-width: 769px) {
              .msg .msg-area .msg-write .btn-area .btn .link {
                height: 60px; }
                .msg .msg-area .msg-write .btn-area .btn .link:hover {
                  background-color: #ffa000;
                  border-color: #ffa000;
                  color: #FFFFFF !important; }
                  .msg .msg-area .msg-write .btn-area .btn .link:hover:after {
                    border-color: #FFFFFF !important; } }
            .msg .msg-area .msg-write .btn-area .btn .link:after {
              content: '';
              display: block;
              position: absolute;
              top: 50%;
              right: 18px;
              border-top: 1px solid #212121;
              border-right: 1px solid #212121;
              width: .5em;
              height: .5em;
              -webkit-transform: translate(0, -50%) rotate(45deg);
              -ms-transform: translate(0, -50%) rotate(45deg);
              transform: translate(0, -50%) rotate(45deg); }
              @media screen and (min-width: 769px) {
                .msg .msg-area .msg-write .btn-area .btn .link:after {
                  right: 28px;
                  -webkit-transition: all .25s ease;
                  -o-transition: all .25s ease;
                  transition: all .25s ease; } }
            .msg .msg-area .msg-write .btn-area .btn .link > * {
              line-height: 1; }
            .msg .msg-area .msg-write .btn-area .btn .link i {
              display: inline-block;
              margin: -1px 0 0 -.5em;
              font-size: 31px;
              color: #ff5555; }
              @media screen and (min-width: 769px) {
                .msg .msg-area .msg-write .btn-area .btn .link i {
                  margin-left: 0;
                  -webkit-transition: all .25s ease;
                  -o-transition: all .25s ease;
                  transition: all .25s ease; } }
            .msg .msg-area .msg-write .btn-area .btn .link span {
              font-size: 15px; }
              @media screen and (min-width: 769px) {
                .msg .msg-area .msg-write .btn-area .btn .link span {
                  font-size: 16px;
                  font-weight: bold;
                  -webkit-transition: all .25s ease;
                  -o-transition: all .25s ease;
                  transition: all .25s ease; } }
    .msg .msg-area .msg-history {
      width: 100%;
      margin-top: 60px; }
      .msg .msg-area .msg-history .title {
        width: 100%;
        font-size: 18px;
        text-align: center; }
        @media screen and (min-width: 769px) {
          .msg .msg-area .msg-history .title {
            font-size: 26px; } }
      .msg .msg-area .msg-history .history-list {
        width: 100%;
        padding: 10px 0; }
        .msg .msg-area .msg-history .history-list .history {
          width: 100%;
          padding: 10px 10px;
          border-bottom: solid 1px #eee;
          position: relative; }
          .msg .msg-area .msg-history .history-list .history:first-child {
            border-top: solid 1px #eee; }
          .msg .msg-area .msg-history .history-list .history:hover {
            background-color: #fffdf5; }
          .msg .msg-area .msg-history .history-list .history .writer {
            color: #db3b17;
            display: flex; }
            .msg .msg-area .msg-history .history-list .history .writer .ico {
              font-size: 19px;
              padding-top: 1px; }
            .msg .msg-area .msg-history .history-list .history .writer .name {
              font-weight: bold;
              font-size: 14px; }
          .msg .msg-area .msg-history .history-list .history .me {
            color: #939393; }
          .msg .msg-area .msg-history .history-list .history .contents {
            font-size: 14px;
            white-space: pre-line;
            padding: 5px 0; }
          .msg .msg-area .msg-history .history-list .history .date {
            font-size: 12px;
            color: #0975a9; }
          .msg .msg-area .msg-history .history-list .history .attached-file-area {
            width: 100%;
            display: flex;
            flex-wrap: wrap; }
            .msg .msg-area .msg-history .history-list .history .attached-file-area .attached-file {
              width: 350px;
              max-width: 100%;
              height: 55px;
              display: flex;
              align-items: center;
              justify-content: center;
              color: #97345d;
              background-color: #fffdd0;
              border: 1px solid #efedc5;
              border-radius: 5px;
              font-size: 14px;
              line-height: 16px;
              margin: 0 5px 5px 0;
              overflow: hidden;
              cursor: pointer; }
              .msg .msg-area .msg-history .history-list .history .attached-file-area .attached-file:hover {
                color: #ffffff;
                background-color: #ff9800; }
          .msg .msg-area .msg-history .history-list .history .new {
            position: absolute;
            top: 12px;
            right: 8px;
            width: 50px;
            height: 15px;
            line-height: 16px;
            border-radius: 9px;
            background-color: #ff006f;
            color: white;
            font-size: 12px;
            text-align: center; }

/*----------------------------------------------------
  メッセージ一覧
----------------------------------------------------*/
.msg-list {
  width: 100%;
  margin-top: 20px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .msg-list .msg-item {
    width: 100%;
    border-top: 1px solid #c3b7b7;
    border-bottom: 1px solid #c3b7b7;
    border-left: 1px solid #c3b7b7;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between; }
    .msg-list .msg-item:hover {
      background-color: #fffdf5; }
    .msg-list .msg-item .contents {
      width: calc(100% - 50px);
      position: relative;
      overflow: hidden; }
      .msg-list .msg-item .contents .from-to {
        width: 100%;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        background-color: #eeeeee;
        padding: 0 5px; }
        .msg-list .msg-item .contents .from-to .tag {
          width: 60px;
          height: 16px;
          font-size: 12px;
          color: #ffffff;
          background-color: #8d6e0c;
          border-radius: 10px;
          display: flex;
          justify-content: center;
          align-items: stretch; }
        .msg-list .msg-item .contents .from-to .val {
          width: calc(100% - 60px);
          padding: 3px 0 0 10px;
          white-space: nowrap; }
          @media screen and (min-width: 769px) {
            .msg-list .msg-item .contents .from-to .val {
              width: calc((100% - 120px) / 2); } }
      .msg-list .msg-item .contents .message {
        width: 100%;
        padding: 5px;
        white-space: nowrap;
        height: 25px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: inline-block; }
      .msg-list .msg-item .contents .date {
        width: 100%;
        font-size: 12px;
        color: #aaaaaa;
        padding: 0 5px; }
      .msg-list .msg-item .contents .not-read {
        position: absolute;
        top: 6px;
        right: 8px;
        width: 50px;
        height: 15px;
        line-height: 16px;
        border-radius: 9px;
        background-color: #ff006f;
        color: white;
        font-size: 12px;
        text-align: center; }
    .msg-list .msg-item .action {
      width: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      background-color: #724848;
      cursor: pointer; }
      .msg-list .msg-item .action:hover {
        opacity: 0.7; }

/*----------------------------------------------------
  生徒一覧（先生機能）
----------------------------------------------------*/
.student-list {
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .student-list .student {
    width: 100%;
    margin: 10px 0;
    border: 1px solid #e7e7e7;
    border-radius: 5px;
    padding: 10px; }
    .student-list .student .profile {
      width: 100%; }
      .student-list .student .profile .item {
        width: 100%;
        margin: 5px 0;
        display: flex;
        align-items: center; }
        .student-list .student .profile .item .tag {
          width: 70px;
          height: 17px;
          color: #ffffff;
          background-color: #77854f;
          font-size: 12px;
          text-align: center;
          border-radius: 7px; }
        .student-list .student .profile .item .val {
          width: calc(100% - 70px);
          padding: 0 0 0 10px;
          display: flex;
          align-items: center; }
          .student-list .student .profile .item .val .txt {
            line-height: 14px;
            padding-top: 4px; }
          .student-list .student .profile .item .val .warning {
            height: 17px;
            padding: 0 10px;
            font-size: 12px;
            color: #ffffff;
            background-color: #ff047d;
            border-radius: 10px;
            text-align: center;
            margin-left: 10px; }
    .student-list .student .action-area {
      width: 100%;
      display: flex;
      justify-content: center;
      margin: 20px 0 10px 0; }
      .student-list .student .action-area .action {
        color: #ffffff;
        background-color: #4e4e4e;
        padding: 3px 20px;
        margin: 0 10px;
        min-width: 100px;
        text-align: center;
        border-radius: 16px;
        cursor: pointer; }
        .student-list .student .action-area .action:hover {
          background-color: #ffa000; }
      .student-list .student .action-area .inactive {
        background-color: #c3c3c3;
        cursor: default; }
        .student-list .student .action-area .inactive:hover {
          background-color: #c3c3c3; }

/*----------------------------------------------------
  成績通知表
----------------------------------------------------*/
.record {
  width: 100%; }
  .record .title {
    width: 100%;
    text-align: center;
    color: #f37676;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px; }
    .record .title .ico {
      font-size: 33px;
      padding-bottom: 4px;
      margin-right: 5px; }
    .record .title .txt {
      font-size: 24px; }
  .record .explain {
    width: 100%;
    font-size: 12px; }
  .record .contents {
    width: 100%;
    margin-bottom: 40px;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    border-top: 1px solid #b18f8f;
    border-bottom: 1px solid #b18f8f; }
    .record .contents table {
      width: 100%; }
      .record .contents table tr th {
        padding: 1px;
        border: 1px solid #e3e3e3;
        font-size: 12px;
        font-weight: bold;
        text-align: center;
        white-space: nowrap;
        color: #666666;
        background-color: #f1f1f1; }
      .record .contents table tr .option {
        border-left: none;
        border-right: none;
        background-color: unset;
        font-weight: normal;
        position: relative;
        top: 3px; }
      .record .contents table tr td {
        padding: 1px;
        border: 1px solid #e3e3e3;
        font-size: 12px;
        text-align: center;
        white-space: nowrap;
        min-width: 38px; }
        .record .contents table tr td input[type="text"] {
          width: 40px;
          border: 1px solid #eeeeee;
          padding: 3px;
          background-color: #ffffee;
          height: 25px;
          margin: 4px 0;
          font-size: 16px; }
          @media screen and (min-width: 554px) {
            .record .contents table tr td input[type="text"] {
              width: 40px; } }
          @media screen and (min-width: 769px) {
            .record .contents table tr td input[type="text"] {
              width: 100%; } }
  .record .contents::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari 対応 */ }

/*----------------------------------------------------
  面談記録
----------------------------------------------------*/
.interview {
  width: 100%; }
  .interview .one-interview {
    width: 100%;
    border: 1px solid #d7d7d7;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    border-radius: 8px; }
    @media screen and (min-width: 554px) {
      .interview .one-interview {
        padding: 15px; } }
    @media screen and (min-width: 769px) {
      .interview .one-interview {
        padding: 20px; } }
    .interview .one-interview .condition {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      padding: 4px 0; }
      @media screen and (min-width: 769px) {
        .interview .one-interview .condition {
          width: 50%; } }
      .interview .one-interview .condition .title {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #956464;
        color: #ffffff;
        font-size: 14px;
        line-height: 14px;
        padding: 4px 0 2px; }
        @media screen and (min-width: 554px) {
          .interview .one-interview .condition .title {
            width: 135px; } }
      .interview .one-interview .condition .val {
        width: 100%;
        padding: 4px 8px; }
        @media screen and (min-width: 554px) {
          .interview .one-interview .condition .val {
            width: calc(100% - 135px); } }
        .interview .one-interview .condition .val.accent {
          font-weight: bold;
          font-size: 16px;
          color: #874243; }
    .interview .one-interview .description {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      padding: 4px 0; }
      .interview .one-interview .description .title {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #666666;
        color: #ffffff;
        font-size: 14px;
        line-height: 14px;
        padding: 18px 0 16px; }
        @media screen and (min-width: 554px) {
          .interview .one-interview .description .title {
            width: 135px; } }
      .interview .one-interview .description .val {
        width: 100%;
        padding: 8px;
        white-space: pre-line; }
        @media screen and (min-width: 554px) {
          .interview .one-interview .description .val {
            width: calc(100% - 135px); } }

/*----------------------------------------------------
  契約情報
----------------------------------------------------*/
.contract {
  width: 100%;
  margin-bottom: 20px; }
  .contract .item {
    width: 100%;
    margin-bottom: 7px;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none; }
    .contract .item table {
      width: 100%; }
      .contract .item table tr th {
        padding: 4px 5px;
        border: 1px solid #e3e3e3;
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        white-space: nowrap;
        color: #666666;
        background-color: #f1f1f1; }
      .contract .item table tr td {
        padding: 10px 5px;
        border: 1px solid #e3e3e3;
        font-size: 14px;
        white-space: nowrap;
        min-width: 20px;
        max-width: 140px;
        overflow: hidden;
        text-overflow: ellipsis; }
        .contract .item table tr td input[type="text"] {
          width: 40px;
          border: 1px solid #eeeeee;
          padding: 3px;
          background-color: #ffffee;
          height: 25px;
          margin: 4px 0;
          font-size: 16px; }
          @media screen and (min-width: 554px) {
            .contract .item table tr td input[type="text"] {
              width: 40px; } }
          @media screen and (min-width: 769px) {
            .contract .item table tr td input[type="text"] {
              width: 100%; } }
        .contract .item table tr td .btn {
          padding: 5px 10px;
          text-align: center;
          color: #ffffff;
          background-color: #333333;
          border-radius: 4px;
          cursor: pointer; }
          .contract .item table tr td .btn:hover {
            opacity: 0.8; }
        .contract .item table tr td .pre-wrap {
          white-space: pre-wrap;
          min-width: 130px; }
        .contract .item table tr td:hover {
          background-color: #f3f9be; }
    .contract .item .summary {
      width: 100%;
      display: flex;
      justify-content: flex-end; }
      .contract .item .summary .sum {
        display: flex;
        align-items: center;
        border: 1px solid #dbdbdb;
        padding: 10px 25px;
        margin-top: 10px; }
        .contract .item .summary .sum .tag {
          padding-right: 10px; }
        .contract .item .summary .sum .price {
          font-size: 18px;
          font-weight: bold; }
  .contract .item::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari 対応 */ }
  .contract .comment {
    width: 100%;
    font-size: 12px;
    color: #666666; }
  .contract .caption {
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    color: #9d7f7f;
    margin-bottom: 10px; }

/*----------------------------------------------------
  共通フォームボタン
----------------------------------------------------*/
.form-btn {
  display: flex;
  justify-content: center;
  margin: 30px -5px 0; }
  @media screen and (min-width: 554px) {
    .form-btn {
      margin: 30px -10px 0; } }
  @media screen and (min-width: 769px) {
    .form-btn {
      margin: 40px 0 0; } }
  .form-btn .btn {
    text-align: center;
    width: 50%;
    max-width: 250px;
    margin: 0 5px; }
    @media screen and (min-width: 554px) {
      .form-btn .btn {
        margin: 0 10px; } }
    @media screen and (min-width: 769px) {
      .form-btn .btn {
        margin: 0 30px; } }
    .form-btn .btn .link {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 30px;
      border: 1px solid #d7d8d9;
      width: 100%;
      height: 52px;
      background-color: #FFFFFF;
      text-align: center;
      cursor: pointer; }
      @media screen and (min-width: 769px) {
        .form-btn .btn .link {
          height: 60px; } }
      .form-btn .btn .link:hover {
        background-color: #ffa000;
        border-color: #ffa000; }
        .form-btn .btn .link:hover:after {
          border-color: #FFFFFF !important; }
        .form-btn .btn .link:hover i, .form-btn .btn .link:hover span {
          color: #FFFFFF !important; }
      .form-btn .btn .link:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 18px;
        border-top: 1px solid #212121;
        border-right: 1px solid #212121;
        width: .5em;
        height: .5em;
        transform: translate(0, -50%) rotate(45deg); }
        @media screen and (min-width: 769px) {
          .form-btn .btn .link:after {
            right: 28px;
            transition: all .25s ease; } }
      .form-btn .btn .link > * {
        line-height: 1; }
      .form-btn .btn .link i {
        display: inline-block;
        margin: -1px 0 0 -.5em;
        font-size: 31px;
        color: #ff5555; }
        @media screen and (min-width: 769px) {
          .form-btn .btn .link i {
            margin-left: 0;
            transition: all .25s ease; } }
      .form-btn .btn .link span {
        font-size: 15px; }
        @media screen and (min-width: 769px) {
          .form-btn .btn .link span {
            font-size: 16px;
            font-weight: bold;
            transition: all .25s ease; } }

/*----------------------------------------------------
  notfound
----------------------------------------------------*/
#notfound .c-container .notfound__title {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin-top: 30px; }
  @media screen and (min-width: 554px) {
    #notfound .c-container .notfound__title {
      margin-top: 60px; } }
  @media screen and (min-width: 769px) {
    #notfound .c-container .notfound__title {
      margin-top: 90px;
      font-size: 24px; } }
  #notfound .c-container .notfound__title .sm {
    display: inline; }
    @media screen and (min-width: 554px) {
      #notfound .c-container .notfound__title .sm {
        display: none; } }
#notfound .c-container .notfound__text {
  text-align: center;
  margin-top: 30px;
  font-size: 14px;
  line-height: 2.0; }
  @media screen and (min-width: 554px) {
    #notfound .c-container .notfound__text {
      margin-top: 40px; } }
  @media screen and (min-width: 769px) {
    #notfound .c-container .notfound__text {
      margin-top: 60px; } }
#notfound .notfound-mainvis {
  background: url(/assets/front/img/notfound/notfound-mainvis-bg.jpg);
  background-repeat: repeat-x;
  background-size: cover;
  background-position: center; }
  @media screen and (min-width: 769px) {
    #notfound .notfound-mainvis {
      height: 580px;
      padding-top: 6px; }
      #notfound .notfound-mainvis .c-container {
        position: relative;
        height: 100%; } }
  #notfound .notfound-mainvis .notfound-mainvis__image {
    margin: 0 auto;
    max-width: 500px;
    width: 100%; }
    @media screen and (min-width: 769px) {
      #notfound .notfound-mainvis .notfound-mainvis__image {
        position: absolute;
        right: 30px;
        bottom: 0;
        width: 670px;
        max-width: none; } }
  #notfound .notfound-mainvis .notfound-mainvis__text {
    padding: 20px 0; }
    @media screen and (min-width: 554px) {
      #notfound .notfound-mainvis .notfound-mainvis__text {
        padding: 30px 0; } }
    @media screen and (min-width: 769px) {
      #notfound .notfound-mainvis .notfound-mainvis__text {
        padding-top: 75px;
        width: 470px; } }
    #notfound .notfound-mainvis .notfound-mainvis__text .balloon {
      background: #ffa000;
      font-size: 22px;
      font-weight: bold;
      color: #fff;
      line-height: 1.0;
      padding: 15px 0;
      text-align: center;
      border-radius: 50px;
      margin: 0 auto 10px;
      position: relative;
      max-width: 320px; }
      #notfound .notfound-mainvis .notfound-mainvis__text .balloon::after {
        content: "";
        position: absolute;
        bottom: -25px;
        right: 24%;
        border-top: 15px solid #ffa000;
        border-right: 20px solid #ffa000;
        border-bottom: 15px solid transparent;
        border-left: 20px solid transparent; }
      @media screen and (min-width: 769px) {
        #notfound .notfound-mainvis .notfound-mainvis__text .balloon {
          font-size: 34px;
          margin: 0 0 10px;
          padding: 25px 0;
          max-width: none; } }
    #notfound .notfound-mainvis .notfound-mainvis__text .title {
      text-align: center;
      font-size: 56px;
      font-family: Arial,sans-serif;
      color: #ffa000;
      line-height: 1.0; }
      #notfound .notfound-mainvis .notfound-mainvis__text .title span {
        font-size: 180px;
        display: block;
        margin: -5px 0 -10px; }
      @media screen and (min-width: 769px) {
        #notfound .notfound-mainvis .notfound-mainvis__text .title {
          font-size: 90px; }
          #notfound .notfound-mainvis .notfound-mainvis__text .title span {
            font-size: 280px;
            margin: -10px 0 -20px; } }
#notfound .notfound-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  #notfound .notfound-wrap .block {
    width: 100%; }
    @media screen and (min-width: 769px) {
      #notfound .notfound-wrap .block {
        width: 30%; } }
#notfound .notfound-lead {
  font-weight: normal;
  font-size: 18px;
  margin-top: 30px;
  padding: 0 3%; }
  @media screen and (min-width: 426px) {
    #notfound .notfound-lead {
      text-align: center; } }
  @media screen and (min-width: 554px) {
    #notfound .notfound-lead {
      margin-top: 60px; } }
  @media screen and (min-width: 769px) {
    #notfound .notfound-lead {
      padding: 0;
      font-size: 24px;
      margin-top: 90px; } }

/*----------------------------------------------------
  新デザイン定義
----------------------------------------------------*/
/*------------------------
コース
------------------------*/
.course-new {
  font-family: "Noto Sans JP", sans-serif;
  padding-top: 0px;
  /*------------------------
  共通
  ------------------------*/
  /*
    @media screen and (max-width: 553px) {
      .guidance-inner {
        padding: 15px 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
      }
    }
  */ }
  .course-new a {
    display: initial; }
  @media screen and (min-width: 554px) {
    .course-new {
      padding-top: 0px; } }
  @media screen and (min-width: 769px) {
    .course-new {
      padding-top: 136px; } }
  .course-new .line-link {
    display: block;
    width: 640px;
    margin: 60px auto 0;
    background-color: #06C755;
    border-radius: 16px;
    line-height: 105px;
    text-align: center;
    position: relative;
    font-size: 1.875rem;
    color: #fff;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .course-new .line-link {
        font-size: 1.5rem;
        width: 80%;
        line-height: 80px; } }
    @media screen and (max-width: 553px) {
      .course-new .line-link {
        font-size: 1.25rem;
        padding: 15px 0;
        width: 90%;
        line-height: normal; } }
  .course-new .line-link:hover {
    opacity: 0.7; }
  .course-new .line-link::before {
    content: "";
    position: absolute;
    top: 47%;
    right: 70px;
    width: 35px;
    height: 35px;
    border-top: 10px solid #fff;
    border-right: 10px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%); }
  @media screen and (max-width: 768px) {
    .course-new .line-link::before {
      width: 25px;
      height: 25px;
      right: 40px; } }
  @media screen and (max-width: 553px) {
    .course-new .line-link::before {
      width: 20px;
      height: 20px;
      right: 30px;
      border-top: 5px solid #fff;
      border-right: 5px solid #fff; } }
  .course-new .line-link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 60px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 105px;
    height: 105px;
    background-image: url(../image/course/line-icon.png);
    background-size: contain; }
  @media screen and (max-width: 768px) {
    .course-new .line-link::after {
      width: 60px;
      height: 60px;
      left: 30px; } }
  @media screen and (max-width: 553px) {
    .course-new .line-link::after {
      width: 50px;
      height: 50px; } }
  .course-new .online-course {
    padding: 80px 0 70px; }
  @media screen and (max-width: 553px) {
    .course-new .online-course {
      padding: 50px 0; } }
  .course-new .online-course .sec-txt {
    font-size: 1.625rem;
    margin-top: 15px;
    margin-bottom: 45px;
    line-height: 1; }
  @media screen and (max-width: 768px) {
    .course-new .online-course .sec-txt {
      font-size: 1.25rem; } }
  @media screen and (max-width: 553px) {
    .course-new .online-course .sec-txt {
      font-size: 1rem; } }
  @media screen and (max-width: 553px) {
    .course-new .online-course-list {
      width: 90%;
      margin: 0 auto; } }
  .course-new .online-course-list li {
    border-radius: 20px;
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  @media screen and (max-width: 553px) {
    .course-new .online-course-list li {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      padding: 20px; } }
  .course-new .online-course-list img {
    width: 300px;
    height: 200px;
    -o-object-fit: contain;
    object-fit: contain;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px; }
  @media screen and (max-width: 768px) {
    .course-new .online-course-list img {
      width: 250px;
      height: 165px; } }
  @media screen and (max-width: 553px) {
    .course-new .online-course-list img {
      width: 90%;
      height: auto;
      border-radius: 20px; } }
  .course-new .online-course__txt {
    font-size: 1.6875rem;
    letter-spacing: 2px; }
  @media screen and (max-width: 768px) {
    .course-new .online-course__txt {
      font-size: 1.25rem; } }
  @media screen and (max-width: 553px) {
    .course-new .online-course__txt {
      letter-spacing: 0; } }
  .course-new .online-course__txt-wrap {
    width: calc(100% - 300px);
    padding: 0 60px; }
  @media screen and (max-width: 768px) {
    .course-new .online-course__txt-wrap {
      width: calc(100% - 250px);
      padding: 0 30px; } }
  @media screen and (max-width: 553px) {
    .course-new .online-course__txt-wrap {
      width: 100%;
      padding: 0;
      margin-bottom: 20px; } }
  .course-new .online-course__subtxt {
    font-size: 1.25rem;
    display: block; }
  @media screen and (max-width: 768px) {
    .course-new .online-course__subtxt {
      font-size: 1rem; } }
  .course-new .online-course__link {
    font-size: 1.6875rem;
    letter-spacing: 2px;
    color: #2B9ADA;
    border-bottom: 2px solid #2B9ADA; }
  @media screen and (max-width: 768px) {
    .course-new .online-course__link {
      font-size: 1rem; } }
  .course-new .online-course__link:hover {
    opacity: 0.7; }
  .course-new .course-fv {
    margin-bottom: 45px;
    width: 100%;
    display: flex;
    justify-content: center; }
    .course-new .course-fv img {
      width: 100%;
      max-width: 1200px; }
  @media screen and (max-width: 553px) {
    .course-new .course-fv {
      margin-bottom: 50px; } }
  .course-new .course-merit {
    padding-top: 30px; }
  .course-new .course-merit .sec-ttl {
    font-size: 2.75rem;
    line-height: 1;
    margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit .sec-ttl {
      font-size: 2rem; } }
  @media screen and (max-width: 553px) {
    .course-new .course-merit .sec-ttl {
      font-size: 1.375rem; } }
  .course-new .course-merit .sec-txt {
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 10px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit .sec-txt {
      font-size: 1.25rem;
      margin-bottom: 30px; } }
  @media screen and (max-width: 553px) {
    .course-new .course-merit .sec-txt {
      line-height: normal; } }
  .course-new .course-merit .sec-txt span {
    color: #F36001; }
  .course-new .course-merit-inner {
    padding-bottom: 60px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-inner.wave {
      padding-top: 90px; } }
  .course-new .course-merit-list {
    width: 90%;
    margin: 30px auto 80px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list {
      width: 90%; } }
  .course-new .course-merit-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    outline: 6px solid #FD7F19;
    border-radius: 20px;
    margin-bottom: 80px; }
  @media screen and (max-width: 553px) {
    .course-new .course-merit-list li {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      padding: 20px 0;
      margin-bottom: 100px; } }
  .course-new .course-merit-list li:last-child {
    margin-bottom: 0; }
  .course-new .course-merit-list__img {
    width: 300px;
    height: 200px;
    -o-object-fit: contain;
    object-fit: contain;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list__img {
      width: 230px;
      height: 155px; } }
  @media screen and (max-width: 553px) {
    .course-new .course-merit-list__img {
      border-radius: 20px;
      width: 80%;
      height: auto; } }
  .course-new .course-merit-list__txtWrap {
    width: calc(100% - 360px);
    position: relative;
    padding-right: 60px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list__txtWrap {
      width: calc(100% - 260px);
      padding-right: 30px; } }
  @media screen and (max-width: 553px) {
    .course-new .course-merit-list__txtWrap {
      width: 90%;
      padding-right: 0;
      margin: 0 auto 20px;
      text-align: center; } }
  .course-new .course-merit-list__number {
    position: absolute;
    top: -80px;
    left: 0;
    z-index: 1;
    color: #fff;
    -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    font-size: 1.875rem;
    font-weight: bold;
    width: 220px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list__number {
      font-size: 1.5rem;
      width: 180px; } }
  @media screen and (max-width: 553px) {
    .course-new .course-merit-list__number {
      top: -95px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); } }
  .course-new .course-merit-list__number::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 220px;
    height: 50px;
    border-radius: 10px;
    background-color: #EB8030; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list__number::after {
      width: 180px; } }
  .course-new .course-merit-list__number::before {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    z-index: -1;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
    width: 23px;
    height: 23px;
    background-color: #EB8030;
    -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15); }
  .course-new .course-merit-list__number .number-inner {
    position: relative;
    z-index: 1; }
  .course-new .course-merit-list__number .number-yellow {
    color: #FEFE54;
    font-size: 2.5rem;
    line-height: 1; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list__number .number-yellow {
      font-size: 2rem; } }
  .course-new .course-merit-list__ttl {
    font-size: 1.625rem;
    line-height: 1;
    margin-bottom: 25px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list__ttl {
      margin-bottom: 15px;
      font-size: 1.375rem; } }
  .course-new .course-merit-list__txt {
    font-size: 1.25rem;
    letter-spacing: 2px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit-list__txt {
      letter-spacing: 0;
      font-size: 1rem; } }
  .course-new .course-merit-list__txt span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(20%, #FEFF65));
    background: linear-gradient(transparent 80%, #FEFF65 20%); }
  .course-new .course-merit .other-merit-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit .other-merit-list {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .course-new .course-merit .other-merit-list li {
    width: calc(25% - 10px);
    background-color: #EB8030;
    padding: 30px 20px; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit .other-merit-list li {
      width: calc(50% - 20px);
      margin-bottom: 20px; } }
  @media screen and (max-width: 553px) {
    .course-new .course-merit .other-merit-list li {
      width: calc(50% - 10px); } }
  .course-new .course-merit .other-merit-list img {
    height: 130px;
    -o-object-fit: contain;
    object-fit: contain; }
  @media screen and (max-width: 768px) {
    .course-new .course-merit .other-merit-list img {
      height: 80px; } }
  .course-new .course-merit .other-merit-list__txt {
    margin-top: 10px;
    color: #fff;
    font-weight: bold;
    text-align: center; }
  .course-new .guidance {
    background-color: #FFEBC5;
    padding: 80px 0 120px; }
  @media screen and (max-width: 553px) {
    .course-new .guidance {
      padding: 50px 0; } }
  .course-new .guidance .sec-ttl {
    font-size: 3.625rem;
    color: #EB8030;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 40px;
    line-height: 1; }
  @media screen and (max-width: 553px) {
    .course-new .guidance .sec-ttl {
      font-size: 2.0rem; } }
  .course-new .guidance .sec-ttl::before {
    content: "";
    position: absolute;
    top: 55%;
    left: -22px;
    -webkit-transform: translateY(-50%) rotate(-30deg);
    transform: translateY(-50%) rotate(-30deg);
    width: 4px;
    height: 35px;
    background-color: #EB8030; }
  .course-new .guidance .sec-ttl::after {
    content: "";
    position: absolute;
    top: 55%;
    right: -22px;
    -webkit-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg);
    width: 4px;
    height: 35px;
    background-color: #EB8030; }
  .course-new .guidance .sec-txt {
    font-size: 1.875rem;
    font-weight: bold; }
  @media screen and (max-width: 768px) {
    .course-new .guidance .sec-txt {
      font-size: 1.6rem; } }
  @media screen and (max-width: 553px) {
    .course-new .guidance .sec-txt {
      font-size: 1.3rem; } }
  .course-new .guidance-list {
    margin-top: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  @media screen and (max-width: 553px) {
    .course-new .guidance-list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .course-new .guidance-list li {
    width: calc(33.3333333333% - 30px);
    text-align: center;
    background-color: #fff;
    border-radius: 15px;
    border: 2px solid #DE8543;
    padding: 10px;
    position: relative; }
  @media screen and (max-width: 768px) {
    .course-new .guidance-list li {
      /*width: calc(33.3333333333% - 10px);*/
      width: 100%;
      margin-bottom: 30px; } }
  @media screen and (max-width: 553px) {
    .course-new .guidance-list li {
      width: 100%;
      margin-bottom: 30px; } }
  .course-new .guidance-list__online {
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.25rem;
    margin-bottom: 10px; }
  .course-new .guidance-list__ttl {
    font-size: 1.75rem;
    line-height: 2.0rem;
    margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .course-new .guidance-list__ttl {
      font-size: 1.75rem; } }
  @media screen and (max-width: 553px) {
    .course-new .guidance-list__ttl {
      margin-bottom: 10px; } }
  .course-new .guidance-list__link {
    font-weight: bold;
    border-radius: 15px;
    display: block;
    line-height: 50px;
    width: 165px;
    margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .course-new .guidance-list__link {
      width: 135px;
      line-height: 40px;
      border-radius: 5px; } }
  .course-new .guidance-list__link.blue {
    background-color: #60B8E1;
    color: #FDFF00; }
  .course-new .guidance-list__link.orange {
    background-color: #F7AB00;
    color: #fff; }
  .course-new .guidance-list__link:hover {
    opacity: 0.7; }
  .course-new .guidance-inner {
    border-radius: 15px;
    border: 3px solid #EE8539;
    height: 100%;
    background-image: url(../image/course/guidance-bg.png);
    background-size: cover;
    padding: 30px 0 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
  .course-new .guidance-inner .speech-bubble {
    position: absolute;
    z-index: 1;
    border-radius: 10px;
    font-weight: bold; }
  .course-new .guidance-inner .speech-bubble.blue {
    bottom: -55px;
    left: 20px;
    width: 120px;
    height: 66px;
    line-height: 73px;
    color: #FDFF00;
    background-image: url(../image/course/blue-speech-bubble.png);
    background-size: contain; }
  @media screen and (max-width: 553px) {
    .course-new .guidance-inner .speech-bubble.blue {
      bottom: -30px; } }
  .course-new .guidance-inner .speech-bubble.orange {
    top: -60px;
    left: 0;
    width: 220px;
    line-height: 55px;
    height: 75px;
    color: #FEFE54;
    background-image: url(../image/course/orange01-speech-bubble.png);
    background-size: contain; }
  @media screen and (max-width: 768px) {
    .course-new .guidance-inner .speech-bubble.orange {
      top: -50px;
      width: 185px;
      line-height: 50px;
      height: 65px;
      font-size: 0.875rem; } }
  .course-new .guidance-inner .speech-bubble span {
    position: relative;
    z-index: 1; }
  .course-new .generally {
    background-color: #F9F7F5; }
  .course-new .generally .sec-ttl {
    color: #60B8E1; }
  .course-new .generally .online-course-list li {
    outline: 6px solid #60B8E1;
    background-color: #fff; }
  .course-new .directly .online-course-list li {
    outline: 6px solid #EB8030; }
  .course-new .price {
    padding: 80px 0 70px;
    background-color: #F9F7F5; }
  @media screen and (max-width: 553px) {
    .course-new .price {
      padding: 50px 0; } }
  .course-new .price .sec-ttl {
    font-size: 2.5rem;
    margin-bottom: 70px; }
  @media screen and (max-width: 553px) {
    .course-new .price .sec-ttl {
      font-size: 1.5rem;
      margin-bottom: 40px; } }
  .course-new .price-campaign {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 35px;
    text-align: center;
    position: relative; }
  .course-new .price-campaign__limit {
    font-size: 1.625rem; }
  @media screen and (max-width: 553px) {
    .course-new .price-campaign__limit {
      font-size: 1.375rem; } }
  .course-new .price-campaign__txt {
    font-size: 2.0625rem;
    font-weight: bold;
    letter-spacing: 2px;
    color: #F36001;
    position: relative; }
  @media screen and (max-width: 768px) {
    .course-new .price-campaign__txt {
      margin-top: 80px; } }
  @media screen and (max-width: 553px) {
    .course-new .price-campaign__txt {
      font-size: 1.5rem;
      margin-top: 70px; } }
  .course-new .price-campaign__txt::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -20px;
    width: 4px;
    height: 38px;
    -webkit-transform: rotate(-30deg) translateY(-50%);
    transform: rotate(-30deg) translateY(-50%);
    background-color: #F36001; }
  @media screen and (max-width: 553px) {
    .course-new .price-campaign__txt::before {
      height: 25px;
      left: -10px; } }
  .course-new .price-campaign__txt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -20px;
    width: 4px;
    height: 38px;
    -webkit-transform: rotate(30deg) translateY(-50%);
    transform: rotate(30deg) translateY(-50%);
    background-color: #F36001; }
  @media screen and (max-width: 553px) {
    .course-new .price-campaign__txt::after {
      height: 25px;
      right: -10px; } }
  .course-new .price-campaign__free {
    position: absolute;
    top: -30px;
    right: -270px;
    width: 345px;
    height: 85px;
    line-height: 60px;
    background-image: url(../image/course/orange02-speech-bubble.png);
    background-size: contain;
    font-size: 1.6875rem;
    color: #fff; }
  @media screen and (max-width: 768px) {
    .course-new .price-campaign__free {
      top: 57px;
      right: 45px;
      width: 290px;
      height: 70px;
      line-height: 50px;
      font-size: 1.375rem; } }
  @media screen and (max-width: 553px) {
    .course-new .price-campaign__free {
      font-size: 1.25rem;
      height: 65px;
      width: 255px;
      line-height: 45px;
      top: 45px; } }
  @media screen and (max-width: 768px) {
    .course-new .price-table-wrap {
      overflow-x: scroll; } }
  .course-new .price-table {
    width: 100%;
    outline: 2px solid #D0D0D0;
    -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.15);
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.15);
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    border-collapse: collapse;
    overflow-x: auto; }
  @media screen and (max-width: 768px) {
    .course-new .price-table {
      width: 720px; } }
  .course-new .price-table th {
    font-size: 1.625rem;
    font-weight: bold;
    color: #fff;
    background-color: #EB8030;
    height: 88px;
    border-right: 2px solid #D0D0D0;
    text-align: center; }
  @media screen and (max-width: 768px) {
    .course-new .price-table th {
      font-size: 1.375rem;
      height: 70px; } }
  .course-new .price-table th:nth-child(1) {
    border-top-left-radius: 10px; }
  .course-new .price-table th:nth-child(2) {
    background-color: #60B8E1;
    color: #FDFF00; }
  .course-new .price-table th:nth-child(3) {
    border-top-right-radius: 10px;
    border-right: none; }
  .course-new .price-table td {
    text-align: center;
    border-right: 2px solid #D0D0D0;
    position: relative;
    height: 190px; }
  @media screen and (max-width: 768px) {
    .course-new .price-table td {
      height: 170px; } }
  .course-new .price-table td:last-child {
    border-right: none; }
  .course-new .price-table td::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 80%;
    height: 2px;
    background-color: #D0D0D0; }
  .course-new .price-table tr:last-child td::before {
    display: none; }
  .course-new .price-table .big01 {
    font-size: 2.25rem; }
  @media screen and (max-width: 768px) {
    .course-new .price-table .big01 {
      font-size: 1.75rem; } }
  .course-new .price-table .big02 {
    font-size: 1.75rem; }
  @media screen and (max-width: 768px) {
    .course-new .price-table .big02 {
      font-size: 1.375rem; } }
  .course-new .price-table .small {
    font-size: 1rem; }
  .course-new .price-table .normal {
    font-size: 1.25rem; }
  @media screen and (max-width: 768px) {
    .course-new .price-table .normal {
      font-size: 1rem; } }
  .course-new .price-table .orange-big {
    font-size: 2.25rem;
    color: #EB8030;
    font-weight: bold; }
  @media screen and (max-width: 768px) {
    .course-new .price-table .orange-big {
      font-size: 2rem; } }
  .course-new .price-table .orange-small {
    font-size: 1.4375rem;
    color: #EB8030;
    font-weight: bold; }
  @media screen and (max-width: 768px) {
    .course-new .price-table .orange-small {
      font-size: 1.25rem; } }
  .course-new .price-table .red-small {
    color: #E04C26;
    font-size: 1.3125rem;
    font-weight: bold; }
  @media screen and (max-width: 768px) {
    .course-new .price-table .red-small {
      font-size: 1rem; } }
  .course-new .price-table .red-big {
    color: #E04C26;
    font-weight: bold;
    font-size: 2.1875rem; }
  @media screen and (max-width: 768px) {
    .course-new .price-table .red-big {
      font-size: 2rem; } }
  .course-new .price-table .bg-orange {
    background-color: #FFEBC5; }
  .course-new .price-table .none-parent {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto; }
  .course-new .price-table .none {
    position: relative; }
  .course-new .price-table .none::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 3px;
    background-color: #707070; }
  .course-new .price-table .tax {
    font-size: 1rem;
    display: block;
    line-height: 1;
    text-align: right; }
  .course-new .flow {
    padding: 85px 0 70px; }
  @media screen and (max-width: 553px) {
    .course-new .flow {
      padding: 50px 0; } }
  .course-new .flow .sec-ttl {
    font-size: 2.5rem;
    font-weight: bold;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 40px; }
  @media screen and (max-width: 768px) {
    .course-new .flow .sec-ttl {
      font-size: 2rem; } }
  @media screen and (max-width: 553px) {
    .course-new .flow .sec-ttl {
      font-size: 1.5rem;
      margin-bottom: 20px; } }
  .course-new .flow .sec-ttl::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -95px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 80px;
    height: 55px;
    background-image: url(../image/course/flow-logo.png);
    background-size: contain;
    background-repeat: no-repeat; }
  @media screen and (max-width: 768px) {
    .course-new .flow .sec-ttl::before {
      width: 70px;
      height: 50px; } }
  @media screen and (max-width: 553px) {
    .course-new .flow .sec-ttl::before {
      width: 50px;
      height: 40px;
      left: -65px; } }
  .course-new .flow .sec-txt {
    font-size: 1.5rem;
    margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .course-new .flow .sec-txt {
      font-size: 1.25rem; } }
  @media screen and (max-width: 553px) {
    .course-new .flow .sec-txt {
      font-size: 1rem; } }
  .course-new .flow-wrap {
    padding: 40px 0 70px;
    border-top: 4px solid #DE8543; }
  .course-new .flow-wrap:last-of-type {
    padding: 40px 0 0; }
  @media screen and (max-width: 553px) {
    .course-new .flow-wrap:last-of-type {
      padding: 30px 0 0; } }
  @media screen and (max-width: 553px) {
    .course-new .flow-wrap {
      padding: 30px 0; } }
  .course-new .flow-inner {
    width: 80%;
    margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .course-new .flow-inner {
      width: 90%; } }
  @media screen and (max-width: 553px) {
    .course-new .flow-inner {
      width: 100%; } }
  .course-new .flow-ttl {
    font-size: 2rem;
    color: #EB8030;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1;
    letter-spacing: 2px; }
  @media screen and (max-width: 553px) {
    .course-new .flow-ttl {
      font-size: 1.5rem; } }
  .course-new .flow-ttl.blue {
    color: #60B8E1; }
  .course-new .flow-txt {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .course-new .flow-txt {
      font-size: 1.25rem; } }
  @media screen and (max-width: 553px) {
    .course-new .flow-txt {
      font-size: 1rem; } }
  .course-new .flow-list.blue li {
    border-color: #60B8E1; }
  .course-new .flow-list.blue .flow-list__number {
    background-color: #60B8E1; }
  .course-new .flow-list.blue .flow-list__number::before {
    border-color: #60B8E1 #fff #60B8E1 #60B8E1; }
  .course-new .flow-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 20px;
    border: 4px solid #DE8543; }
  .course-new .flow-list__txtWrap {
    width: calc(100% - 120px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  @media screen and (max-width: 768px) {
    .course-new .flow-list__txtWrap {
      width: calc(100% - 70px); } }
  @media screen and (max-width: 553px) {
    .course-new .flow-list__txtWrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .course-new .flow-list__number {
    width: 120px;
    height: 110px;
    background-color: #EB8030;
    font-size: 3.75rem;
    font-weight: bold;
    line-height: 110px;
    color: #fff;
    text-align: center;
    padding-right: 20px;
    position: relative; }
  @media screen and (max-width: 768px) {
    .course-new .flow-list__number {
      font-size: 2.5rem;
      width: 70px;
      height: 90px;
      line-height: 90px; } }
  @media screen and (max-width: 553px) {
    .course-new .flow-list__number {
      height: 100px;
      line-height: 100px; } }
  .course-new .flow-list__number::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    border-style: solid;
    border-width: 55px 20px 55px 0;
    border-color: #EB8030 #fff #EB8030 #EB8030; }
  @media screen and (max-width: 768px) {
    .course-new .flow-list__number::before {
      border-width: 45px 15px 45px 0; } }
  @media screen and (max-width: 553px) {
    .course-new .flow-list__number::before {
      border-width: 50px 20px 50px 0; } }
  .course-new .flow-list__number.yellow {
    color: #FDFF00; }
  .course-new .flow-list__ttl-wrap {
    width: 40%;
    margin-left: 10px; }
  @media screen and (max-width: 553px) {
    .course-new .flow-list__ttl-wrap {
      width: 100%; } }
  .course-new .flow-list__ttl {
    font-size: 1.375rem;
    font-weight: bold;
    color: #EB8030; }
  @media screen and (max-width: 768px) {
    .course-new .flow-list__ttl {
      font-size: 1.25rem;
      margin-left: 0; } }
  .course-new .flow-list__ttl.blue {
    color: #2B9ADA;
    border-bottom: 2px solid #2B9ADA; }
  .course-new .flow-list__ttl.blue:hover {
    opacity: 0.7; }
  .course-new .flow-list__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    font-size: 1.3125rem;
    width: 60%;
    padding-right: 60px; }
  @media screen and (max-width: 768px) {
    .course-new .flow-list__txt {
      font-size: 1rem;
      padding-right: 20px; } }
  @media screen and (max-width: 553px) {
    .course-new .flow-list__txt {
      width: 100%;
      padding-right: 0; } }
  .course-new .flow-list__txt.big {
    font-size: 1.75rem; }
  @media screen and (max-width: 768px) {
    .course-new .flow-list__txt.big {
      font-size: 1.375rem; } }
  @media screen and (max-width: 553px) {
    .course-new .flow-list__txt.big {
      font-size: 1.25rem; } }
  .course-new .merit-nav {
    background-color: #89C6E7;
    padding: 60px 0; }
  .course-new .merit-nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .course-new .merit-nav-list li {
    width: calc(33.3333333333% - 15px);
    background-color: #fff;
    border-radius: 15px;
    -webkit-box-shadow: 2px 4px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 2px 4px 0 rgba(0, 0, 0, 0.3);
    text-align: center; }
  @media screen and (max-width: 553px) {
    .course-new .merit-nav-list li {
      width: calc(33.3333333333% - 10px); } }
  .course-new .merit-nav-list a {
    display: block;
    padding: 15px 0 25px; }
  @media screen and (max-width: 768px) {
    .course-new .merit-nav-list a {
      padding: 15px 0; } }
  .course-new .merit-nav-list a:hover {
    opacity: 0.7; }
  .course-new .merit-nav-list img {
    width: 75px;
    height: 75px; }
  @media screen and (max-width: 768px) {
    .course-new .merit-nav-list img {
      width: 50px;
      height: 50px; } }
  .course-new .merit-nav-list__txt {
    font-size: 1.4375rem; }
  @media screen and (max-width: 768px) {
    .course-new .merit-nav-list__txt {
      font-size: 1.25rem; } }
  @media screen and (max-width: 553px) {
    .course-new .merit-nav-list__txt {
      font-size: 1rem; } }
  .course-new .company .sec-ttl {
    font-size: 2.5rem; }
  @media screen and (max-width: 768px) {
    .course-new .company .sec-ttl {
      font-size: 2rem; } }
  @media screen and (max-width: 553px) {
    .course-new .company .sec-ttl {
      font-size: 1.75rem; } }
  .course-new .company .sec-txt {
    font-size: 1.25rem;
    color: #F7AB00; }
  .course-new .company-fv {
    position: relative;
    margin-bottom: 90px; }
  @media screen and (max-width: 553px) {
    .course-new .company-fv {
      margin-bottom: 50px; } }
  .course-new .company-fv .company-ttl {
    font-size: 1.75rem;
    font-weight: normal;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  @media screen and (max-width: 553px) {
    .course-new .company-fv .company-ttl {
      font-size: 1.5rem; } }
  .course-new .about {
    width: 75%;
    margin: 0 auto 80px;
    text-align: center; }
  @media screen and (max-width: 553px) {
    .course-new .about {
      width: 90%; } }
  .course-new .about-ttl {
    margin: 50px 0 30px;
    font-size: 1.875rem; }
  @media screen and (max-width: 768px) {
    .course-new .about-ttl {
      font-size: 1.5rem; } }
  @media screen and (max-width: 553px) {
    .course-new .about-ttl {
      font-size: 1.375rem;
      margin: 30px 0; } }
  .course-new .about-txt {
    font-size: 1.125rem;
    line-height: 2; }
  @media screen and (max-width: 553px) {
    .course-new .about-txt {
      text-align: left; } }
  .course-new .greeting {
    background-color: #F9F7F5;
    padding: 90px 0 100px; }
  @media screen and (max-width: 553px) {
    .course-new .greeting {
      padding: 60px 0; } }
  .course-new .greeting-inner {
    width: 70%;
    margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .course-new .greeting-inner {
      width: 90%; } }
  .course-new .greeting .sec-ttl {
    font-size: 2rem;
    margin-bottom: 50px; }
  .course-new .greeting .sec-txt {
    font-size: 1.25rem;
    margin-bottom: 40px;
    text-align: left;
    color: #372A1F; }
  .course-new .greeting-big {
    font-size: 1.125rem;
    margin-bottom: 22px;
    line-height: 1; }
  .course-new .greeting-small {
    margin-bottom: 40px;
    line-height: 26px; }
  .course-new .greeting .representative {
    font-size: 1.125rem;
    text-align: right; }
  .course-new .philosophy {
    padding: 110px 0; }
  @media screen and (max-width: 553px) {
    .course-new .philosophy {
      padding: 50px 0; } }
  .course-new .philosophy-ttl {
    font-size: 1.875rem;
    text-align: center;
    margin: 40px 0 50px; }
  @media screen and (max-width: 768px) {
    .course-new .philosophy-ttl {
      font-size: 1.5rem; } }
  @media screen and (max-width: 553px) {
    .course-new .philosophy-ttl {
      margin: 30px 0; } }
  .course-new .philosophy-list {
    text-align: center;
    width: 70%;
    margin: 0 auto; }
  @media screen and (max-width: 553px) {
    .course-new .philosophy-list {
      width: 90%; } }
  .course-new .philosophy-list li:first-child {
    margin-bottom: 80px; }
  @media screen and (max-width: 553px) {
    .course-new .philosophy-list li:first-child {
      margin-bottom: 50px; } }
  .course-new .philosophy-list__ttl {
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 25px; }
  @media screen and (max-width: 553px) {
    .course-new .philosophy-list__ttl {
      font-size: 1.25rem;
      margin-bottom: 20px; } }
  .course-new .philosophy-list__txt {
    font-size: 1.125rem;
    line-height: 36px; }
  @media screen and (max-width: 553px) {
    .course-new .philosophy-list__txt {
      text-align: left; } }
  .course-new .mark {
    background-color: #F9F7F5;
    padding: 80px 0; }
  .course-new .mark .container {
    background-color: #fff;
    padding: 75px 0; }
  @media screen and (max-width: 553px) {
    .course-new .mark .container {
      padding: 50px 0; } }
  .course-new .mark-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 70%;
    margin: 45px auto 0; }
  @media screen and (max-width: 768px) {
    .course-new .mark-wrap {
      width: 90%; } }
  @media screen and (max-width: 553px) {
    .course-new .mark-wrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .course-new .mark-wrap img {
    width: 170px; }
  .course-new .mark-txt {
    width: calc(100% - (170px + 13%));
    font-size: 1.25rem;
    line-height: 36px; }
  @media screen and (max-width: 768px) {
    .course-new .mark-txt {
      width: calc(100% - (170px + 5%)); } }
  @media screen and (max-width: 553px) {
    .course-new .mark-txt {
      width: 100%;
      margin-top: 30px; } }
  .course-new .overview {
    padding: 75px 0 85px;
    border-bottom: 2px solid #372A1F; }
  @media screen and (max-width: 553px) {
    .course-new .overview {
      padding: 50px 0; } }
  .course-new .overview .sec-ttl {
    font-size: 1.6875rem;
    font-weight: normal;
    margin-bottom: 40px; }
  @media screen and (max-width: 553px) {
    .course-new .overview .sec-ttl {
      font-size: 1.5rem; } }
  .course-new .overview-list {
    width: 70%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .course-new .overview-list {
      width: 90%; } }
  .course-new .overview-list dt {
    width: 30%;
    font-size: 1.25rem;
    border-bottom: 2px solid #707070;
    padding: 10px 0; }
  @media screen and (max-width: 553px) {
    .course-new .overview-list dt {
      font-size: 1rem; } }
  .course-new .overview-list dt:last-of-type {
    border-bottom: none; }
  .course-new .overview-list dt:first-of-type {
    padding-top: 0; }
  .course-new .overview-list dd {
    width: 70%;
    font-size: 1.25rem;
    border-bottom: 2px solid #707070;
    padding: 10px 0; }
  @media screen and (max-width: 553px) {
    .course-new .overview-list dd {
      font-size: 1rem; } }
  .course-new .overview-list dd:last-child {
    border-bottom: none; }
  .course-new .overview-list dd:first-of-type {
    padding-top: 0; }

.company-new {
  font-family: "Noto Sans JP", sans-serif;
  padding-top: 0px; }
  @media screen and (min-width: 554px) {
    .company-new {
      padding-top: 0px; } }
  @media screen and (min-width: 769px) {
    .company-new {
      padding-top: 136px; } }
  .company-new .sec-ttl {
    font-size: 2.5rem; }
  @media screen and (max-width: 768px) {
    .company-new .sec-ttl {
      font-size: 2rem; } }
  @media screen and (max-width: 553px) {
    .company-new .sec-ttl {
      font-size: 1.75rem; } }
  .company-new .sec-txt {
    font-size: 1.25rem;
    color: #F7AB00; }
  .company-new .company-fv {
    position: relative;
    margin-bottom: 90px;
    width: 100%;
    display: flex;
    justify-content: center; }
    .company-new .company-fv img {
      width: 100%;
      max-width: 1200px; }
  @media screen and (max-width: 553px) {
    .company-new .company-fv {
      margin-bottom: 50px; } }
  .company-new .company-fv .company-ttl {
    font-size: 1.75rem;
    font-weight: normal;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  @media screen and (max-width: 553px) {
    .company-new .company-fv .company-ttl {
      font-size: 1.5rem; } }
  .company-new .about {
    width: 75%;
    margin: 0 auto 80px;
    text-align: center; }
  @media screen and (max-width: 553px) {
    .company-new .about {
      width: 90%; } }
  .company-new .about-ttl {
    margin: 50px 0 30px;
    font-size: 1.875rem; }
  @media screen and (max-width: 768px) {
    .company-new .about-ttl {
      font-size: 1.5rem; } }
  @media screen and (max-width: 553px) {
    .company-new .about-ttl {
      font-size: 1.375rem;
      margin: 30px 0; } }
  .company-new .about-txt {
    font-size: 1.125rem;
    line-height: 2; }
  @media screen and (max-width: 553px) {
    .company-new .about-txt {
      text-align: left; } }
  .company-new .greeting {
    background-color: #F9F7F5;
    padding: 90px 0 100px; }
  @media screen and (max-width: 553px) {
    .company-new .greeting {
      padding: 60px 0; } }
  .company-new .greeting-inner {
    width: 70%;
    margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .company-new .greeting-inner {
      width: 90%; } }
  .company-new .greeting .sec-ttl {
    font-size: 2rem;
    margin-bottom: 50px; }
  .company-new .greeting .sec-txt {
    font-size: 1.25rem;
    margin-bottom: 40px;
    text-align: left;
    color: #372A1F; }
  .company-new .greeting-big {
    font-size: 1.125rem;
    margin-bottom: 22px;
    line-height: 1; }
  .company-new .greeting-small {
    margin-bottom: 40px;
    line-height: 26px; }
  .company-new .greeting .representative {
    font-size: 1.125rem;
    text-align: right; }
  .company-new .philosophy {
    padding: 110px 0; }
  @media screen and (max-width: 553px) {
    .company-new .philosophy {
      padding: 50px 0; } }
  .company-new .philosophy-ttl {
    font-size: 1.875rem;
    text-align: center;
    margin: 40px 0 50px; }
  @media screen and (max-width: 768px) {
    .company-new .philosophy-ttl {
      font-size: 1.5rem; } }
  @media screen and (max-width: 553px) {
    .company-new .philosophy-ttl {
      margin: 30px 0; } }
  .company-new .philosophy-list {
    text-align: center;
    width: 70%;
    margin: 0 auto; }
  @media screen and (max-width: 553px) {
    .company-new .philosophy-list {
      width: 90%; } }
  .company-new .philosophy-list li:first-child {
    margin-bottom: 80px; }
  @media screen and (max-width: 553px) {
    .company-new .philosophy-list li:first-child {
      margin-bottom: 50px; } }
  .company-new .philosophy-list__ttl {
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 25px; }
  @media screen and (max-width: 553px) {
    .company-new .philosophy-list__ttl {
      font-size: 1.25rem;
      margin-bottom: 20px; } }
  .company-new .philosophy-list__txt {
    font-size: 1.125rem;
    line-height: 36px; }
  @media screen and (max-width: 553px) {
    .company-new .philosophy-list__txt {
      text-align: left; } }
  .company-new .mark {
    background-color: #F9F7F5;
    padding: 80px 0; }
  .company-new .mark .container {
    background-color: #fff;
    padding: 75px 0; }
  @media screen and (max-width: 553px) {
    .company-new .mark .container {
      padding: 50px 0; } }
  .company-new .mark-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 70%;
    margin: 45px auto 0; }
  @media screen and (max-width: 768px) {
    .company-new .mark-wrap {
      width: 90%; } }
  @media screen and (max-width: 553px) {
    .company-new .mark-wrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .company-new .mark-wrap img {
    width: 170px; }
  .company-new .mark-txt {
    width: calc(100% - (170px + 13%));
    font-size: 1.25rem;
    line-height: 36px; }
  @media screen and (max-width: 768px) {
    .company-new .mark-txt {
      width: calc(100% - (170px + 5%)); } }
  @media screen and (max-width: 553px) {
    .company-new .mark-txt {
      width: 100%;
      margin-top: 30px; } }
  .company-new .overview {
    padding: 75px 0 85px;
    /*border-bottom: 2px solid #372A1F;*/ }
  @media screen and (max-width: 553px) {
    .company-new .overview {
      padding: 50px 0; } }
  .company-new .overview .sec-ttl {
    font-size: 1.6875rem;
    font-weight: normal;
    margin-bottom: 40px; }
  @media screen and (max-width: 553px) {
    .company-new .overview .sec-ttl {
      font-size: 1.5rem; } }
  .company-new .overview-list {
    width: 70%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .company-new .overview-list {
      width: 90%; } }
  .company-new .overview-list dt {
    width: 30%;
    font-size: 1.25rem;
    border-bottom: 2px solid #707070;
    padding: 10px 0; }
  @media screen and (max-width: 553px) {
    .company-new .overview-list dt {
      font-size: 1rem; } }
  .company-new .overview-list dt:last-of-type {
    border-bottom: none; }
  .company-new .overview-list dt:first-of-type {
    padding-top: 0; }
  .company-new .overview-list dd {
    width: 70%;
    font-size: 1.25rem;
    border-bottom: 2px solid #707070;
    padding: 10px 0; }
  @media screen and (max-width: 553px) {
    .company-new .overview-list dd {
      font-size: 1rem; } }
  .company-new .overview-list dd:last-child {
    border-bottom: none; }
  .company-new .overview-list dd:first-of-type {
    padding-top: 0; }

/*------------------------
先生用LP
------------------------*/
.teacher-new {
  font-family: "Noto Sans JP", sans-serif;
  padding-top: 0px;
  /*------------------------
  共通
  ------------------------*/ }
  .teacher-new a {
    display: initial; }
  @media screen and (min-width: 554px) {
    .teacher-new {
      padding-top: 0px; } }
  @media screen and (min-width: 769px) {
    .teacher-new {
      padding-top: 136px; } }
  .teacher-new .line-link {
    display: block;
    width: 640px;
    margin: 60px auto 0;
    background-color: #06C755;
    border-radius: 16px;
    line-height: 105px;
    text-align: center;
    position: relative;
    font-size: 1.875rem;
    color: #fff;
    font-weight: bold; }
  @media screen and (max-width: 768px) {
    .teacher-new .line-link {
      font-size: 1.5rem;
      width: 80%;
      line-height: 80px; } }
  @media screen and (max-width: 553px) {
    .teacher-new .line-link {
      font-size: 1.25rem;
      padding: 15px 0;
      width: 90%;
      line-height: normal; } }
  .teacher-new .line-link:hover {
    opacity: 0.7; }
  .teacher-new .line-link::before {
    content: "";
    position: absolute;
    top: 47%;
    right: 70px;
    width: 35px;
    height: 35px;
    border-top: 10px solid #fff;
    border-right: 10px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%); }
  @media screen and (max-width: 768px) {
    .teacher-new .line-link::before {
      width: 25px;
      height: 25px;
      right: 40px; } }
  @media screen and (max-width: 553px) {
    .teacher-new .line-link::before {
      width: 20px;
      height: 20px;
      right: 30px;
      border-top: 5px solid #fff;
      border-right: 5px solid #fff; } }
  .teacher-new .line-link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 60px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 105px;
    height: 105px;
    background-image: url(../image/course/line-icon.png);
    background-size: contain; }
  @media screen and (max-width: 768px) {
    .teacher-new .line-link::after {
      width: 60px;
      height: 60px;
      left: 30px; } }
  @media screen and (max-width: 553px) {
    .teacher-new .line-link::after {
      width: 50px;
      height: 50px; } }
  .teacher-new .sec-ttl {
    font-size: 1.875rem;
    text-align: left;
    padding-left: 25px;
    border-left: 6px solid #FD7F19; }
  @media screen and (max-width: 553px) {
    .teacher-new .sec-ttl {
      font-size: 1.5rem;
      padding-left: 10px; } }
  .teacher-new .register-link {
    width: 640px;
    display: block;
    margin: 0 auto;
    background-color: #EB8030;
    color: #fff;
    font-size: 1.875rem;
    font-weight: bold;
    text-align: center;
    line-height: 107px;
    position: relative; }
  @media screen and (max-width: 768px) {
    .teacher-new .register-link {
      font-size: 1.5rem;
      width: 80%;
      line-height: 80px; } }
  @media screen and (max-width: 553px) {
    .teacher-new .register-link {
      font-size: 1rem;
      padding: 15px 0;
      width: 90%;
      line-height: normal; } }
  .teacher-new .register-link:hover {
    opacity: 0.7; }
  .teacher-new .register-link::before {
    content: "";
    position: absolute;
    top: 47%;
    right: 70px;
    width: 20px;
    height: 20px;
    border-top: 6px solid #fff;
    border-right: 6px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%); }
  @media screen and (max-width: 768px) {
    .teacher-new .register-link::before {
      width: 25px;
      height: 25px;
      right: 40px; } }
  @media screen and (max-width: 553px) {
    .teacher-new .register-link::before {
      width: 15px;
      height: 15px;
      right: 20px;
      border-top: 5px solid #fff;
      border-right: 5px solid #fff; } }
  .teacher-new .teacher-fv {
    margin-bottom: 45px;
    width: 100%;
    display: flex;
    justify-content: center;
    cursor: pointer; }
    .teacher-new .teacher-fv img {
      width: 100%;
      max-width: 1200px; }
  @media screen and (max-width: 553px) {
    .teacher-new .teacher-fv {
      margin-bottom: 50px; } }
  .teacher-new .lp-additional {
    display: block;
    width: 100%;
    margin: 40px auto;
    padding: 0 10px; }
    @media screen and (min-width: 769px) {
      .teacher-new .lp-additional {
        width: 1260px;
        padding: 0 30px; } }
  .teacher-new .news-wrap {
    display: block;
    width: 100%;
    margin: 40px auto;
    padding: 0 10px; }
    @media screen and (min-width: 769px) {
      .teacher-new .news-wrap {
        width: 1260px;
        padding: 0 30px; } }
    .teacher-new .news-wrap .news-tag {
      width: 100px;
      color: #ffffff;
      background: #ffa64b;
      text-align: center;
      padding: 3px 0 0 0;
      font-size: 14px;
      font-weight: bold;
      border-radius: 0 10px 0 0; }
    .teacher-new .news-wrap .news-area {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      background-color: #ffa64b;
      border: 1px solid #ffa64b;
      cursor: pointer;
      position: relative; }
      .teacher-new .news-wrap .news-area .news-block {
        display: inline-block;
        background-color: #fffaed;
        padding: 10px 10px 10px 15px;
        width: 100%; }
        .teacher-new .news-wrap .news-area .news-block .news-date {
          width: 100%;
          color: #aaaa00; }
        .teacher-new .news-wrap .news-area .news-block .news-title {
          width: 100%;
          font-weight: bold;
          font-size: 18px; }
        .teacher-new .news-wrap .news-area .news-block .news-contents {
          width: 100%;
          white-space: pre-wrap;
          overflow: hidden;
          text-overflow: ellipsis;
          display: none; }
        .teacher-new .news-wrap .news-area .news-block .news-img {
          text-align: center;
          padding: 10px;
          display: none; }
          .teacher-new .news-wrap .news-area .news-block .news-img img {
            max-width: 100%;
            max-height: 500px;
            object-fit: contain; }
      .teacher-new .news-wrap .news-area .news-extract {
        color: #ffffff;
        padding: 7px 0 0 1px; }
        .teacher-new .news-wrap .news-area .news-extract:hover {
          color: #fa642a; }
      .teacher-new .news-wrap .news-area .news-more {
        position: absolute;
        right: 0;
        top: -26px;
        color: #ffa64b;
        background-color: #fffaed;
        border: 1px solid #ffa64b;
        border-radius: 15px;
        font-size: 12px;
        line-height: 16px;
        padding: 3px 20px 0;
        display: none; }
        .teacher-new .news-wrap .news-area .news-more:hover {
          color: #fffaed;
          background-color: #ffa64b; }
  .teacher-new .thinking {
    text-align: center;
    margin-bottom: 65px; }
  .teacher-new .thinking-ttl {
    font-size: 1.875rem;
    margin-bottom: 35px;
    line-height: 1; }
  @media screen and (max-width: 553px) {
    .teacher-new .thinking-ttl {
      font-size: 1.5rem; } }
  .teacher-new .thinking-txt {
    font-size: 1.5rem;
    line-height: 2; }
  @media screen and (max-width: 768px) {
    .teacher-new .thinking-txt {
      font-size: 1.25rem; } }
  @media screen and (max-width: 553px) {
    .teacher-new .thinking-txt {
      line-height: normal; } }
  .teacher-new .difference {
    background-color: #F9F7F5;
    padding: 80px 0 90px; }
  .teacher-new .difference-list {
    margin-top: 50px;
    background-color: #fff; }
  .teacher-new .difference-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .teacher-new .difference-list li:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  @media screen and (max-width: 553px) {
    .teacher-new .difference-list li {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    .teacher-new .difference-list li:nth-child(even) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .teacher-new .difference-list__ttlWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 30px;
    border-bottom: 1px solid #F36001; }
  .teacher-new .difference-list__number {
    color: #EB8030;
    font-weight: bold;
    font-size: 2.5rem;
    padding-top: 15px;
    line-height: 1;
    margin-right: 30px;
    position: relative; }
  @media screen and (max-width: 768px) {
    .teacher-new .difference-list__number {
      margin-right: 10px; } }
  .teacher-new .difference-list__number::before {
    content: "POINT";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 1rem;
    font-weight: normal;
    color: #EB8030; }
  .teacher-new .difference-list__ttl {
    font-size: 1.5rem;
    font-weight: normal;
    letter-spacing: 2px; }
  @media screen and (max-width: 553px) {
    .teacher-new .difference-list__ttl {
      font-size: 1.25rem;
      letter-spacing: normal; } }
  .teacher-new .difference-list__txt {
    margin-top: 25px;
    font-size: 1.125rem;
    line-height: 1.7;
    letter-spacing: 1.7px; }
  .teacher-new .difference-txtWrap {
    width: 50%;
    padding: 40px 30px 60px; }
  @media screen and (max-width: 768px) {
    .teacher-new .difference-txtWrap {
      width: 60%; } }
  @media screen and (max-width: 553px) {
    .teacher-new .difference-txtWrap {
      width: 100%; } }
  .teacher-new .difference-imgWrap {
    width: 50%; }
  @media screen and (max-width: 768px) {
    .teacher-new .difference-imgWrap {
      width: 40%; } }
  @media screen and (max-width: 553px) {
    .teacher-new .difference-imgWrap {
      width: 100%; } }
  .teacher-new .content {
    padding: 80px 0; }
  .teacher-new .content-list {
    margin-top: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  @media screen and (max-width: 553px) {
    .teacher-new .content-list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .teacher-new .content-list li {
    width: calc(50% - 14px);
    min-height: 185px;
    margin-bottom: 20px;
    padding: 20px 30px 40px 30px;
    background-color: #F9F7F5;
    border: 1px solid #D7C8B9; }
  @media screen and (max-width: 553px) {
    .teacher-new .content-list li {
      width: 100%; } }
  .teacher-new .content-list__number {
    font-size: 2.5rem;
    font-weight: bold;
    color: #EB8030; }
  .teacher-new .content-list__txt {
    margin-left: 20px;
    font-size: 1.25rem;
    letter-spacing: 1.5px;
    line-height: 1.7; }
  @media screen and (max-width: 768px) {
    .teacher-new .content-list__txt {
      margin-left: 0; } }
  @media screen and (max-width: 553px) {
    .teacher-new .content-list__txt {
      letter-spacing: normal; } }
  .teacher-new .register {
    background-color: #FFEBC5;
    padding: 55px 0 50px; }
  .teacher-new .register-txt {
    text-align: center;
    font-size: 1.625rem;
    font-weight: bold;
    margin-bottom: 25px; }
  @media screen and (max-width: 768px) {
    .teacher-new .register-txt {
      font-size: 1.25rem; } }
  .teacher-new .feature {
    padding: 75px 0 95px; }
  .teacher-new .feature-list {
    margin-top: 20px;
    padding: 0 20px; }
  .teacher-new .feature-list__item {
    margin-bottom: 35px;
    padding-bottom: 50px;
    border-bottom: 2px solid #D7C8B9; }
  .teacher-new .feature-list__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none; }
  .teacher-new .feature-list__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .teacher-new .feature-list__ttlWrap {
    margin-top: 20px;
    margin-left: 20px; }
  @media screen and (max-width: 553px) {
    .teacher-new .feature-list__ttlWrap {
      margin-top: 10px; } }
  .teacher-new .feature-list__number {
    font-size: 2.5rem;
    font-weight: bold;
    color: #EB8030; }
  .teacher-new .feature-list__ttl {
    font-size: 1.5rem;
    font-weight: normal; }
  @media screen and (max-width: 553px) {
    .teacher-new .feature-list__ttl {
      font-size: 1.25rem; } }
  .teacher-new .feature-list__txt {
    margin-top: 25px;
    font-size: 1.125rem;
    margin-left: 70px; }
  @media screen and (max-width: 553px) {
    .teacher-new .feature-list__txt {
      font-size: 1rem;
      margin-left: 0; } }
  .teacher-new .feature-list .rank {
    width: 70%;
    margin: 40px auto 0; }
  @media screen and (max-width: 768px) {
    .teacher-new .feature-list .rank {
      width: 100%; } }
  .teacher-new .feature-list .rank-salary {
    font-size: 1.125rem; }
  @media screen and (max-width: 553px) {
    .teacher-new .feature-list .rank-salary {
      text-align: center; } }
  .teacher-new .feature-list .rank-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 10px; }
  @media screen and (max-width: 553px) {
    .teacher-new .feature-list .rank-list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 70%;
      margin: 10px auto 0; } }
  .teacher-new .feature-list .rank-list__item {
    width: calc(25% - 30px);
    background-color: #F9F7F5;
    padding: 20px 15px;
    text-align: center;
    position: relative; }
  @media screen and (max-width: 768px) {
    .teacher-new .feature-list .rank-list__item {
      width: calc(25% - 20px); } }
  @media screen and (max-width: 553px) {
    .teacher-new .feature-list .rank-list__item {
      width: 100%;
      margin-bottom: 30px; } }
  .teacher-new .feature-list .rank-list__item::before {
    content: "";
    position: absolute;
    bottom: 40px;
    right: -25px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #EB8030; }
  @media screen and (max-width: 768px) {
    .teacher-new .feature-list .rank-list__item::before {
      right: -20px; } }
  @media screen and (max-width: 553px) {
    .teacher-new .feature-list .rank-list__item::before {
      bottom: -20px;
      right: auto;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      border-width: 10px 10px 0 10px;
      border-color: #EB8030 transparent transparent transparent; } }
  .teacher-new .feature-list .rank-list__item:last-child::before {
    display: none; }
  .teacher-new .feature-list .rank-list__number {
    font-size: 1.125rem;
    padding-bottom: 13px;
    border-bottom: 1px solid #F36001; }
  .teacher-new .feature-list .rank-list__txt {
    line-height: 60px;
    margin-top: 15px;
    font-size: 1.25rem; }
  .teacher-new .feature-list .rank-list .rank01 {
    width: 80px;
    height: 60px;
    margin-top: 15px; }
  .teacher-new .feature-list .rank-list .rank04 {
    color: #F36001; }
  .teacher-new .tool {
    background-color: #F9F7F5;
    padding: 80px 0; }
  .teacher-new .tool-list {
    margin-left: 30px;
    margin-top: 25px; }
  @media screen and (max-width: 553px) {
    .teacher-new .tool-list {
      margin-left: 10px; } }
  .teacher-new .tool-list li {
    font-size: 1.5rem; }
  @media screen and (max-width: 553px) {
    .teacher-new .tool-list li {
      font-size: 1.25rem; } }
  .teacher-new .schedule {
    padding: 80px 0 90px; }
  .teacher-new .schedule-list {
    margin-top: 50px;
    width: 87%;
    margin: 50px auto 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .teacher-new .schedule-list {
      width: 100%;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .teacher-new .schedule-list li {
    width: calc(25% - 10px);
    min-height: 260px;
    padding: 10px 25px 0 25px;
    border: 1px solid #FD7F19;
    text-align: center; }
  @media screen and (max-width: 768px) {
    .teacher-new .schedule-list li {
      padding: 10px;
      width: calc(50% - 10px);
      margin-bottom: 20px; } }
  @media screen and (max-width: 553px) {
    .teacher-new .schedule-list li {
      width: 100%; } }
  .teacher-new .schedule-list__number {
    font-size: 2.5rem;
    font-weight: bold;
    color: #FD7F19;
    padding-bottom: 15px;
    border-bottom: 2px solid #EB8030;
    display: inline-block; }
  .teacher-new .schedule-list__ttl {
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 25px;
    margin-bottom: 15px;
    font-weight: normal;
    font-size: 1.375rem; }
  .teacher-new .schedule-list__link {
    font-size: 1.125rem;
    color: #F36001; }
  .teacher-new .schedule-list__link:hover {
    opacity: 0.7; }
  .teacher-new .schedule-list__txt {
    font-size: 1.125rem; }

/*----------------------------------------------------
  manage base
----------------------------------------------------*/
.mng-main {
  position: relative;
  display: block;
  z-index: 2;
  background-color: #ffffff; }
  @media screen and (min-width: 769px) {
    .mng-main {
      padding-top: 70px; } }

.mng-page {
  padding-bottom: 30px;
  border-bottom: 1px solid #e1e2e3;
  min-height: 450px; }
  @media screen and (min-width: 554px) {
    .mng-page {
      min-height: 500px; } }
  @media screen and (min-width: 769px) {
    .mng-page {
      min-height: 650px; } }

.m-pagetitle {
  border-bottom: 1px solid #eee;
  padding: 10px;
  text-align: center;
  font-size: 22px;
  font-weight: normal;
  line-height: 1.6; }
  @media screen and (min-width: 554px) {
    .m-pagetitle {
      font-size: 24px; } }
  @media screen and (min-width: 769px) {
    .m-pagetitle {
      font-size: 26px;
      padding: 17px 30px;
      min-width: 1260px; } }

.m-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 5px; }
  @media screen and (min-width: 554px) {
    .m-container {
      padding: 0 5px; } }
  @media screen and (min-width: 769px) {
    .m-container {
      padding: 0;
      max-width: none;
      width: 1260px; } }

.clr-maker {
  color: #ef0d0d; }

.clr-dealer {
  color: #9d00c4; }

.clr-agency {
  color: #0089ff; }

.mailmaga-process-area {
  width: 100%;
  display: block;
  margin-top: 30px; }
  .mailmaga-process-area .caption {
    width: 100%;
    text-align: right; }
  .mailmaga-process-area .process-bar-area {
    width: 100%;
    text-align: left;
    background-color: #eeeeee;
    border: 1px solid #e6e6e6;
    position: relative; }
    .mailmaga-process-area .process-bar-area .process-bar {
      width: 50%;
      height: 30px;
      background-color: #00a6ff; }
    .mailmaga-process-area .process-bar-area .persentage {
      width: 100px;
      text-align: center;
      position: absolute;
      left: calc(50% - 50px);
      top: 2px;
      font-size: 18px;
      font-weight: bold;
      color: #ffffff; }

/*----------------------------------------------------
  manage
----------------------------------------------------*/
#manage .table-area {
  position: relative;
  margin: 48px 0 30px; }
  #manage .table-area .table-wrap {
    overflow-x: scroll;
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    /* Firefox 対応 */ }
  #manage .table-area .table-wrap::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari 対応 */ }
  #manage .table-area .under-comment {
    width: 100%;
    font-size: 12px;
    color: #767676;
    display: flex;
    align-items: flex-start;
    margin-top: 5px; }
    #manage .table-area .under-comment .ico {
      font-size: 16px;
      margin-right: 5px; }
  #manage .table-area .table-option-area {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    top: -40px; }
    #manage .table-area .table-option-area .table-option {
      position: unset; }
    #manage .table-area .table-option-area .table-summary {
      position: unset; }
  #manage .table-area .table-option {
    position: absolute;
    left: 0;
    top: -40px; }
    @media screen and (min-width: 554px) {
      #manage .table-area .table-option {
        left: 10px; } }
    @media screen and (min-width: 769px) {
      #manage .table-area .table-option {
        left: 10px; } }
    #manage .table-area .table-option a {
      float: left;
      margin-right: 5px; }
      #manage .table-area .table-option a .btn {
        height: 32px;
        border: 1px solid #cccccc;
        border-radius: 15px;
        padding: 5px 15px;
        font-size: 13px;
        cursor: pointer; }
        @media screen and (min-width: 769px) {
          #manage .table-area .table-option a .btn {
            padding: 5px 20px; } }
        #manage .table-area .table-option a .btn span {
          display: none; }
          @media screen and (min-width: 554px) {
            #manage .table-area .table-option a .btn span {
              display: inline; } }
          @media screen and (min-width: 769px) {
            #manage .table-area .table-option a .btn span {
              display: inline; } }
        #manage .table-area .table-option a .btn:hover {
          background: #ffa000;
          border: solid 1px #ffa000;
          color: #FFFFFF; }
      #manage .table-area .table-option a .btn-inactive {
        height: 32px;
        border: 1px solid #cccccc;
        border-radius: 15px;
        padding: 5px 20px;
        font-size: 13px;
        cursor: not-allowed;
        color: #c5c5c5;
        background-color: #eeeeee; }
        #manage .table-area .table-option a .btn-inactive span {
          display: none; }
          @media screen and (min-width: 554px) {
            #manage .table-area .table-option a .btn-inactive span {
              display: inline; } }
          @media screen and (min-width: 769px) {
            #manage .table-area .table-option a .btn-inactive span {
              display: inline; } }
      #manage .table-area .table-option a .btn-prev {
        height: 32px;
        background-color: #ffffff;
        border: 1px solid #cccccc;
        border-radius: 15px 0 0 15px;
        padding: 5px 10px;
        font-size: 13px;
        margin-left: 5px;
        cursor: pointer; }
        @media screen and (min-width: 554px) {
          #manage .table-area .table-option a .btn-prev {
            padding: 5px 20px;
            margin-left: 20px; } }
        @media screen and (min-width: 769px) {
          #manage .table-area .table-option a .btn-prev {
            padding: 5px 20px;
            margin-left: 20px; } }
        #manage .table-area .table-option a .btn-prev .ico {
          font-size: 22px;
          color: #1f9af1; }
        #manage .table-area .table-option a .btn-prev:hover {
          background: #c3eaf9;
          border: solid 1px #aae1f7;
          color: #FFFFFF; }
      #manage .table-area .table-option a .btn-next {
        height: 32px;
        background-color: #ffffff;
        border: 1px solid #cccccc;
        border-radius: 0 15px 15px 0;
        padding: 5px 10px;
        font-size: 13px;
        cursor: pointer; }
        @media screen and (min-width: 554px) {
          #manage .table-area .table-option a .btn-next {
            padding: 5px 20px; } }
        @media screen and (min-width: 769px) {
          #manage .table-area .table-option a .btn-next {
            padding: 5px 20px; } }
        #manage .table-area .table-option a .btn-next .ico {
          font-size: 22px;
          color: #1f9af1; }
        #manage .table-area .table-option a .btn-next:hover {
          background: #c3eaf9;
          border: solid 1px #aae1f7;
          color: #FFFFFF; }
  #manage .table-area .table-summary {
    position: absolute;
    right: 0;
    top: -25px;
    height: 25px; }
    @media screen and (min-width: 554px) {
      #manage .table-area .table-summary {
        right: 10px; } }
    @media screen and (min-width: 769px) {
      #manage .table-area .table-summary {
        right: 10px; } }
    #manage .table-area .table-summary .num {
      float: left;
      font-weight: bold;
      color: #0096c3; }
      #manage .table-area .table-summary .num:nth-child(n+2) {
        margin-left: 5px; }
    #manage .table-area .table-summary .txt {
      float: left;
      font-weight: normal;
      color: #8c8c8c;
      margin-left: 2px; }
      @media screen and (min-width: 554px) {
        #manage .table-area .table-summary .txt {
          margin-left: 6px; } }
      @media screen and (min-width: 769px) {
        #manage .table-area .table-summary .txt {
          margin-left: 6px; } }
#manage table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
  empty-cells: show;
  /*
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  */ }
#manage tr.clickable {
  cursor: pointer; }
#manage tr.not-allowed {
  cursor: not-allowed; }
#manage tr:hover {
  background-color: #eef1df; }
#manage th {
  background-color: #666666;
  color: #ffffff;
  text-align: center;
  padding: 8px;
  border-right: 1px solid #8c8c8c;
  font-size: 13px; }
#manage th.clickable {
  padding: 3px;
  width: 7px; }
#manage th.icon {
  padding: 0;
  text-align: center; }
#manage th.analyze {
  padding: 0 8px;
  border-bottom: 1px solid #8c8c8c;
  overflow: hidden; }
  #manage th.analyze img {
    width: 120px;
    height: 40px;
    object-fit: cover;
    transition: 1s all; }
    #manage th.analyze img:hover {
      transform: scale(1.1, 1.1);
      transition: 1s all; }
#manage td {
  border: 1px solid #e0e0e0;
  padding: 10px 8px;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis; }
  #manage td a {
    color: #ffffff;
    background-color: #666666;
    text-align: center;
    border-radius: 16px;
    cursor: pointer;
    max-width: 140px;
    min-width: 60px;
    padding: 3px 10px; }
    #manage td a:hover {
      background: #ffa000;
      color: #FFFFFF; }
  #manage td .list-img {
    width: 50px;
    height: 41px;
    object-fit: cover; }
  #manage td .thumbnail {
    width: 60px;
    height: 60px;
    object-fit: cover; }
  #manage td .comment-col {
    white-space: pre-line;
    min-width: 400px;
    max-width: 480px; }
  #manage td .report-col {
    white-space: pre-line;
    max-width: 155px;
    word-wrap: break-word; }
  #manage td .attached-file-area {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    #manage td .attached-file-area .attached-file {
      width: 250px;
      max-width: 100%;
      height: 20px;
      color: #97345d;
      background-color: #fffdd0;
      border: 1px solid #efedc5;
      font-size: 12px;
      line-height: 16px;
      margin: 0 0 2px 0;
      overflow: hidden;
      text-overflow: ellipsis;
      text-align: center;
      cursor: pointer; }
      #manage td .attached-file-area .attached-file:hover {
        color: #ffffff;
        background-color: #ff9800; }
#manage td.clickable {
  padding: 3px;
  width: 7px;
  background-color: #9cafbd; }
#manage td.icon {
  padding: 0;
  text-align: center; }
#manage td.no-margin {
  padding: 0;
  text-align: center; }
#manage td.analyze {
  padding: 0 8px;
  min-width: 60px; }
#manage td.analyze-date {
  padding: 0 8px;
  background-color: #f5f5f5; }
  #manage td.analyze-date:hover {
    color: #ff6666; }
#manage td.analyze-sum {
  padding: 3px 8px;
  color: #ffffff;
  background-color: #5d758c;
  font-weight: bold; }
#manage td.multi-item .child-input {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: space-around; }
  #manage td.multi-item .child-input .input-child {
    max-width: 140px;
    border: 1px solid #e2e2e2;
    background-color: #ffffee;
    font-size: 16px;
    padding: 0 10px;
    margin: 0; }
#manage td.pay-method-card {
  color: #d26666; }
#manage td.pay-method-combini {
  color: #208ac7; }
#manage td.pay-method-delivery {
  color: #9e9e30; }
#manage td.status-order {
  color: #2b882b;
  background-color: #e7fde4; }
#manage td.status-pay {
  color: #626286;
  background-color: #f1f9ff; }
#manage td.status-ship-end {
  color: #a3afb5;
  background-color: #f1f1f1; }
#manage td.status-ship {
  background-color: #ffffd5; }
#manage td.status-pay-end {
  color: #a3afb5;
  background-color: #f1f1f1; }
#manage td.status-cancel {
  color: #e84e4e;
  background-color: #ffe9f5; }
#manage td.status-expire {
  color: #e98fff;
  background-color: #f6eefd; }
#manage td.warning {
  color: #7f002b;
  background-color: #ff508c3b; }
#manage .manage-link {
  padding: 10px 0;
  border-bottom: solid 1px #eee;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  @media screen and (min-width: 769px) {
    #manage .manage-link {
      padding: 10px 0; } }
  #manage .manage-link .manage-link__tab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #manage .manage-link .manage-link__tab li {
      width: 100%;
      max-width: 210px;
      margin: 0 3px;
      position: relative; }
      @media screen and (min-width: 554px) {
        #manage .manage-link .manage-link__tab li {
          margin: 0 5px; } }
      @media screen and (min-width: 769px) {
        #manage .manage-link .manage-link__tab li {
          margin: 0 10px; } }
      #manage .manage-link .manage-link__tab li .btn {
        width: 100%;
        padding: 6px 0;
        border: solid 1px #d7d8d9;
        border-radius: 30px;
        text-align: center;
        font-size: 12px;
        display: block;
        white-space: nowrap; }
        #manage .manage-link .manage-link__tab li .btn span {
          display: none; }
        @media screen and (min-width: 554px) {
          #manage .manage-link .manage-link__tab li .btn {
            padding: 10px 0;
            font-size: 13px; }
            #manage .manage-link .manage-link__tab li .btn span {
              display: inline; } }
        @media screen and (min-width: 769px) {
          #manage .manage-link .manage-link__tab li .btn {
            border-radius: 38px;
            font-size: 14px; } }
        #manage .manage-link .manage-link__tab li .btn:hover {
          background: #ffa000;
          border: solid 1px #ffa000;
          color: #FFFFFF; }
      #manage .manage-link .manage-link__tab li.select .btn {
        background: #ffa000;
        border: solid 1px #ffa000;
        color: #FFFFFF; }
        #manage .manage-link .manage-link__tab li.select .btn::after {
          opacity: 1.0; }
      #manage .manage-link .manage-link__tab li .btn-inactive {
        width: 100%;
        padding: 6px 0;
        border: solid 1px #d7d8d9;
        background-color: #eeeeee;
        color: #aaaaaa;
        border-radius: 30px;
        text-align: center;
        font-size: 12px;
        display: block; }
        #manage .manage-link .manage-link__tab li .btn-inactive span {
          display: none; }
        @media screen and (min-width: 554px) {
          #manage .manage-link .manage-link__tab li .btn-inactive {
            padding: 10px 0;
            font-size: 13px; }
            #manage .manage-link .manage-link__tab li .btn-inactive span {
              display: inline; } }
        @media screen and (min-width: 769px) {
          #manage .manage-link .manage-link__tab li .btn-inactive {
            border-radius: 38px;
            font-size: 14px; } }
#manage .manage-contents {
  width: 100%;
  margin-top: 15px; }
  #manage .manage-contents .calendar-area {
    width: 100%;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    #manage .manage-contents .calendar-area .title {
      width: 100%;
      text-align: center;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      align-content: center;
      flex-wrap: nowrap; }
      #manage .manage-contents .calendar-area .title .txt {
        font-size: 24px;
        font-weight: bold; }
      #manage .manage-contents .calendar-area .title .prev-month {
        position: absolute;
        left: 0;
        top: 0;
        padding: 0px 15px;
        color: #ffffff;
        background-color: #6c6c6c;
        border-radius: 15px 0 0 15px;
        font-size: 17px;
        font-weight: bold;
        margin-left: 10px;
        cursor: pointer; }
        #manage .manage-contents .calendar-area .title .prev-month:hover {
          background-color: #ffa000; }
      #manage .manage-contents .calendar-area .title .next-month {
        position: absolute;
        right: 0;
        top: 0;
        padding: 0px 15px;
        color: #ffffff;
        background-color: #6c6c6c;
        border-radius: 0 15px 15px 0;
        font-size: 17px;
        font-weight: bold;
        margin-right: 10px;
        cursor: pointer; }
        #manage .manage-contents .calendar-area .title .next-month:hover {
          background-color: #ffa000; }
    #manage .manage-contents .calendar-area .option {
      width: 100%;
      display: flex;
      justify-content: flex-end;
      margin-bottom: 10px; }
      #manage .manage-contents .calendar-area .option .btn {
        height: 32px;
        border: 1px solid #cccccc;
        border-radius: 15px;
        padding: 5px 20px;
        font-size: 13px;
        cursor: pointer; }
        #manage .manage-contents .calendar-area .option .btn span {
          display: none; }
          @media screen and (min-width: 554px) {
            #manage .manage-contents .calendar-area .option .btn span {
              display: inline; } }
          @media screen and (min-width: 769px) {
            #manage .manage-contents .calendar-area .option .btn span {
              display: inline; } }
        #manage .manage-contents .calendar-area .option .btn:hover {
          background: #ffa000;
          border: solid 1px #ffa000;
          color: #FFFFFF; }
    #manage .manage-contents .calendar-area .calendar {
      width: 100%; }
      #manage .manage-contents .calendar-area .calendar .one-day {
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        border-bottom: 1px solid #e5e5e5;
        /* Chrome, Safari 対応 */ }
        #manage .manage-contents .calendar-area .calendar .one-day .day-title {
          width: 75px;
          text-align: center;
          /*padding: 10px 0;*/
          color: #5e5950;
          background-color: #f3f3f3;
          display: flex;
          align-items: center;
          justify-content: center; }
          @media screen and (min-width: 554px) {
            #manage .manage-contents .calendar-area .calendar .one-day .day-title {
              width: 85px; } }
          @media screen and (min-width: 769px) {
            #manage .manage-contents .calendar-area .calendar .one-day .day-title {
              width: 100px; } }
        #manage .manage-contents .calendar-area .calendar .one-day .sunday {
          background-color: #ffdede; }
        #manage .manage-contents .calendar-area .calendar .one-day .saturday {
          background-color: #ebf4ff; }
        #manage .manage-contents .calendar-area .calendar .one-day .summary {
          width: calc(100% - 75px);
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          padding: 5px 5px;
          overflow-x: scroll;
          overflow-y: hidden;
          -ms-overflow-style: none;
          /* IE, Edge 対応 */
          scrollbar-width: none;
          /* Firefox 対応 */ }
          @media screen and (min-width: 554px) {
            #manage .manage-contents .calendar-area .calendar .one-day .summary {
              width: calc(100% - 85px); } }
          @media screen and (min-width: 769px) {
            #manage .manage-contents .calendar-area .calendar .one-day .summary {
              width: calc(100% - 100px); } }
          #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule {
            padding: 0;
            background-color: #ededed;
            border: 1px solid #4c4c4c;
            margin: 1px 7px; }
            #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule:hover {
              border: 1px solid #404040;
              box-shadow: 0px 0px 4px #000000; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule:hover .schedule-summary .contents .time {
                background-color: #e32020; }
            #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary {
              width: 100%;
              display: flex;
              background-color: #ffffff; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .subject-color {
                display: inline-block;
                width: 10px;
                height: 51px; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .photo {
                width: 45px;
                height: 51px;
                background-color: #ededed; }
                #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .photo img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .office {
                width: 45px;
                height: 51px;
                background-color: #bb4f4f;
                color: #ffffff;
                display: flex;
                align-items: center;
                justify-content: center;
                flex-wrap: wrap;
                flex-direction: column; }
                #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .office .zoom-account {
                  color: #ffff00; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents {
                width: 200px;
                display: block;
                position: relative; }
                #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .time {
                  width: 100%;
                  font-size: 12px;
                  text-align: left;
                  line-height: 11px;
                  color: #ffffff;
                  background-color: #383838;
                  padding: 0 4px; }
                #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail {
                  width: 100%;
                  display: flex;
                  justify-content: space-between; }
                  #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail .detail-wrap {
                    min-width: 140px;
                    max-width: 200px; }
                    #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail .detail-wrap .subject {
                      width: 100%;
                      font-size: 12px;
                      font-weight: bold;
                      text-align: left;
                      line-height: 14px;
                      padding: 1px 4px;
                      white-space: nowrap;
                      overflow: hidden;
                      text-overflow: ellipsis; }
                    #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail .detail-wrap .txt {
                      width: 100%;
                      font-size: 12px;
                      text-align: left;
                      line-height: 10px;
                      padding: 1px 4px;
                      white-space: nowrap;
                      overflow: hidden;
                      text-overflow: ellipsis; }
                  #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .detail.not-write {
                    background-color: #ffe5e5; }
                #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .alert {
                  position: absolute;
                  right: 4px;
                  top: 11px;
                  display: flex;
                  flex-direction: row-reverse; }
                  #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .alert .not-write {
                    color: #ff0000;
                    font-size: 18px;
                    margin-left: 5px; }
                  #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .schedule-summary .contents .alert .change-schedule {
                    color: #9c27b0;
                    font-size: 18px;
                    margin-left: 5px; }
            #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .control {
              width: 100%;
              display: flex;
              justify-content: center;
              border-top: 1px dashed #6c6c6c; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .control .action {
                float: left;
                width: 30px;
                height: 28px;
                color: #5d6a11;
                font-size: 25px;
                text-align: center;
                line-height: 30px;
                cursor: pointer;
                margin: 0 10px; }
                #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .control .action:hover {
                  color: #ff0000; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .control .not-read {
                color: #00abff; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .schedule .control .not-write {
                color: #ff5722; }
          #manage .manage-contents .calendar-area .calendar .one-day .summary .invalid {
            border: 1px dashed #8d8d8d;
            pointer-events: none; }
            #manage .manage-contents .calendar-area .calendar .one-day .summary .invalid .contents .time {
              background-color: #a7a7a7; }
            #manage .manage-contents .calendar-area .calendar .one-day .summary .invalid:hover {
              border: 1px solid #8d8d8d; }
              #manage .manage-contents .calendar-area .calendar .one-day .summary .invalid:hover .contents .time {
                background-color: #a7a7a7; }
        #manage .manage-contents .calendar-area .calendar .one-day .summary::-webkit-scrollbar {
          display: none; }
        #manage .manage-contents .calendar-area .calendar .one-day .today {
          background-color: #e6fbc9;
          border: 3px solid #84ad30;
          box-shadow: 0px 0px 4px #000000; }
        #manage .manage-contents .calendar-area .calendar .one-day .today-txt {
          font-weight: bold; }
        #manage .manage-contents .calendar-area .calendar .one-day:first-child {
          border-top: 1px solid #e5e5e5; }
        #manage .manage-contents .calendar-area .calendar .one-day:hover {
          background-color: #ffffe2; }
    #manage .manage-contents .calendar-area .tip {
      width: 100%;
      font-size: 12px;
      color: #707070;
      margin-top: 5px; }
#manage .search-list {
  position: relative;
  z-index: 2;
  margin: 20px auto 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  #manage .search-list .c-filterbox, #manage .search-list .c-filterbox2, #manage .search-list .c-filterbox3 {
    width: 100%;
    display: inline-block;
    background-color: #ececec;
    border: 1px solid #d6d6d6; }
  #manage .search-list .c-filterbox2, #manage .search-list .c-filterbox3 {
    margin-top: 10px; }
  #manage .search-list .list-latest__search {
    width: 100%;
    margin-top: 10px; }
    @media screen and (min-width: 554px) {
      #manage .search-list .list-latest__search {
        margin-top: 10px; } }
    @media screen and (min-width: 769px) {
      #manage .search-list .list-latest__search {
        margin-top: 0;
        width: 240px;
        margin-left: 20px; } }
    #manage .search-list .list-latest__search .search {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      border: 1px solid #d0d0d0;
      width: 100%;
      height: 100%;
      position: relative; }
      #manage .search-list .list-latest__search .search form {
        width: calc(100% - 48px); }
      #manage .search-list .list-latest__search .search input[type="text"], #manage .search-list .list-latest__search .search input[type="password"] {
        padding: 0;
        border: 0;
        width: 100%;
        min-height: 1em;
        font-size: 15px;
        line-height: 1;
        padding: 6px 12px; }
        @media screen and (min-width: 554px) {
          #manage .search-list .list-latest__search .search input[type="text"], #manage .search-list .list-latest__search .search input[type="password"] {
            font-size: 15px;
            padding: 6px 13px; } }
        @media screen and (min-width: 769px) {
          #manage .search-list .list-latest__search .search input[type="text"], #manage .search-list .list-latest__search .search input[type="password"] {
            padding: 12px 14px;
            font-size: 18px;
            height: 43px; } }
      #manage .search-list .list-latest__search .search .searchbtn {
        position: absolute;
        display: block;
        right: 0;
        top: 0;
        height: 100%;
        width: 48px;
        height: 100%;
        border-left: solid 1px #eee;
        background-color: #e0e0e0; }
        #manage .search-list .list-latest__search .search .searchbtn input[type="button"], #manage .search-list .list-latest__search .search .searchbtn input[type="submit"] {
          width: 100%;
          height: 100%;
          font-size: 18px; }
          @media screen and (min-width: 554px) {
            #manage .search-list .list-latest__search .search .searchbtn input[type="button"], #manage .search-list .list-latest__search .search .searchbtn input[type="submit"] {
              font-size: 19px; } }
          @media screen and (min-width: 769px) {
            #manage .search-list .list-latest__search .search .searchbtn input[type="button"], #manage .search-list .list-latest__search .search .searchbtn input[type="submit"] {
              font-size: 20px; }
              #manage .search-list .list-latest__search .search .searchbtn input[type="button"]:hover, #manage .search-list .list-latest__search .search .searchbtn input[type="submit"]:hover {
                opacity: 0.7; } }
    #manage .search-list .list-latest__search .search_sel {
      border: 1px solid #ffc856; }
  @media screen and (min-width: 554px) {
    #manage .search-list .c-filterbox, #manage .search-list .c-filterbox2, #manage .search-list .c-filterbox3 {
      width: calc(50% - 5px); }
    #manage .search-list .c-filterbox2 {
      margin-top: 0; } }
  @media screen and (min-width: 769px) {
    #manage .search-list .c-filterbox3 {
      margin-top: 0; } }
  @media screen and (min-width: 769px) {
    #manage .search-list {
      margin: 15px auto 30px;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
      justify-content: flex-start; }
      #manage .search-list .c-filterbox, #manage .search-list .c-filterbox2, #manage .search-list .c-filterbox3 {
        width: 240px;
        height: 45px; }
        #manage .search-list .c-filterbox .current, #manage .search-list .c-filterbox2 .current, #manage .search-list .c-filterbox3 .current {
          height: 45px;
          line-height: 45px; }
        #manage .search-list .c-filterbox .list .item, #manage .search-list .c-filterbox2 .list .item, #manage .search-list .c-filterbox3 .list .item {
          min-height: 45px; }
          #manage .search-list .c-filterbox .list .item a, #manage .search-list .c-filterbox2 .list .item a, #manage .search-list .c-filterbox3 .list .item a {
            min-height: 45px; }
      #manage .search-list .c-filterbox2, #manage .search-list .c-filterbox3 {
        margin-left: 20px; } }
#manage .action-area {
  width: 100%;
  background-color: #efefef;
  border: 1px solid #d2d2d2;
  border-radius: 5px;
  padding: 5px 7px 7px 7px;
  display: inline-block; }
  @media screen and (min-width: 769px) {
    #manage .action-area {
      padding: 10px 20px 5px 10px; } }
  #manage .action-area .text-area {
    width: 200px;
    white-space: nowrap;
    float: left;
    padding-top: 5px;
    color: #5f5f5f; }
    #manage .action-area .text-area .ico {
      display: inline-block;
      color: #6098ad; }
    #manage .action-area .text-area .txt {
      display: inline-block;
      vertical-align: top;
      padding-top: 2px; }
    @media screen and (min-width: 769px) {
      #manage .action-area .text-area {
        text-align: center; } }
  #manage .action-area .input-area {
    width: calc(100% - 80px);
    float: left;
    padding: 5px;
    display: flex; }
    @media screen and (min-width: 769px) {
      #manage .action-area .input-area {
        width: calc(100% - 200px - 120px); } }
    #manage .action-area .input-area input {
      width: calc(100% - 10px);
      border: 1px solid #e2e2e2;
      padding: 0 10px;
      margin-right: 10px; }
    #manage .action-area .input-area .input_with_color {
      width: calc(100% - 110px);
      margin-right: 0; }
    #manage .action-area .input-area .input_color {
      width: 90px; }
  #manage .action-area .button-area {
    width: 80px;
    float: left;
    padding: 5px;
    background-color: #4e4e4e;
    color: #ffffff;
    font-size: 13px;
    margin-top: 4px;
    text-align: center;
    border-radius: 15px;
    cursor: pointer; }
    @media screen and (min-width: 769px) {
      #manage .action-area .button-area {
        width: 120px; } }
    #manage .action-area .button-area:hover {
      background: #ffa000;
      color: #FFFFFF; }
#manage .no-record {
  width: 100%;
  padding: 100px 30px;
  text-align: center;
  background-color: #f5f5f5;
  border-radius: 10px; }
  #manage .no-record .icon {
    width: 100%;
    text-align: center;
    font-size: 80px;
    color: #a2b1b9;
    margin-bottom: 30px; }
  #manage .no-record .txt {
    color: #6b6b6b;
    font-size: 14px; }
  @media screen and (min-width: 554px) {
    #manage .no-record {
      padding: 150px 30px; } }
  @media screen and (min-width: 769px) {
    #manage .no-record {
      padding: 180px 30px; } }
#manage .listbox-icon {
  float: left;
  height: 41px;
  padding: 10px 0;
  color: #6098ad; }
#manage .listbox-text {
  float: left;
  position: absolute;
  left: 38px;
  overflow: hidden;
  height: 41px;
  padding: 2px 0 2px 5px; }
  @media screen and (min-width: 554px) {
    #manage .listbox-text {
      padding: 2px 0 2px 5px; } }
  @media screen and (min-width: 769px) {
    #manage .listbox-text {
      padding: 1px 0 1px 5px; } }
#manage .list-icon-blue {
  padding: 5px 0 0 0;
  margin: 0;
  color: #23b8ff; }
#manage .list-icon-red {
  padding: 5px 0 0 0;
  margin: 0;
  color: #ec3930; }
#manage .list-icon-orange {
  padding: 5px 0 0 0;
  margin: 0;
  color: #ffb100; }
#manage .list-icon-gray {
  padding: 5px 0 0 0;
  margin: 0;
  color: #888888; }
#manage .td_editable_col {
  min-width: 200px;
  padding: 0 8px; }
  #manage .td_editable_col .color-box {
    float: left;
    width: 20px;
    height: 20px;
    border: 1px solid #999999;
    margin-right: 15px; }
  #manage .td_editable_col .txt {
    float: left; }
#manage .td_editable_btn {
  background-color: #4680b7; }
#manage .td_notready_btn {
  background-color: #bd4646; }
#manage .td_editable_input {
  width: 100%;
  border: 1px solid #e2e2e2;
  background-color: #ffffee;
  font-size: 16px;
  padding: 0 10px;
  margin: 0; }
#manage .td_editable_input_color {
  width: 90px;
  border: 1px solid #e2e2e2;
  background-color: #ffffee;
  font-size: 16px;
  padding: 0 10px;
  margin: 0; }
#manage .td_editable_input_with_color {
  width: calc(100% - 90px);
  border: 1px solid #e2e2e2;
  background-color: #ffffee;
  font-size: 16px;
  padding: 0 10px;
  margin: 0; }
#manage .td_category_depth_1 {
  padding: 0 8px; }
#manage .td_category_depth_2 {
  padding: 0 8px 0 38px;
  position: relative; }
  #manage .td_category_depth_2:before {
    content: "";
    display: block;
    position: absolute;
    top: 24px;
    left: 20px;
    width: 15px;
    height: 0;
    border-top: 2px solid #f98080; }
  #manage .td_category_depth_2:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    width: 0;
    height: 24px;
    border-left: 2px solid #f98080; }
#manage .td_category_depth_3 {
  padding: 0 8px 0 68px;
  position: relative; }
  #manage .td_category_depth_3:before {
    content: "";
    display: block;
    position: absolute;
    top: 24px;
    left: 50px;
    width: 15px;
    height: 0;
    border-top: 2px solid #20ad20; }
  #manage .td_category_depth_3:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50px;
    width: 0;
    height: 24px;
    border-left: 2px solid #20ad20; }
#manage .td_category_depth_4 {
  padding: 0 8px 0 98px;
  position: relative; }
  #manage .td_category_depth_4:before {
    content: "";
    display: block;
    position: absolute;
    top: 24px;
    left: 80px;
    width: 15px;
    height: 0;
    border-top: 2px solid #63aeef; }
  #manage .td_category_depth_4:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 80px;
    width: 0;
    height: 24px;
    border-left: 2px solid #63aeef; }
#manage .td_category_depth_5 {
  padding: 0 8px 0 128px;
  position: relative; }
  #manage .td_category_depth_5:before {
    content: "";
    display: block;
    position: absolute;
    top: 24px;
    left: 110px;
    width: 15px;
    height: 0;
    border-top: 2px solid #c353c0; }
  #manage .td_category_depth_5:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 110px;
    width: 0;
    height: 24px;
    border-left: 2px solid #c353c0; }
#manage .td_category_depth_6 {
  padding: 0 8px 0 158px;
  position: relative; }
  #manage .td_category_depth_6:before {
    content: "";
    display: block;
    position: absolute;
    top: 24px;
    left: 140px;
    width: 15px;
    height: 0;
    border-top: 2px solid #f5a011; }
  #manage .td_category_depth_6:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 140px;
    width: 0;
    height: 24px;
    border-left: 2px solid #f5a011; }
#manage .td_category_depth_7 {
  padding: 0 8px 0 188px;
  position: relative; }
  #manage .td_category_depth_7:before {
    content: "";
    display: block;
    position: absolute;
    top: 24px;
    left: 170px;
    width: 15px;
    height: 0;
    border-top: 2px solid #bfbba7; }
  #manage .td_category_depth_7:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 170px;
    width: 0;
    height: 24px;
    border-left: 2px solid #bfbba7; }
#manage .select-option-inactive {
  font-style: italic;
  color: #aaaaaa;
  background-color: #eeeeee; }
#manage .list-color-box {
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #999999; }
  #manage .list-color-box span {
    filter: invert(100%) grayscale(100%) contrast(100); }
#manage .top-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  #manage .top-area .half {
    width: 100%;
    padding: 0 10px; }
    @media screen and (min-width: 769px) {
      #manage .top-area .half {
        width: 50%;
        padding: 20px; } }
    #manage .top-area .half .contents-block {
      display: inline-block;
      width: 100%;
      height: fit-content;
      float: left;
      padding: 15px 10px;
      margin-bottom: 15px;
      background-color: #f3f5f7;
      border-radius: 10px;
      position: relative; }
      #manage .top-area .half .contents-block .block-title {
        width: 240px;
        display: flex;
        color: #ffffff;
        background-color: #2c5565;
        border-radius: 0 20px 0 0;
        padding: 8px 5px 8px 30px;
        font-size: 18px;
        font-weight: bold;
        white-space: nowrap; }
        #manage .top-area .half .contents-block .block-title .ico {
          padding-right: 10px; }
      #manage .top-area .half .contents-block .optional-info {
        position: absolute;
        right: 20px;
        top: 18px;
        width: 30px;
        height: 30px;
        cursor: pointer; }
        @media screen and (min-width: 554px) {
          #manage .top-area .half .contents-block .optional-info {
            right: 30px; } }
        @media screen and (min-width: 769px) {
          #manage .top-area .half .contents-block .optional-info {
            right: 40px; } }
        #manage .top-area .half .contents-block .optional-info:hover {
          opacity: 0.7; }
        #manage .top-area .half .contents-block .optional-info .ico {
          font-size: 35px;
          color: #4d94c5; }
      #manage .top-area .half .contents-block .block-contents {
        min-height: 100px;
        border: 1px solid #2c5565;
        padding: 10px; }
        #manage .top-area .half .contents-block .block-contents .info-item {
          width: 100%;
          display: flex;
          justify-content: space-between;
          padding: 5px 0;
          border-bottom: 1px solid #dedede; }
          @media screen and (min-width: 554px) {
            #manage .top-area .half .contents-block .block-contents .info-item {
              padding: 5px; } }
          @media screen and (min-width: 769px) {
            #manage .top-area .half .contents-block .block-contents .info-item {
              padding: 5px; } }
          #manage .top-area .half .contents-block .block-contents .info-item .title {
            padding: 8px 0 8px 10px;
            white-space: nowrap;
            line-height: 18px; }
          #manage .top-area .half .contents-block .block-contents .info-item .data {
            padding: 8px 10px 8px 0;
            line-height: 18px;
            font-size: 18px;
            font-weight: bold; }
          #manage .top-area .half .contents-block .block-contents .info-item:last-child {
            border-bottom: none; }
        #manage .top-area .half .contents-block .block-contents .qr-code {
          width: 100%;
          text-align: center; }
          #manage .top-area .half .contents-block .block-contents .qr-code .qrcode {
            max-width: 200px; }

/*----------------------------------------------------
  mng-detail
----------------------------------------------------*/
#mng-detail table {
  width: 100%;
  margin-top: 20px;
  white-space: normal; }
  #mng-detail table th {
    width: 100%;
    display: block;
    padding: 10px;
    position: relative;
    font-weight: bold;
    text-align: left; }
    @media screen and (min-width: 769px) {
      #mng-detail table th {
        width: 230px;
        padding: 20px 0 20px 20px;
        display: table-cell; } }
    #mng-detail table th .comment {
      display: block;
      margin-top: 6px;
      font-size: 13px;
      font-weight: normal;
      color: #7b7c7e; }
  #mng-detail table th.blue {
    background-color: #4c86a7; }
  #mng-detail table tr:hover {
    background-color: #ffffff; }
  #mng-detail table .textarea {
    vertical-align: top; }
    #mng-detail table .textarea .must {
      top: 27px;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }
  #mng-detail table td {
    width: 100%;
    display: block;
    padding: 10px; }
    @media screen and (min-width: 769px) {
      #mng-detail table td {
        width: calc(100% - 230px);
        padding: 10px;
        display: table-cell; } }
    #mng-detail table td .error {
      color: #ff0000; }
    #mng-detail table td input::-webkit-input-placeholder {
      color: #ccc; }
    #mng-detail table td input:-ms-input-placeholder {
      color: #ccc; }
    #mng-detail table td input::-ms-input-placeholder {
      color: #ccc; }
    #mng-detail table td input::placeholder {
      color: #ccc; }
    #mng-detail table td input[type="text"], #mng-detail table td input[type="password"] {
      padding: 4px 15px;
      width: 100%;
      border: solid 1px #d7d8d9;
      border-radius: 5px;
      font-size: 16px; }
    #mng-detail table td input[type="date"], #mng-detail table td input[type="number"] {
      padding: 4px 15px;
      width: 100%;
      border: solid 1px #d7d8d9;
      border-radius: 5px;
      font-size: 18px;
      height: 45px;
      margin: 2px 0; }
    #mng-detail table td input[type="file"] {
      min-height: 30px; }
    #mng-detail table td .comment {
      display: block;
      margin-top: 10px;
      font-size: 13px;
      color: #7b7c7e; }
    #mng-detail table td .red {
      color: #ff0000; }
    #mng-detail table td textarea {
      width: 100%;
      padding: 12px 15px;
      border: solid 1px #d7d8d9;
      border-radius: 5px;
      height: 120px;
      font-size: 16px;
      line-height: 20px; }
    #mng-detail table td .lp-textarea {
      width: 100%;
      padding: 12px 15px;
      border: solid 1px #d7d8d9;
      border-radius: 5px;
      height: 260px;
      font-size: 16px;
      line-height: 20px; }
    #mng-detail table td .ipt-check {
      opacity: 0;
      display: none; }
    #mng-detail table td .check {
      position: relative;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      vertical-align: middle;
      cursor: pointer;
      padding-left: 30px;
      display: inline-block;
      font-size: 14px; }
      #mng-detail table td .check::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        margin-top: -12px;
        width: 20px;
        height: 20px;
        border: solid 1px #ccc;
        vertical-align: inherit;
        text-decoration: inherit; }
    #mng-detail table td .ipt-check:checked + .check::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 5px;
      display: block;
      margin-top: -12px;
      width: 10px;
      height: 14px;
      border-right: 3px solid #ff6666;
      border-bottom: 3px solid #ff6666;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    #mng-detail table td select {
      border-style: none;
      -moz-appearance: none;
      text-indent: 0.01px;
      /*-o-text-overflow: '';*/
      /*text-overflow: '';*/
      /*appearance: none;*/
      /*-webkit-appearance: none;*/
      width: 280px;
      height: 48px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border: solid 1px #d7d8d9;
      border-radius: 5px;
      padding: 0 40px 0 10px;
      position: relative;
      background: #fffeed;
      font-size: 16px; }
      @media screen and (min-width: 769px) {
        #mng-detail table td select {
          font-size: 14px; } }
      @media screen and (min-width: 769px) {
        #mng-detail table td select:hover {
          cursor: pointer; } }
    #mng-detail table td select::-ms-expand {
      display: none; }
    #mng-detail table td option {
      height: 48px;
      font-size: 16px; }
    #mng-detail table td .product-area {
      width: 100%;
      -webkit-user-select: text;
      -moz-user-select: text;
      -ms-user-select: text;
      user-select: text; }
      #mng-detail table td .product-area .item {
        width: 100%;
        display: flex;
        margin-bottom: 6px;
        border-bottom: 1px solid #c79696; }
        #mng-detail table td .product-area .item:last-child {
          border-bottom: none; }
        #mng-detail table td .product-area .item .img {
          position: relative;
          height: 100px;
          width: 20%;
          max-width: 100px;
          min-width: 70px;
          cursor: pointer; }
          @media screen and (min-width: 554px) {
            #mng-detail table td .product-area .item .img {
              max-width: 100px;
              min-width: 100px; } }
          @media screen and (min-width: 769px) {
            #mng-detail table td .product-area .item .img {
              max-width: 100px;
              min-width: 100px; } }
          #mng-detail table td .product-area .item .img img {
            width: -webkit-fill-available;
            height: 100%;
            object-fit: cover;
            vertical-align: top;
            border: 0; }
            #mng-detail table td .product-area .item .img img:hover {
              opacity: 0.7; }
        #mng-detail table td .product-area .item .summary {
          padding-left: 10px; }
          #mng-detail table td .product-area .item .summary .title {
            cursor: pointer; }
            #mng-detail table td .product-area .item .summary .title:hover {
              opacity: 0.7; }
          #mng-detail table td .product-area .item .summary .option {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            margin-top: 10px; }
            #mng-detail table td .product-area .item .summary .option .tag-title {
              font-size: 14px;
              float: left;
              margin-right: 5px;
              line-height: 14px;
              color: #66737a; }
            #mng-detail table td .product-area .item .summary .option .tag {
              font-size: 20px;
              float: left;
              margin-right: 10px;
              line-height: 20px; }
            #mng-detail table td .product-area .item .summary .option .tag-color {
              border: 1px solid #b28b8b;
              float: left;
              width: 20px;
              height: 20px;
              margin-bottom: 1px; }
    #mng-detail table td .member-no-area {
      display: flex;
      align-items: center;
      justify-content: flex-start; }
      #mng-detail table td .member-no-area label {
        font-size: 22px;
        font-weight: bold; }
      #mng-detail table td .member-no-area img {
        /*width: 108px;
        height: 30px;*/ }
    #mng-detail table td .multi-sel {
      width: 100%;
      max-width: 400px; }
    #mng-detail table td .multi-column {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin-bottom: 20px; }
      @media screen and (min-width: 769px) {
        #mng-detail table td .multi-column {
          margin-bottom: 10px; } }
      #mng-detail table td .multi-column .column {
        display: flex;
        align-items: center;
        margin-right: 10px; }
        #mng-detail table td .multi-column .column .txt {
          white-space: nowrap; }
        #mng-detail table td .multi-column .column select {
          width: unset;
          height: 36px; }
        #mng-detail table td .multi-column .column label {
          padding-right: unset; }
        #mng-detail table td .multi-column .column .del {
          font-size: 24px;
          color: #474747;
          cursor: pointer; }
          #mng-detail table td .multi-column .column .del:hover {
            color: #b7144c; }
    #mng-detail table td .google-authenticator-area {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: wrap;
      min-height: 100px; }
      #mng-detail table td .google-authenticator-area label {
        white-space: nowrap; }
      #mng-detail table td .google-authenticator-area .btn {
        white-space: nowrap;
        color: #ffffff;
        background-color: #3e3e3e;
        padding: 5px 15px 5px 15px;
        margin: 0 15px;
        border-radius: 5px;
        cursor: pointer; }
        #mng-detail table td .google-authenticator-area .btn:hover {
          opacity: 0.7; }
      #mng-detail table td .google-authenticator-area .authenticator-info {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        margin: 10px 0; }
        #mng-detail table td .google-authenticator-area .authenticator-info .secret-code {
          border: 1px solid #eaeaea;
          background-color: #e5f0ff;
          width: 200px;
          margin: 0 10px;
          padding: 2px 5px; }
        #mng-detail table td .google-authenticator-area .authenticator-info .google_auth_qrcode {
          height: 100px;
          margin: 5px; }
    #mng-detail table td .intro-photo-area {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      padding-top: 10px; }
      #mng-detail table td .intro-photo-area .intro-photo {
        width: 100%;
        height: 350px;
        margin: 0;
        border-radius: 20px;
        margin: 5px 0;
        overflow: hidden;
        border: 1px solid #f1f1f1; }
        @media screen and (min-width: 554px) {
          #mng-detail table td .intro-photo-area .intro-photo {
            width: calc(50% - 10px);
            margin: 5px; } }
        @media screen and (min-width: 769px) {
          #mng-detail table td .intro-photo-area .intro-photo {
            width: calc(33.3% - 10px);
            margin: 5px; } }
        #mng-detail table td .intro-photo-area .intro-photo img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: 50% 50%; }
    #mng-detail table td .check-area {
      display: flex;
      flex-wrap: wrap; }
      #mng-detail table td .check-area .check-item {
        display: flex;
        align-items: center;
        white-space: nowrap; }
        #mng-detail table td .check-area .check-item input[type="checkbox"] {
          width: 20px;
          height: 20px;
          margin: 0 0 1px 10px;
          cursor: pointer; }
        #mng-detail table td .check-area .check-item input[type="radio"] {
          width: 20px;
          height: 20px;
          cursor: pointer;
          margin: 0 0 1px 10px; }
        #mng-detail table td .check-area .check-item .check-course {
          float: left;
          display: block;
          cursor: pointer; }
    #mng-detail table td .photo {
      width: 100%;
      position: relative; }
      #mng-detail table td .photo img {
        max-width: 300px;
        max-height: 300px;
        object-fit: contain; }
      #mng-detail table td .photo .check-photo {
        position: absolute;
        top: 5px;
        left: 10px;
        display: flex;
        align-items: center;
        padding: 0; }
        #mng-detail table td .photo .check-photo input[type="checkbox"] {
          width: 18px;
          height: 18px;
          cursor: pointer; }
        #mng-detail table td .photo .check-photo label {
          font-size: 14px;
          line-height: 14px;
          padding: 2px 0 0 5px;
          color: #994040;
          cursor: pointer;
          margin: 0; }
    #mng-detail table td .teacher-unit {
      width: 100%;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none; }
      #mng-detail table td .teacher-unit .new {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center; }
        #mng-detail table td .teacher-unit .new .field {
          display: flex;
          align-items: center; }
          #mng-detail table td .teacher-unit .new .field .tag {
            white-space: nowrap; }
          #mng-detail table td .teacher-unit .new .field .txt1 {
            width: 110px;
            padding: 4px 8px;
            margin: 0 5px; }
          #mng-detail table td .teacher-unit .new .field .txt2 {
            width: 60px;
            padding: 4px 8px;
            margin: 0 5px; }
        #mng-detail table td .teacher-unit .new .btn {
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 5px 10px;
          color: #ffffff;
          background-color: #444444;
          border-radius: 4px;
          white-space: nowrap;
          cursor: pointer; }
          #mng-detail table td .teacher-unit .new .btn:hover {
            opacity: 0.7; }
      #mng-detail table td .teacher-unit .list {
        width: fit-content; }
        #mng-detail table td .teacher-unit .list table td {
          display: table-cell; }
        #mng-detail table td .teacher-unit .list .btn {
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 5px 10px;
          color: #ffffff;
          background-color: #444444;
          border-radius: 4px;
          white-space: nowrap;
          cursor: pointer; }
          #mng-detail table td .teacher-unit .list .btn:hover {
            opacity: 0.7; }
  #mng-detail table tr {
    border-bottom: solid 1px #eee; }
    #mng-detail table tr:last-child {
      border: none; }
    #mng-detail table tr:first-child {
      border-top: solid 1px #eee; }
#mng-detail .detail-mainvis {
  padding: 30px 0 0; }
  @media screen and (min-width: 769px) {
    #mng-detail .detail-mainvis {
      padding: 65px 0 0; } }
#mng-detail .detail-link {
  margin: 30px 0 40px; }
  @media screen and (min-width: 554px) {
    #mng-detail .detail-link {
      margin: 50px 0 80px; } }
  @media screen and (min-width: 769px) {
    #mng-detail .detail-link {
      margin: 80px 0 120px; } }
  #mng-detail .detail-link p {
    text-align: left;
    margin-bottom: 20px;
    line-height: 1.8; }
    @media screen and (min-width: 554px) {
      #mng-detail .detail-link p {
        text-align: center; } }
    @media screen and (min-width: 769px) {
      #mng-detail .detail-link p {
        line-height: 2.0; } }
  #mng-detail .detail-link .sm {
    display: none; }
    @media screen and (min-width: 554px) {
      #mng-detail .detail-link .sm {
        display: inline; } }
#mng-detail .detail-form {
  width: 100%;
  margin: 30px auto 0; }
  #mng-detail .detail-form .sub-title {
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 -20px 0; }
  #mng-detail .detail-form .detail-form__btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 30px -5px 0; }
    @media screen and (min-width: 554px) {
      #mng-detail .detail-form .detail-form__btn {
        margin: 30px -10px 0; } }
    @media screen and (min-width: 769px) {
      #mng-detail .detail-form .detail-form__btn {
        margin: 40px 0 0; } }
    #mng-detail .detail-form .detail-form__btn .btn {
      text-align: center;
      width: 50%;
      max-width: 250px;
      margin: 0 5px; }
      @media screen and (min-width: 554px) {
        #mng-detail .detail-form .detail-form__btn .btn {
          margin: 0 10px; } }
      @media screen and (min-width: 769px) {
        #mng-detail .detail-form .detail-form__btn .btn {
          margin: 0 30px; } }
      #mng-detail .detail-form .detail-form__btn .btn .link, #mng-detail .detail-form .detail-form__btn .btn .clear {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        border-radius: 30px;
        border: 1px solid #d7d8d9;
        width: 100%;
        height: 52px;
        background-color: #f1f1f1;
        text-align: center; }
        @media screen and (min-width: 769px) {
          #mng-detail .detail-form .detail-form__btn .btn .link, #mng-detail .detail-form .detail-form__btn .btn .clear {
            height: 60px;
            cursor: pointer; }
            #mng-detail .detail-form .detail-form__btn .btn .link:hover, #mng-detail .detail-form .detail-form__btn .btn .clear:hover {
              background-color: #ffa000;
              border-color: #ffa000; }
              #mng-detail .detail-form .detail-form__btn .btn .link:hover:after, #mng-detail .detail-form .detail-form__btn .btn .clear:hover:after {
                border-color: #FFFFFF !important; }
              #mng-detail .detail-form .detail-form__btn .btn .link:hover i,
              #mng-detail .detail-form .detail-form__btn .btn .link:hover span, #mng-detail .detail-form .detail-form__btn .btn .clear:hover i,
              #mng-detail .detail-form .detail-form__btn .btn .clear:hover span {
                color: #FFFFFF !important; } }
        #mng-detail .detail-form .detail-form__btn .btn .link:after, #mng-detail .detail-form .detail-form__btn .btn .clear:after {
          content: '';
          display: block;
          position: absolute;
          top: 50%;
          right: 18px;
          border-top: 1px solid #212121;
          border-right: 1px solid #212121;
          width: .5em;
          height: .5em;
          -webkit-transform: translate(0, -50%) rotate(45deg);
          -ms-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg); }
          @media screen and (min-width: 769px) {
            #mng-detail .detail-form .detail-form__btn .btn .link:after, #mng-detail .detail-form .detail-form__btn .btn .clear:after {
              right: 28px;
              -webkit-transition: all .25s ease;
              -o-transition: all .25s ease;
              transition: all .25s ease; } }
        #mng-detail .detail-form .detail-form__btn .btn .link > *, #mng-detail .detail-form .detail-form__btn .btn .clear > * {
          line-height: 1; }
        #mng-detail .detail-form .detail-form__btn .btn .link i, #mng-detail .detail-form .detail-form__btn .btn .clear i {
          display: inline-block;
          margin: -1px 0 0 -.5em;
          font-size: 31px;
          color: #ff5555; }
          @media screen and (min-width: 769px) {
            #mng-detail .detail-form .detail-form__btn .btn .link i, #mng-detail .detail-form .detail-form__btn .btn .clear i {
              margin-left: 0;
              -webkit-transition: all .25s ease;
              -o-transition: all .25s ease;
              transition: all .25s ease; } }
        #mng-detail .detail-form .detail-form__btn .btn .link span, #mng-detail .detail-form .detail-form__btn .btn .clear span {
          font-size: 15px; }
          @media screen and (min-width: 769px) {
            #mng-detail .detail-form .detail-form__btn .btn .link span, #mng-detail .detail-form .detail-form__btn .btn .clear span {
              font-size: 16px;
              font-weight: bold;
              -webkit-transition: all .25s ease;
              -o-transition: all .25s ease;
              transition: all .25s ease; } }
      #mng-detail .detail-form .detail-form__btn .btn .clear {
        cursor: pointer; }
  #mng-detail .detail-form .detail-form__privacytext {
    overflow: hidden;
    border: solid 1px #d7d8d9;
    padding: 20px 15px;
    margin-bottom: 15px;
    overflow-y: scroll;
    max-height: 160px;
    border-radius: 5px; }
    @media screen and (min-width: 769px) {
      #mng-detail .detail-form .detail-form__privacytext {
        padding: 30px 35px;
        margin-bottom: 25px;
        max-height: 200px; } }
    #mng-detail .detail-form .detail-form__privacytext .title {
      font-weight: bold;
      margin-bottom: 15px;
      font-size: 13px; }
      @media screen and (min-width: 769px) {
        #mng-detail .detail-form .detail-form__privacytext .title {
          font-size: 15px;
          margin-bottom: 20px; } }
    #mng-detail .detail-form .detail-form__privacytext .text {
      margin-top: 10px;
      font-size: 13px; }
      @media screen and (min-width: 769px) {
        #mng-detail .detail-form .detail-form__privacytext .text {
          font-size: 14px;
          margin-top: 20px; } }
  #mng-detail .detail-form label {
    margin: 5px 10px;
    padding-right: 20px;
    display: inline; }
    #mng-detail .detail-form label .label_text {
      margin-right: 5px; }
@media screen and (min-width: 769px) {
  #mng-detail .detail-confirm {
    width: 70%; } }
#mng-detail .detail-privacy {
  margin-top: 50px; }
  @media screen and (min-width: 554px) {
    #mng-detail .detail-privacy {
      margin-top: 80px; } }
  @media screen and (min-width: 769px) {
    #mng-detail .detail-privacy {
      margin-top: 120px; } }
#mng-detail .detail-transmit .detail-transmit__text {
  margin: 30px 0; }
  @media screen and (min-width: 554px) {
    #mng-detail .detail-transmit .detail-transmit__text {
      margin: 60px 0; } }
  @media screen and (min-width: 769px) {
    #mng-detail .detail-transmit .detail-transmit__text {
      margin: 120px 0; } }
  #mng-detail .detail-transmit .detail-transmit__text p {
    line-height: 2.2;
    text-align: left; }
    @media screen and (min-width: 554px) {
      #mng-detail .detail-transmit .detail-transmit__text p {
        text-align: center; } }
    #mng-detail .detail-transmit .detail-transmit__text p .sm {
      display: none; }
      @media screen and (min-width: 554px) {
        #mng-detail .detail-transmit .detail-transmit__text p .sm {
          display: inline; } }
#mng-detail .detail-confirm .detail-privacy {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    #mng-detail .detail-confirm .detail-privacy {
      margin-top: 60px; } }
#mng-detail .detail-confirm .detail-form {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    #mng-detail .detail-confirm .detail-form {
      margin-top: 60px; } }
  #mng-detail .detail-confirm .detail-form table th {
    padding: 10px 0 5px; }
    @media screen and (min-width: 769px) {
      #mng-detail .detail-confirm .detail-form table th {
        padding: 30px 0; } }
#mng-detail .detail-extra-option {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  border-bottom: 1px solid #eee;
  text-align: center; }
  #mng-detail .detail-extra-option .color-item {
    width: 35px;
    height: 35px;
    border: 1px solid #dcdcdc;
    margin: 5px 3px;
    cursor: pointer; }
    #mng-detail .detail-extra-option .color-item span {
      filter: invert(100%) grayscale(100%) contrast(100);
      line-height: 35px;
      white-space: nowrap;
      font-size: 20px; }
      @media screen and (min-width: 554px) {
        #mng-detail .detail-extra-option .color-item span {
          line-height: 37px;
          font-size: 22px; } }
      @media screen and (min-width: 769px) {
        #mng-detail .detail-extra-option .color-item span {
          line-height: 40px;
          font-size: 24px; } }
    @media screen and (min-width: 554px) {
      #mng-detail .detail-extra-option .color-item {
        width: 37px;
        height: 37px;
        margin: 5px 4px; } }
    @media screen and (min-width: 769px) {
      #mng-detail .detail-extra-option .color-item {
        width: 40px;
        height: 40px;
        margin: 5px 8px; } }
    #mng-detail .detail-extra-option .color-item:hover {
      opacity: 0.6; }
  #mng-detail .detail-extra-option .color-item-current {
    width: 35px;
    height: 35px;
    border: 2px solid #ffffff;
    margin: 5px 3px;
    box-shadow: #fc3298 0px 0px 0px 4px; }
    #mng-detail .detail-extra-option .color-item-current span {
      filter: invert(100%) grayscale(100%) contrast(100);
      line-height: 35px;
      white-space: nowrap;
      font-size: 20px; }
      @media screen and (min-width: 554px) {
        #mng-detail .detail-extra-option .color-item-current span {
          line-height: 37px;
          font-size: 22px; } }
      @media screen and (min-width: 769px) {
        #mng-detail .detail-extra-option .color-item-current span {
          line-height: 40px;
          font-size: 24px; } }
    @media screen and (min-width: 554px) {
      #mng-detail .detail-extra-option .color-item-current {
        width: 37px;
        height: 37px;
        margin: 5px 4px; } }
    @media screen and (min-width: 769px) {
      #mng-detail .detail-extra-option .color-item-current {
        width: 40px;
        height: 40px;
        margin: 5px 8px; } }
#mng-detail .detail-contents {
  width: 100%;
  min-height: 500px;
  margin-top: 20px;
  padding: 0 5px; }
  @media screen and (min-width: 769px) {
    #mng-detail .detail-contents {
      padding: 0 20px; } }
#mng-detail .detail-mailmaga {
  width: 100%;
  display: inline-block;
  flex-wrap: wrap; }
  #mng-detail .detail-mailmaga .from-to {
    width: 185px; }
  #mng-detail .detail-mailmaga .money {
    width: 120px; }
  #mng-detail .detail-mailmaga .between {
    text-align: center;
    margin: 0;
    padding: 10px; }
  #mng-detail .detail-mailmaga .template {
    width: 100%; }
  #mng-detail .detail-mailmaga textarea {
    height: 350px; }
  #mng-detail .detail-mailmaga .result-area {
    background-color: #efefef;
    margin: 30px 0 50px 0;
    padding: 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap; }
    #mng-detail .detail-mailmaga .result-area .title {
      font-size: 18px;
      margin-right: 10px;
      white-space: nowrap; }
    #mng-detail .detail-mailmaga .result-area .result {
      font-size: 28px;
      font-weight: bold;
      white-space: nowrap;
      color: #0078a7; }
    #mng-detail .detail-mailmaga .result-area .result-fuffix {
      font-size: 16px;
      color: #505050;
      margin-left: 10px; }
#mng-detail img {
  width: auto;
  height: auto;
  max-width: 100%; }
#mng-detail img.detail-thumbnail {
  max-width: 100%; }
  @media screen and (min-width: 769px) {
    #mng-detail img.detail-thumbnail {
      max-width: 500px; } }
#mng-detail img.detail-description {
  max-width: 100%; }
  @media screen and (min-width: 769px) {
    #mng-detail img.detail-description {
      max-width: 700px; } }
#mng-detail .back-type2 {
  background-color: #f5f5ed; }
#mng-detail .back-type3 {
  background-color: #fff1f4; }

/* ==================================================================================================================
// ▼ ダイアログ
================================================================================================================== */
#overlay {
  position: fixed;
  z-index: -100;
  top: -100px;
  left: 0;
  bottom: 0;
  right: 0;
  height: 125%;
  width: 100%;
  background: #000;
  opacity: 0;
  visibility: hidden;
  will-change: opacity; }

#overlay.visible {
  visibility: visible;
  opacity: 0.5;
  -webkit-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
  z-index: 10000; }

#verification-notify {
  z-index: -100;
  position: fixed;
  background-color: #fff;
  visibility: hidden;
  position: fixed;
  width: calc(100% - 40px);
  left: 20px;
  top: 200px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5); }
  @media screen and (min-width: 554px) {
    #verification-notify {
      width: 450px;
      left: calc((100% - 450px) / 2);
      top: 250px; } }
  @media screen and (min-width: 769px) {
    #verification-notify {
      width: 600px;
      left: calc((100% - 600px) / 2);
      top: calc((100% - 500px) / 2); } }

#verification-notify.visible {
  visibility: visible;
  -webkit-transition: opacity 0.15s ease-out;
  transition: opacity 0.15s ease-out;
  z-index: 10001;
  border: 5px solid #dfdfdf;
  border-radius: 20px; }

#verification-notify .head {
  border-radius: 20px 20px 0 0;
  background-color: #ffffff; }

#verification-notify .head h2 {
  padding: 25px 20px 4px 20px;
  color: #303030;
  font-size: 22px;
  font-weight: bold;
  text-align: center; }

#verification-notify .inner-dialog {
  padding: 20px 0 30px 0; }

#verification-notify .detail {
  margin: 0 30px 30px;
  text-align: center; }
  #verification-notify .detail p#w_message {
    font-size: 18px; }
  #verification-notify .detail p#w_inform {
    margin-top: 20px;
    color: #7e4c4c;
    padding: 10px 0;
    border-top: 1px dashed #e1e1e1;
    border-bottom: 1px dashed #e1e1e1; }

#verification-notify .action {
  text-align: center;
  display: inline-block;
  width: 100%; }
  #verification-notify .action .btn {
    display: inline-block; }
    #verification-notify .action .btn a {
      background-color: #586b7a;
      /*border: 1px solid #565656;*/
      color: #ffffff;
      padding: 5px 20px;
      border-radius: 15px;
      white-space: nowrap;
      float: left;
      min-width: 100px;
      margin: 0 5px;
      display: block; }
      @media screen and (min-width: 554px) {
        #verification-notify .action .btn a {
          padding: 5px 30px;
          min-width: 120px;
          margin: 0 15px; } }
      @media screen and (min-width: 769px) {
        #verification-notify .action .btn a {
          padding: 5px 30px;
          min-width: 120px;
          margin: 0 20px; } }
      #verification-notify .action .btn a:hover {
        background: #ffa000;
        /*border: solid 1px $color-orange;*/
        color: #FFFFFF; }
    #verification-notify .action .btn .close_btn {
      background-color: #dddddd;
      /*border: 1px solid #aaaaaa;*/
      color: #333333; }

#verification-notify .action.center {
  justify-content: center; }

#verification-notify.w .action {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

#verification-notify .close {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 10px;
  right: 10px; }

#verification-notify .close:hover {
  opacity: 0.7;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

#verification-notify .close::before,
#verification-notify .close::after {
  content: '';
  width: 22px;
  height: 4px;
  background-color: #666666;
  display: block;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 12px;
  right: 3px; }

#verification-notify .close::after {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg); }

#verification-notify .inform {
  width: 100%;
  text-align: center;
  margin: 10px 0 0 0;
  display: inline-block; }

#verification-notify .inform .m_left {
  width: 70%;
  background-color: #dadada;
  padding: 5px 0 5px 0;
  float: left;
  margin-bottom: 2px; }

#verification-notify .inform .m_right {
  width: 30%;
  background-color: #eeeeee;
  font-weight: bold;
  padding: 5px 0 5px 0;
  float: left;
  margin-bottom: 2px; }

#verification-notify .inform .m_space {
  width: 100%;
  height: 10px;
  float: left; }

/*# sourceMappingURL=style.css.map */
