@charset "UTF-8";
/*
**
page style
**
** index
** flow
** faq
** fee
** assistant
** terms
** law
** privacy
** 
member style
** 
** member common
** login
** report
** 
form style
**
** parts
**
*/
/*==================================================

** common
==================================================*/
.main .floatbox:after {
  clear: both;
  content: '';
  display: block;
  height: 0; }
.main .floatbox .txtbox > :first-child,
.main .floatbox .photobox > :first-child {
  margin-top: 0; }
.main .floatbox .txtbox.rbox,
.main .floatbox .photobox.rbox {
  float: right; }
.main .floatbox .txtbox.lbox,
.main .floatbox .photobox.lbox {
  float: left; }
@media screen and (max-width: 600px) {
  .main .floatbox .txtbox,
  .main .floatbox .photobox {
    width: 100% !important; }
    .main .floatbox .txtbox.rbox, .main .floatbox .txtbox.lbox,
    .main .floatbox .photobox.rbox,
    .main .floatbox .photobox.lbox {
      float: none; } }
.main .firstsec > :first-child,
.main .txtbox > :first-child {
  margin-top: 0; }
.main .orange {
  color: #FF7F00; }
.main .fwb {
  font-weight: bold; }
.main .bdbox {
  border: 2px solid #ffbc79;
  border-radius: 10px;
  background: #fff;
  padding: 50px 58px;
  margin: auto;
  width: 955px; }
  .main .bdbox.bd-red {
    border-color: #AC0000; }
  .main .bdbox.bd-gray {
    border-color: #ccc; }
  .main .bdbox.inttl {
    padding: 0; }
    .main .bdbox.inttl .boxttl {
      padding: 15px 20px;
      font-size: 3.6rem;
      font-weight: bold;
      background: url("../img/common/ptn_check_orange.jpg") repeat center center;
      border-radius: 8px 8px 0 0;
      text-align: center;
      color: #fff; }
      .main .bdbox.inttl .boxttl span {
        font-size: 3.2rem; }
    .main .bdbox.inttl .inner {
      padding: 30px 43px 50px; }
      .main .bdbox.inttl .inner > :first-child {
        margin-top: 0; }
  @media screen and (max-width: 600px) {
    .main .bdbox {
      padding: 40px 18px;
      width: 100%; }
      .main .bdbox.inttl .boxttl {
        padding: 15px 10px;
        font-size: 2.4rem; }
        .main .bdbox.inttl .boxttl span {
          display: block;
          font-size: 1.8rem; }
      .main .bdbox.inttl .inner {
        padding: 20px 18px 40px; } }
.main .slick-dots {
  position: static;
  width: 100%;
  line-height: 0;
  margin: 10px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .main .slick-dots li {
    margin: 10px 10px 0;
    line-height: 1; }
    .main .slick-dots li button {
      border: none;
      padding: 0;
      margin: 0;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      background: #D3D3D3;
      width: 20px;
      height: 20px;
      outline: none;
      cursor: pointer;
      border-radius: 1000px; }
    .main .slick-dots li.slick-active button, .main .slick-dots li:hover button {
      background: #FF7F00; }
  @media screen and (max-width: 600px) {
    .main .slick-dots li {
      margin: 10px 5px 0; }
      .main .slick-dots li button {
        width: 14px;
        height: 14px; } }

/*==================================================

** index
==================================================*/
#indexSec .bdbox h3 {
  color: #eb5900;
  font-size: 3.6rem;
  font-weight: bold; }
#indexSec .bdbox p {
  font-size: 2.4rem; }
  #indexSec .bdbox p a {
    color: #00468c;
    text-decoration: underline; }
    #indexSec .bdbox p a:hover {
      text-decoration: none; }
#indexSec .boxsec {
  position: relative; }
  #indexSec .boxsec + .boxsec {
    margin-top: 60px; }
#indexSec .floatbox .photobox {
  width: 244px; }
#indexSec .floatbox .txtbox {
  width: 500px; }
#indexSec #mainvisual {
  text-align: center;
  max-width: 955px;
  margin: auto; }
#indexSec #indexThought {
  margin: 60px 0 0; }
  #indexSec #indexThought .bdbox {
    position: relative; }
    #indexSec #indexThought .bdbox .boxttl {
      position: absolute;
      left: 0;
      right: 0;
      top: -35px;
      text-align: center;
      z-index: 0/* 0319zindex修正 */; }
    #indexSec #indexThought .bdbox .floatbox .txtbox {
      width: 545px; }
    #indexSec #indexThought .bdbox h3 {
      color: #AC0000; }
#indexSec #indexOther {
  margin: 50px 0 0; }
  #indexSec #indexOther .areabox {
    background: #fff7dd;
    border-radius: 3px;
    margin: 10px 0 0;
    padding: 20px 25px;
    font-weight: bold; }
    #indexSec #indexOther .areabox > :first-child {
      margin-top: 0; }
@media screen and (min-width: 601px) {
  #indexSec #indexOther .boxsec .ttl {
    margin: 0;
    pointer-events: none; }
  #indexSec #indexOther .boxsec .photo {
    position: absolute;
    top: 0; }
  #indexSec #indexOther .boxsec .txtbox {
    display: block !important; }
  #indexSec #indexOther .boxsec.rboxsec .ttl,
  #indexSec #indexOther .boxsec.rboxsec .txtbox .box {
    padding-left: 340px; }
  #indexSec #indexOther .boxsec.rboxsec .photo {
    left: 0; }
  #indexSec #indexOther .boxsec.lboxsec .ttl,
  #indexSec #indexOther .boxsec.lboxsec .txtbox .box {
    padding-right: 340px; }
  #indexSec #indexOther .boxsec.lboxsec .photo {
    right: 0; } }
@media screen and (max-width: 600px) {
  #indexSec .floatbox .photobox {
    text-align: center; }
  #indexSec .floatbox .txtbox {
    margin-top: 30px; }
  #indexSec .bdbox h3 {
    font-size: 2.4rem; }
  #indexSec .bdbox p {
    font-size: 1.6rem; }
  #indexSec #indexThought #thoughtHappiness .photobox {
    display: none; }
  #indexSec #indexThought #thoughtHappiness .txtbox {
    margin: 0; }
  #indexSec #indexOther {
    margin: 50px 0 0; }
    #indexSec #indexOther .bdbox {
      padding: 0; }
      #indexSec #indexOther .bdbox .boxsec {
        margin: 0; }
        #indexSec #indexOther .bdbox .boxsec + .boxsec {
          border-top: 1px dotted #ccc; }
        #indexSec #indexOther .bdbox .boxsec .ttl {
          margin: 0;
          padding: 20px 10vw 15px 5vw;
          position: relative;
          font-size: 2.2rem;
          cursor: pointer; }
          #indexSec #indexOther .bdbox .boxsec .ttl:after {
            transition: all 0.2s; }
          #indexSec #indexOther .bdbox .boxsec .ttl.close:after {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg);
            transition: all 0.4s; }
          #indexSec #indexOther .bdbox .boxsec .ttl:after {
            content: "";
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            font-size: inherit;
            color: inherit;
            position: absolute;
            right: 5vw;
            top: 50%;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            line-height: 0; }
        #indexSec #indexOther .bdbox .boxsec .txtbox {
          display: none;
          padding: 20px 5vw; }
          #indexSec #indexOther .bdbox .boxsec .txtbox .photo {
            text-align: center; } }

/*==================================================

** flow
==================================================*/
#flowSec .areabox {
  background: #fff7dd;
  border-radius: 3px;
  margin: 10px 0 0;
  padding: 20px 25px;
  font-weight: bold; }
  #flowSec .areabox > :first-child {
    margin-top: 0; }
#flowSec .p-notes {
  margin: 20px 0 0;
  padding: 0 0 0 30px;
  position: relative; }
  #flowSec .p-notes:before {
    content: '※';
    position: absolute;
    left: 0;
    top: 2px; }
#flowSec .steplist {
  margin: 20px 0 0; }
  #flowSec .steplist > li {
    padding-bottom: 110px;
    background: url("../img/flow/ico_angle_btm.png") no-repeat center bottom; }
    #flowSec .steplist > li:last-of-type {
      padding: 0;
      background: none; }
    #flowSec .steplist > li + li {
      margin-top: 40px; }
    #flowSec .steplist > li h3 {
      font-size: 3.6rem; }
      #flowSec .steplist > li h3 img {
        margin-right: 35px; }
      #flowSec .steplist > li h3 .green {
        display: inline-block;
        font-size: 2.4rem;
        color: #468C00;
        margin-left: 10px;
        vertical-align: middle; }
    #flowSec .steplist > li .firststeps {
      margin-top: 50px; }
      #flowSec .steplist > li .firststeps li + li {
        margin-top: 50px; }
      #flowSec .steplist > li .firststeps li dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #flowSec .steplist > li .firststeps li dl dt {
          width: 220px;
          background: url("../img/common/ptn_check_orange.jpg") repeat center center;
          line-height: 1;
          text-align: center;
          padding: 25px;
          border-radius: 10px; }
        #flowSec .steplist > li .firststeps li dl dd {
          width: calc(100% - 240px); }
          #flowSec .steplist > li .firststeps li dl dd > :first-child {
            margin-top: 0; }
          #flowSec .steplist > li .firststeps li dl dd p {
            margin: 0; }
    #flowSec .steplist > li .flexbox {
      margin: 30px 0 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #flowSec .steplist > li .flexbox .photobox {
        width: 244px; }
      #flowSec .steplist > li .flexbox .txtbox {
        width: calc(100% - 290px); }
    #flowSec .steplist > li .numlist {
      margin-top: 30px; }
      #flowSec .steplist > li .numlist li + li {
        margin-top: 0; }
@media screen and (max-width: 600px) {
  #flowSec .p-notes {
    padding: 0 0 0 20px; }
    #flowSec .p-notes:before {
      top: 0; }
  #flowSec .steplist > li {
    padding-bottom: 50px;
    background-size: 70px; }
    #flowSec .steplist > li + li {
      margin-top: 30px; }
    #flowSec .steplist > li h3 {
      font-size: 2.0rem; }
      #flowSec .steplist > li h3 img {
        margin-right: 10px;
        width: 80px; }
      #flowSec .steplist > li h3 .green {
        font-size: 1.4rem;
        margin: 0; }
    #flowSec .steplist > li .firststeps {
      margin-top: 30px; }
      #flowSec .steplist > li .firststeps li + li {
        margin-top: 30px; }
      #flowSec .steplist > li .firststeps li dl {
        display: block; }
        #flowSec .steplist > li .firststeps li dl dt {
          width: 100%;
          padding: 15px;
          border-radius: 5px; }
          #flowSec .steplist > li .firststeps li dl dt img {
            height: 16px;
            width: auto; }
        #flowSec .steplist > li .firststeps li dl dd {
          width: 100%;
          margin: 20px 0 0; }
    #flowSec .steplist > li .flexbox {
      margin: 30px 0 0;
      display: block; }
      #flowSec .steplist > li .flexbox .photobox {
        width: 100%;
        text-align: center; }
      #flowSec .steplist > li .flexbox .txtbox {
        width: 100%;
        margin: 30px 0 0; }
    #flowSec .steplist > li .numlist {
      margin-top: 30px; }
      #flowSec .steplist > li .numlist li + li {
        margin-top: 10px; } }

/*==================================================

** faq
==================================================*/
#faqSec .anchorlist {
  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; }
  #faqSec .anchorlist li {
    width: 48%;
    margin: 10px 0 0;
    padding: 0 0 0 35px;
    background: url("../img/common/ico_q.png") no-repeat left 2px;
    background-size: 23px 26px;
    line-height: 1.2; }
    #faqSec .anchorlist li a {
      font-size: 1.6rem;
      font-weight: bold;
      color: #006CD8;
      text-decoration: underline; }
      #faqSec .anchorlist li a:hover {
        text-decoration: none; }
#faqSec .faqlist {
  margin: 40px 0 0; }
  #faqSec .faqlist .faqbox {
    border-top: 2px solid #FFB973; }
    #faqSec .faqlist .faqbox dt {
      padding: 40px 20px 40px 50px;
      background: url("../img/common/ico_q.png") no-repeat left 40px;
      background-size: 35px 39px;
      font-size: 2.8rem;
      font-weight: bold;
      color: #FF7F00;
      position: relative;
      cursor: pointer; }
      #faqSec .faqlist .faqbox dt:after {
        transition: all 0.2s; }
      #faqSec .faqlist .faqbox dt.close:after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
        transition: all 0.4s; }
      #faqSec .faqlist .faqbox dt:after {
        content: "";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: inherit;
        color: inherit;
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        line-height: 0; }
    #faqSec .faqlist .faqbox dd {
      display: none;
      background: url("../img/common/ico_a.png") no-repeat left top;
      background-size: 33px 35px;
      padding: 5px 0 30px 50px;
      margin: -10px 0 0; }
      #faqSec .faqlist .faqbox dd > :first-child {
        margin-top: 0; }
@media screen and (max-width: 600px) {
  #faqSec .anchorlist {
    display: none; }
  #faqSec .faqlist {
    margin: 20px 0 0; }
    #faqSec .faqlist .faqbox dt {
      padding: 20px 25px 20px 35px;
      background: url("../img/common/ico_q.png") no-repeat left 20px;
      background-size: 20px;
      font-size: 1.8rem; }
    #faqSec .faqlist .faqbox dd {
      background: url("../img/common/ico_a.png") no-repeat left 10px;
      background-size: 20px;
      padding: 10px 0 30px 35px; }
      #faqSec .faqlist .faqbox dd > :first-child {
        margin-top: 0; } }

/*==================================================

** fee
==================================================*/
#feeSec .label {
  text-align: right;
  margin: 0; }
#feeSec .feetbl {
  margin: 10px 0 0; }
  #feeSec .feetbl tr th, #feeSec .feetbl tr td {
    border: 1px solid #D5840F;
    padding: 15px;
    text-align: center;
    vertical-align: middle; }
  #feeSec .feetbl thead {
    background: #F9EFE4; }
    #feeSec .feetbl thead tr th {
      padding: 5px 10px;
      font-size: 2.0rem; }
  #feeSec .feetbl tbody tr.green {
    background: #EAFFD5; }
#feeSec .notesbox {
  margin: 30px 0 0;
  padding: 0 0 0 30px;
  position: relative; }
  #feeSec .notesbox:before {
    content: '※';
    position: absolute;
    left: 0;
    top: 2px; }
#feeSec #feeAbout .feetbl .type {
  width: 145px; }
#feeSec #feeAbout .feetbl .size {
  width: 350px; }
#feeSec #feeAbout .feetbl .price {
  width: 200px; }
#feeSec #feeAbout .feetbl .add {
  width: 200px; }
#feeSec #feeArea .label {
  margin-top: -30px; }
#feeSec #feeArea .feetbl .area {
  width: 260px; }
#feeSec #feeArea .feetbl .price {
  width: 220px; }
#feeSec #feeArea .feetbl .city {
  width: 410px;
  text-align: left; }
@media screen and (max-width: 600px) {
  #feeSec .feetbl {
    border: 1px solid #D5840F;
    border-bottom: none; }
    #feeSec .feetbl tr th, #feeSec .feetbl tr td {
      border: none;
      display: block;
      padding: 15px;
      border-bottom: 1px solid #D5840F; }
    #feeSec .feetbl thead {
      display: none; }
    #feeSec .feetbl tbody tr.green-sp {
      background: #EAFFD5; }
  #feeSec .notesbox {
    margin: 20px 0 0;
    padding: 0 0 0 20px; }
    #feeSec .notesbox p + p {
      margin-top: 10px; }
  #feeSec #feeAbout .feetbl td {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    #feeSec #feeAbout .feetbl td:before {
      width: 35%;
      background: #F9EFE4;
      padding: 10px 5px;
      border-right: 1px solid #D5840F;
      text-align: center;
      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; }
    #feeSec #feeAbout .feetbl td .box {
      width: 65%;
      padding: 15px; }
  #feeSec #feeAbout .feetbl .type,
  #feeSec #feeAbout .feetbl .size,
  #feeSec #feeAbout .feetbl .price,
  #feeSec #feeAbout .feetbl .add {
    width: 100%; }
  #feeSec #feeAbout .feetbl .type {
    padding: 10px 15px;
    background: #e6be91; }
  #feeSec #feeAbout .feetbl .size {
    text-align: left; }
    #feeSec #feeAbout .feetbl .size:before {
      content: '分類'; }
  #feeSec #feeAbout .feetbl .price {
    text-align: right; }
    #feeSec #feeAbout .feetbl .price:before {
      content: '1匹'; }
  #feeSec #feeAbout .feetbl .add {
    text-align: right; }
    #feeSec #feeAbout .feetbl .add:before {
      content: '追加(1匹)'; }
  #feeSec #feeArea .label {
    margin-top: 10px; }
  #feeSec #feeArea .feetbl .area,
  #feeSec #feeArea .feetbl .price,
  #feeSec #feeArea .feetbl .city {
    width: 100%;
    text-align: left; }
  #feeSec #feeArea .feetbl .price {
    text-align: right; } }

/*==================================================

** assistant
==================================================*/
#assistantSec .catch {
  margin: 0; }
#assistantSec p + p {
  margin-top: 40px; }
@media screen and (max-width: 600px) {
  #assistantSec p + p {
    margin-top: 20px; } }

/*==================================================

** terms
==================================================*/
#termsSec #termsDetail h3 {
  margin: 20px 0 0;
  font-size: 1.4rem;
  color: #5F3414; }
#termsSec #termsDetail p {
  margin: 0;
  font-size: 1.4rem; }
#termsSec #termsDetail ol {
  margin: 0; }
  #termsSec #termsDetail ol li {
    padding-left: 25px;
    font-size: 1.4rem; }
    #termsSec #termsDetail ol li ol li {
      padding-left: 40px; }
#termsSec #termsDetail .endbox {
  margin: 60px 0 0; }
  #termsSec #termsDetail .endbox table {
    margin: 30px 0 0;
    text-align: left; }
    #termsSec #termsDetail .endbox table tr th, #termsSec #termsDetail .endbox table tr td {
      background: none;
      padding: 3px 5px;
      font-size: 1.4rem; }
@media screen and (max-width: 600px) {
  #termsSec #termsDetail .endbox {
    margin: 40px 0 0; }
    #termsSec #termsDetail .endbox table {
      margin: 30px 0 0;
      text-align: left; }
      #termsSec #termsDetail .endbox table tr th, #termsSec #termsDetail .endbox table tr td {
        display: block; } }

/*==================================================

** law
==================================================*/
#lawSec #lawDetail .basic th, #lawSec #lawDetail .basic td {
  padding: 3px 5px;
  font-size: 1.4rem; }
#lawSec #lawDetail .basic th {
  background: none; }
#lawSec #lawDetail h3 {
  margin: 20px 0 0;
  font-size: 1.4rem;
  color: #5F3414; }
#lawSec #lawDetail p {
  margin: 0;
  font-size: 1.4rem; }
#lawSec #lawDetail ol {
  margin: 0; }
  #lawSec #lawDetail ol li {
    padding-left: 25px;
    font-size: 1.4rem; }
    #lawSec #lawDetail ol li ol li {
      padding-left: 40px; }

/*==================================================

** privacy
==================================================*/
#privacySec #privacyDetail h3 {
  margin: 20px 0 0;
  font-size: 1.4rem;
  color: #5F3414; }
#privacySec #privacyDetail p {
  margin: 0;
  font-size: 1.4rem; }
#privacySec #privacyDetail ol {
  margin: 0; }
  #privacySec #privacyDetail ol li {
    padding-left: 25px;
    font-size: 1.4rem; }
    #privacySec #privacyDetail ol li ol li {
      padding-left: 40px; }

/*==================================================

** member common
==================================================*/
.main .membermenu ul {
  width: 955px;
  margin: 0 auto 20px;
  display: table;
  border: 2px solid #ffbc79;
  border-radius: 10px;
  background: #fff;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  color: inherit; }
  .main .membermenu ul li {
    display: table-cell; }
    .main .membermenu ul li a {
      display: block;
      width: 100%;
      height: auto;
      padding: 20px 10px;
      text-align: center; }
      .main .membermenu ul li a i {
        margin-right: 5px;
        color: #eb5900;
        transition: inherit; }
      .current + .main .membermenu ul li a, .main .membermenu ul li a:hover {
        opacity: 1;
        text-decoration: none;
        color: #fff;
        background: url("../img/common/ptn_check_orange_d.png") repeat left top; }
        .current + .main .membermenu ul li a i, .main .membermenu ul li a:hover i {
          color: #fff;
          transition: inherit; }
    .main .membermenu ul li.current a {
      color: #fff;
      background: url("../img/common/ptn_check_orange_d.png") repeat left top; }
      .main .membermenu ul li.current a i {
        color: #fff; }
@media screen and (min-width: 601px) {
  .main .membermenu .fs-l {
    font-size: 1.8rem; }
  .main .membermenu .fs-m {
    font-size: 1.6rem; }
  .main .membermenu .fs-s {
    font-size: 1.4rem; } }
@media screen and (max-width: 600px) {
  .main .membermenu ul {
    width: 100%;
    display: block;
    font-size: 1.6rem; }
    .main .membermenu ul li {
      display: block; }
      .main .membermenu ul li + li {
        border-top: 1px dotted #ffbc79; }
      .main .membermenu ul li a {
        display: block;
        text-align: left;
        padding: 15px 15px 15px 35px;
        position: relative; }
        .main .membermenu ul li a i {
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 10px; } }

/*==================================================

** login
==================================================*/
#loginSec .errormsgbox {
  background: url("../img/login/ico_attention.svg") no-repeat 80px center #FFF7DD;
  background-size: 76px;
  border-radius: 3px;
  padding: 50px 20px 50px 215px;
  font-size: 2.0rem;
  font-weight: bold;
  color: #D90000; }
  #loginSec .errormsgbox > :first-child {
    margin-top: 0; }
#loginSec .formbox {
  max-width: 630px;
  margin: 60px auto 0; }
  #loginSec .formbox .formtbl input {
    border: 3px solid #D90000; }
  #loginSec .formbox .ctrbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  #loginSec .formbox .autologin {
    margin: 50px 0 0;
    font-size: 2.2rem; }
  #loginSec .formbox .forget {
    margin: 30px 0 0; }
    #loginSec .formbox .forget a {
      font-weight: bold;
      color: #00468c;
      text-decoration: underline; }
      #loginSec .formbox .forget a:hover {
        opacity: 1;
        text-decoration: none; }
  #loginSec .formbox .submit input, #loginSec .formbox .submit button {
    margin-top: 10px; }
@media screen and (max-width: 600px) {
  #loginSec .errormsgbox {
    background-position: center 20px;
    background-size: 50px;
    border-radius: 3px;
    padding: 80px 20px 20px;
    font-size: 1.8rem; }
  #loginSec .formbox {
    margin: 30px auto 0; }
    #loginSec .formbox .formtbl input {
      border: 3px solid #D90000; }
    #loginSec .formbox .ctrbox {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
    #loginSec .formbox .autologin {
      margin: 30px 0 0;
      font-size: 1.6rem; }
    #loginSec .formbox .forget {
      margin: 20px 0 0; } }

/*==================================================

** report
==================================================*/
#memberReportSec .infobox th,
#memberReportSec .reportbox th {
  text-align: center;
  vertical-align: middle; }
#memberReportSec .photobox {
  margin: 20px 0 0; }
  #memberReportSec .photobox li.slick-slide {
    background: #eee;
    height: 731px; }
  #memberReportSec .photobox li img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    font-family: 'object-fit: contain;'; }
#memberReportSec .downloadbox .downloadlist {
  margin: 20px 0 0;
  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; }
  #memberReportSec .downloadbox .downloadlist li {
    margin: 4px 0 0 0;
    width: 49.8%; }
    #memberReportSec .downloadbox .downloadlist li a {
      background: -webkit-gradient(linear, left top, left bottom, from(#66b354), to(#3f9a53));
      background: -webkit-linear-gradient(top, #66b354 0%, #3f9a53 100%);
      background: -o-linear-gradient(top, #66b354 0%, #3f9a53 100%);
      background: linear-gradient(to bottom, #66b354 0%, #3f9a53 100%);
      border: 2px solid #fff;
      color: #fff;
      display: block;
      width: 100%;
      padding: 20px;
      font-size: 2.4rem;
      font-weight: bold;
      text-align: center;
      border-radius: 5px;
      position: relative; }
      #memberReportSec .downloadbox .downloadlist li a:before {
        content: '';
        display: block;
        width: 34px;
        height: 34px;
        background: url("../img/common/ico_play.svg") no-repeat left top;
        background-size: contain;
        position: absolute;
        left: 30px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
      #memberReportSec .downloadbox .downloadlist li a:hover {
        opacity: 0.8;
        text-decoration: none; }
@media screen and (max-width: 600px) {
  #memberReportSec .photobox li.slick-slide {
    height: 64.9vw; }
  #memberReportSec .downloadbox .downloadlist {
    margin: 10px 0 0; }
    #memberReportSec .downloadbox .downloadlist li {
      margin: 10px 0 0 0;
      width: 100%; }
      #memberReportSec .downloadbox .downloadlist li a {
        padding: 15px 20px 15px 45px;
        font-size: 1.6rem; }
        #memberReportSec .downloadbox .downloadlist li a:before {
          width: 20px;
          height: 20px;
          left: 15px; } }

/*==================================================

** parts
==================================================*/
.formbox .formtbl tr th,
.formbox .formtbl tr td {
  text-align: left;
  vertical-align: top; }
.formbox .formtbl tr th {
  width: 300px;
  padding: 25px 10px 25px 0;
  font-size: 2.4rem; }
  .formbox .formtbl tr th span.notes {
    color: #D90000;
    font-weight: bold;
    margin-left: 15px; }
  .formbox .formtbl tr th span.must {
    font-size: 2.0rem;
    font-weight: bold;
    background: #D90000;
    color: #fff;
    border-radius: 5px;
    display: inline-block;
    padding: 5px 7px 2px;
    margin: 0 0 0 10px; }
.formbox .formtbl tr td {
  padding: 10px;
  font-size: 2.2rem; }
  .formbox .formtbl tr td p {
    margin-top: 10px; }
.formbox .formtbl .simple li + li {
  margin-top: 10px; }
@media screen and (max-width: 600px) {
  .formbox .formtbl .tbl-row {
    border-bottom: 1px solid #ccc; }
    .formbox .formtbl .tbl-row > th,
    .formbox .formtbl .tbl-row > td {
      display: block; }
    .formbox .formtbl .tbl-row > th {
      width: 100% !important;
      padding: 25px 0 5px;
      font-size: 1.8rem;
      font-weight: bold; }
      .formbox .formtbl .tbl-row > th span.must {
        font-size: 1.6rem; }
    .formbox .formtbl .tbl-row > td {
      padding: 5px 0 25px;
      font-size: 1.8rem; } }
.formbox input,
.formbox textarea,
.formbox select {
  border: 2px solid #eb5900;
  border-radius: 4px;
  padding: 0 5px;
  background: #FFF8F4;
  color: #A85B22;
  font-size: 2.2rem; }
  .formbox input.w-ll,
  .formbox textarea.w-ll,
  .formbox select.w-ll {
    width: 100%; }
  .formbox input.w-l,
  .formbox textarea.w-l,
  .formbox select.w-l {
    width: 80%; }
  .formbox input.w-m,
  .formbox textarea.w-m,
  .formbox select.w-m {
    width: 60%; }
  .formbox input.w-s,
  .formbox textarea.w-s,
  .formbox select.w-s {
    width: 40%; }
  .formbox input.w-ss,
  .formbox textarea.w-ss,
  .formbox select.w-ss {
    width: 20%; }
  @media screen and (max-width: 600px) {
    .formbox input,
    .formbox textarea,
    .formbox select {
      font-size: 1.8rem; }
      .formbox input.w-ll,
      .formbox textarea.w-ll,
      .formbox select.w-ll {
        width: 100%; }
      .formbox input.w-l,
      .formbox textarea.w-l,
      .formbox select.w-l {
        width: 90%; }
      .formbox input.w-m,
      .formbox textarea.w-m,
      .formbox select.w-m {
        width: 70%; }
      .formbox input.w-s,
      .formbox textarea.w-s,
      .formbox select.w-s {
        width: 60%; }
      .formbox input.w-ss,
      .formbox textarea.w-ss,
      .formbox select.w-ss {
        width: 60px; } }
.formbox input,
.formbox select {
  height: 60px; }
  @media screen and (max-width: 600px) {
    .formbox input,
    .formbox select {
      height: 45px; } }
.formbox select {
  outline: none;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  background-image: url("../img/common/bg_select.png");
  background-position: right center;
  background-repeat: no-repeat;
  cursor: pointer;
  min-width: 180px;
  padding-right: 36px; }
  .formbox select::-ms-expand {
    display: none; }
  .formbox select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #828c9a; }
.formbox textarea {
  width: 100%;
  max-width: 100%;
  height: 184px; }
.formbox .radiolist.horizon,
.formbox .checkboxlist.horizon {
  letter-spacing: -0.5em; }
  .formbox .radiolist.horizon li,
  .formbox .checkboxlist.horizon li {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: middle;
    margin: 15px 25px 0 0; }
.formbox .radiolist li + li,
.formbox .checkboxlist li + li {
  margin-top: 5px; }
.formbox .radiolist li label,
.formbox .checkboxlist li label {
  position: relative;
  padding: 0 0 0 35px;
  display: inline-block;
  cursor: pointer;
  word-break: break-all; }
  .formbox .radiolist li label input,
  .formbox .checkboxlist li label input {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0; }
    .formbox .radiolist li label input:checked + span:before,
    .formbox .checkboxlist li label input:checked + span:before {
      background: #eb5900;
      box-shadow: 0 0 0 3px #fff inset; }
  .formbox .radiolist li label span:before,
  .formbox .checkboxlist li label span:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    border-radius: 1000px;
    background: #fff;
    border: 3px solid #eb5900;
    position: absolute;
    left: 0;
    top: 2px; }
@media screen and (max-width: 600px) {
  .formbox .radiolist.horizon,
  .formbox .checkboxlist.horizon {
    margin-top: -15px !important; }
    .formbox .radiolist.horizon li,
    .formbox .checkboxlist.horizon li {
      margin: 15px 20px 0 0; }
  .formbox .radiolist li + li,
  .formbox .checkboxlist li + li {
    margin-top: 15px; }
  .formbox .radiolist li label span:before,
  .formbox .checkboxlist li label span:before {
    top: 0px; } }
.formbox .checkboxlist li label span:before {
  border-radius: 3px; }
.formbox .date {
  width: 136px;
  height: 40px;
  font-size: 2.2rem; }
  .formbox .date:not(:placeholder-shown) {
    background: #F08341;
    border-color: #F08341;
    color: #fff; }
  @media screen and (max-width: 600px) {
    .formbox .date {
      font-size: 1.6rem; } }
.formbox .calendar tr {
  text-align: center;
  background-color: #ffffff; }
  .formbox .calendar tr.title td {
    height: 60px;
    text-align: center;
    vertical-align: middle;
    font-size: 2.0rem;
    font-weight: bold;
    padding: 0; }
    .formbox .calendar tr.title td input {
      border: none;
      display: inline-block;
      width: 52px;
      height: 39px;
      line-height: 39px;
      background: #F08341;
      color: #fff;
      border-radius: 6px;
      font-size: 2.0rem;
      font-weight: bold; }
      .formbox .calendar tr.title td input.first, .formbox .calendar tr.title td input.prev {
        float: left; }
      .formbox .calendar tr.title td input.prev {
        margin-left: 5px; }
      .formbox .calendar tr.title td input.last, .formbox .calendar tr.title td input.next {
        float: right; }
      .formbox .calendar tr.title td input.next {
        margin-right: 5px; }
    .formbox .calendar tr.title td span {
      display: inline-block;
      width: 136px;
      line-height: 39px;
      background: #F08341;
      color: #fff;
      border-radius: 6px; }
  .formbox .calendar tr.week td {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 0 5px;
    text-align: center; }
    .formbox .calendar tr.week td.week1 {
      color: #D90000; }
  .formbox .calendar tr.weeks td {
    cursor: pointer;
    width: auto;
    height: 70px;
    border: 1px solid #FF7F00;
    vertical-align: middle;
    text-align: center; }
    .formbox .calendar tr.weeks td.day1 {
      background: #FFF2F2; }
    .formbox .calendar tr.weeks td.day7 {
      background: #ECF5FF; }
    .formbox .calendar tr.weeks td.nom {
      color: #cccccc; }
    .formbox .calendar tr.weeks td.hli {
      background: #FFF2F2; }
    .formbox .calendar tr.weeks td.sel {
      background: #FF7F00;
      color: #fff; }
  .formbox .calendar tr.foot td {
    text-align: center; }
    .formbox .calendar tr.foot td .date {
      cursor: pointer;
      display: inline-block;
      width: 200px;
      line-height: 39px;
      background: #F08341;
      color: #fff;
      border-radius: 6px; }
@media screen and (max-width: 600px) {
  .formbox .calendar tr.title td {
    height: 60px;
    font-size: 1.4rem; }
    .formbox .calendar tr.title td input {
      width: 30px;
      height: 34px;
      line-height: 34px;
      border-radius: 6px;
      font-size: 1.4rem;
      -webkit-appearance: none; }
    .formbox .calendar tr.title td span {
      display: inline-block;
      width: 84px;
      line-height: 34px;
      background: #F08341;
      color: #fff;
      border-radius: 6px; }
  .formbox .calendar tr.week td {
    font-size: 1.4rem; }
  .formbox .calendar tr.weeks td {
    padding: 0;
    width: auto;
    height: 40px;
    font-size: 1.4rem; }
  .formbox .calendar tr.foot td .date {
    font-size: 1.4rem;
    width: 180px;
    line-height: 39px; } }
.formbox div.calendar {
  border: 2px solid #eb5900;
  border-radius: 4px;
  margin: 10px 0 0;
  padding: 10px 20px 20px;
  max-width: 540px; }
  @media screen and (max-width: 600px) {
    .formbox div.calendar {
      max-width: 100%;
      width: 100%;
      padding: 10px 5%; } }
.formbox table.calendar {
  margin: 0;
  background-color: #ffffff;
  width: 100%;
  table-layout: fixed; }
  .formbox table.calendar input {
    cursor: pointer;
    font-size: 8px;
    width: 17px;
    height: 17px; }
.formbox .submit input, .formbox .submit button {
  -webkit-appearance: none;
  background: -webkit-gradient(linear, left top, left bottom, from(#66b354), to(#3f9a53));
  background: -webkit-linear-gradient(top, #66b354 0%, #3f9a53 100%);
  background: -o-linear-gradient(top, #66b354 0%, #3f9a53 100%);
  background: linear-gradient(to bottom, #66b354 0%, #3f9a53 100%);
  border: 2px solid #fff;
  color: #fff;
  display: block;
  width: 493px;
  height: auto;
  line-height: 80px;
  margin: 70px auto 0;
  font-size: 3.6rem;
  vertical-align: middle;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.2s; }
  .formbox .submit input:hover, .formbox .submit button:hover {
    opacity: 0.8;
    transition: all 0.4s; }
.formbox .submit.btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 70px auto 0; }
  .formbox .submit.btns input, .formbox .submit.btns button {
    width: 260px;
    margin: 0; }
    .formbox .submit.btns input + *, .formbox .submit.btns button + * {
      margin-left: 30px; }
@media screen and (max-width: 600px) {
  .formbox .submit input, .formbox .submit button {
    width: 100%;
    line-height: 60px;
    margin: 40px auto 0;
    font-size: 2.8rem; }
  .formbox .submit.btns {
    margin: 40px auto 0; }
    .formbox .submit.btns input, .formbox .submit.btns button {
      width: 48%;
      margin: 0; }
      .formbox .submit.btns input + *, .formbox .submit.btns button + * {
        margin-left: 4%; } }
