@charset "UTF-8";

#wrapper {
  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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 100vh;
  overflow: hidden;
}

main {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

img {
  width: 100%;
}

.res-pc {
  display: inline !important;
}
@media only screen and (max-width: 767px) {
  .res-pc {
    display: none !important;
  }
}

.res-sp {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .res-sp {
    display: inline !important;
  }
}

.switch {
  opacity: 0;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

.inline-block {
  display: inline-block;
}


@media print, screen and (min-width: 768px) {
  .xy-inner {
    margin: 0 auto;
  }
}

/*---------------------------------------------------------
mv
---------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
.xy-mv{
    margin-top: 18rem;
}
}
#xy-mv {
  background-color: #fcd3e9;
    
}
@media print, screen and (min-width: 768px) {
  #xy-mv {
    min-height: 89.6rem;
  }
}
#xy-mv h1 {
  height: 112.8vw;
}
@media print, screen and (min-width: 768px) {
  #xy-mv h1 {
    position: relative;
    height: 84.7rem;
    background: url(../img/mv-bg-pc.jpg) repeat-x center center/contain;
    overflow: hidden;
  }
  #xy-mv h1 > span {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 164.0rem;
  }
}
#xy-mv #xy-mv-contents {
  margin-top: -36.4vw;
  padding: 0 3.2rem 3.5rem;
}
@media print, screen and (min-width: 768px) {
  #xy-mv #xy-mv-contents {
    position: relative;
    margin-top: -37.4rem;
    padding: 0 2.0rem 4.0rem;
    text-align: center;
  }
}
#xy-mv #xy-mv-contents #xy-mv-catch {
  width: 26.2rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  #xy-mv #xy-mv-contents #xy-mv-catch {
    width: 89.0rem;
  }
}
#xy-mv #xy-mv-contents .xy-mv-txt-box {
  margin-top: 1.0rem;
}
@media print, screen and (min-width: 768px) {
  #xy-mv #xy-mv-contents .xy-mv-txt-box p {
    letter-spacing: 0.05em;
  }
}
#xy-mv #xy-mv-contents .xy-mv-txt-box p:nth-of-type(n+2) {
  margin-top: 0.5rem;
}
@media print, screen and (min-width: 768px) {
  #xy-mv #xy-mv-contents .xy-mv-txt-box p:nth-of-type(n+2) {
    margin-top: 1.0rem;
  }
}
#xy-mv #xy-mv-contents .xy-mv-txt-box p.xy-mv-txt-strong strong {
  font-weight: normal;
  color: #fff;
  padding: 0.2rem;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #00adba));
  background: linear-gradient(transparent 0%, #00adba 0%);
}
@media print, screen and (min-width: 768px) {
  #xy-mv #xy-mv-contents .xy-mv-txt-box p.xy-mv-txt-strong strong {
    padding: 0.5rem;
  }
}
#xy-mv #xy-mv-contents .xy-mv-txt-box p.xy-mv-txt-red {
  margin-top: 2.0rem;
  text-align: center;
  color: #ff0000;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  #xy-mv #xy-mv-contents .xy-mv-txt-box p.xy-mv-txt-red {
    margin-top: 1.0rem;
  }
}

/*---------------------------------------------------------
parts
---------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  .tel-link {
    cursor: default;
    color: inherit;
  }
  .tel-link:hover {
    opacity: 1;
  }
}

/*---------------------------------------------------------
contents
---------------------------------------------------------*/
#xy-contents {
  padding-top: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  #xy-contents {
    padding-top: 5.0rem;
  }
}

#xy-record-note {
  text-align: center;
  margin-bottom: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  #xy-record-note {
    margin-bottom: 5.0rem;
  }
}
#xy-record-note > span {
  display: inline-block;
  font-size: 1.6rem;
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
  color: #ff0000;
}
@media print, screen and (min-width: 768px) {
  #xy-record-note > span {
    font-size: 2.2rem;
  }
}

#xy-info {
margin-top: 4rem;
  margin-bottom: 4.0rem;
}
@media print, screen and (min-width: 768px) {
  #xy-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 4.0rem;
      margin-top: 4rem;
  }
}
@media print, screen and (min-width: 768px) {
  #xy-info #xy-prof {
/*    width: 68.0rem;*/
    margin-right: 9.0rem;
  }
  #xy-info #xy-prof .xy-info-item {
    padding-left: 20.0rem;
  }
  #xy-info #xy-prof .xy-info-item dt {
    float: left;
    margin: 1.0rem 0.5rem 0 0;
  }
}
#xy-info #xy-detail {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #xy-info #xy-detail {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 0;
  }
}
#xy-info dl.xy-info-item {
  position: relative;
}
@media print, screen and (max-width: 768px) {
   #xy-info dl.xy-info-item {
  margin-bottom: 5rem
} 
}
#xy-info dl.xy-info-item:nth-of-type(n+2) {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #xy-info dl.xy-info-item:nth-of-type(n+2) {
    margin-top: 3.0rem;
  }
}
#xy-info dl.xy-info-item dt {
  color: #00adba;
  letter-spacing: 0.05em;
}
@media print, screen and (max-width: 768px) {
    #xy-info dl.xy-info-item dt {
  margin-bottom: -10px;
}
}
#xy-info dl.xy-info-item dd > strong {
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  #xy-info dl.xy-info-item dd > strong {
    font-size: 2.2rem;
  }
}
#xy-info dl.xy-info-item dd > strong big {
  font-size: 4rem;
}
@media print, screen and (min-width: 768px) {
  #xy-info dl.xy-info-item dd > strong big {
    font-size: 2.6rem;
  }
}
#xy-info dl.xy-info-item dd > strong small {
  font-size: 2.4rem;
}
@media print, screen and (min-width: 768px) {
  #xy-info dl.xy-info-item dd > strong small {
    font-size: 2.0rem;
  }
}
#xy-info #xy-prof-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 1.5rem;
}
#xy-info #xy-prof-box p {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  letter-spacing: 0;
/*  font-size: 1.2rem;*/
}
@media print, screen and (min-width: 768px) {
  #xy-info #xy-prof-box p {
    font-size: 1.6rem;
  }
}
#xy-info #xy-prof-box > span {
  width: 19.2vw;
  margin-left: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #xy-info #xy-prof-box > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 14.4rem;
    margin: 1.0rem 0 0 0;
  }
}

#xy-period {
  margin-bottom: 6.0rem;
}
@media print, screen and (min-width: 768px) {
  #xy-period {
    margin-bottom: 6.0rem;
    text-align: center;
  }
}
#xy-period #xy-period-frame {
  border: 3px solid #8ce2e0;
  padding: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #xy-period #xy-period-frame {
    padding: 2.5rem;
  }
}
#xy-period #xy-period-title {
/*  color: #00adba;*/
  margin-bottom: 0.5em;
}
#xy-period ul li {
  letter-spacing: -0.01em;
}
#xy-period ul li:nth-child(n+2) {
  margin-top: 0.2em;
}
#xy-period #xy-period-note {
  display: inline-block;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 1.2rem;
  margin-top: 1em;
  color: #ff0000;
}
@media print, screen and (min-width: 768px) {
  #xy-period #xy-period-note {
    font-size: 1.6rem;
  }
}

#xy-form-box #xy-form-title {
  font-size: 1.7rem;
/*  color: #00adba;*/
  text-align: center;
  margin-bottom: 2.0rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box #xy-form-title {
    font-size: 2.6rem;
    margin-bottom: 3.5rem;
  }
}
#xy-form-box dl {
  border-bottom: 1px solid #00adba;
  padding: 1.5rem 0 1.0rem;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 2.4rem 0;
  }
}
#xy-form-box dl:first-of-type {
  border-top: 1px solid #00adba;
}
#xy-form-box dl dt {
  color: #1a1a1a;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dt {
    width: 30.0rem;
    padding-right: 1em;
    margin: 0.8rem 0;
  }
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd > p {
    margin: 0.8rem 0;
  }
}
#xy-form-box dl dd .xy-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#xy-form-box dl dd .xy-input .input-note {
  font-size: 88.8888888889%;
  color: #666666;
  margin: 0 0 0 1em !important;
  white-space: nowrap;
}
#xy-form-box dl dd .xy-input.input-name input {
  width: 28vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-name input {
    width: 20.0rem;
  }
}
#xy-form-box dl dd .xy-input.input-name input:nth-of-type(n+2) {
  margin-left: 2.6666666667vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-name input:nth-of-type(n+2) {
    margin-left: 3.0rem;
  }
}
#xy-form-box dl dd .xy-input.input-age input {
  width: 13.3333333333vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-age input {
    width: 8.0rem;
  }
}
#xy-form-box dl dd .xy-input.input-tel input {
  width: 14.6666666667vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-tel input {
    width: 10.0rem;
  }
}
#xy-form-box dl dd .xy-input.input-tel input:nth-of-type(3) {
  width: 17.3333333333vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-tel input:nth-of-type(3) {
    width: 12.0rem;
  }
}
#xy-form-box dl dd .xy-input.input-tel span {
  margin: 0 0.5em;
}
#xy-form-box dl dd .xy-input.input-mail input {
  width: 14.6666666667vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-mail input {
    width: 11.3rem;
  }
}
#xy-form-box dl dd .xy-input.input-mail input:nth-of-type(2) {
  width: 33.3333333333vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-mail input:nth-of-type(2) {
    width: 23.0rem;
  }
}
#xy-form-box dl dd .xy-input.input-mail span {
  margin: 0 0.85em;
}
#xy-form-box dl dd .xy-input.input-select {
  position: relative;
  width: 53.3333333333vw;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl dd .xy-input.input-select {
    width: 34.3rem;
  }
}
#xy-form-box dl dd .xy-input.input-select:before {
  position: absolute;
  display: block;
  content: " ";
  border-top: 0.7rem solid #000;
  border-right: 0.4rem solid transparent;
  border-left: 0.4rem solid transparent;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 1.9rem;
}
#xy-form-box dl dd .xy-input.input-radio {
  margin-bottom: 1.0rem;
}
#xy-form-box dl#xy-efforts .input-radio,
#xy-form-box dl#xy-pdt .input-radio {
  margin: 1.8rem 0 4.0rem;
}
#xy-form-box .xy-add-box {
  position: relative;
}
#xy-form-box .xy-add-box:after {
  position: absolute;
  display: block;
  content: " ";
  width: 100%;
  height: 0;
  top: 0;
  left: 0;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
#xy-form-box .xy-add-box.lock:after {
  background-color: rgba(255, 255, 255, 0.8);
  height: 100%;
}
#xy-form-box dl#xy-pdt .input-check {
  padding-bottom: 4.0rem;
}
#xy-form-box dl#xy-pdt .input-check ul li label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl#xy-pdt .input-check ul li label {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 2.7777777778em;
  }
}
#xy-form-box dl#xy-pdt .input-check ul li label > i {
  display: block;
  height: 4.4444444444em;
  margin-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl#xy-pdt .input-check ul li label > i {
    margin: 0 0 0 1.5em;
    height: 2.7777777778em;
  }
}
#xy-form-box dl#xy-pdt .input-check ul li label > i img {
  width: auto;
  height: 100%;
}
#xy-form-box dl#xy-pdt .input-check ul li:nth-child(n+2) {
  margin-top: 1.5em;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box dl#xy-pdt .input-check ul li:nth-child(n+2) {
    margin-top: 0.6666666667em;
  }
}
#xy-form-box .xy-form-txt {
  margin-bottom: 1em;
}
#xy-form-box .error-msg {
  position: relative;
  display: none;
  color: #ff0000;
  margin-top: 1.0em;
  padding-left: 1.5em;
}
@media print, screen and (min-width: 768px) {
  #xy-form-box .error-msg {
    font-size: 1.6rem;
  }
}
#xy-form-box .error-msg:before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../img/error-icon.gif) no-repeat center center/contain;
  width: 1.125em;
  height: 0.9375em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}
#xy-form-box .error input, #xy-form-box .error textarea, #xy-form-box .error select {
  background-color: #ffe4e4;
}
#xy-form-box .error .error-msg {
  display: block;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
}

input,
select,
textarea {
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #f5f5f5;
  font-size: 1.3rem;
  padding: 0.9rem;
  width: 100%;
  border-radius: 0;
}
@media print, screen and (min-width: 768px) {
  input,
  select,
  textarea {
    font-size: 1.8rem;
  }
}

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

textarea {
  resize: vertical;
  vertical-align: bottom;
}

select,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #666;
}

select,
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #666;
}

select,
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #666;
}

select,
input::placeholder,
textarea::placeholder {
  color: #666;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

input[type="submit"] {
  border: none;
  cursor: pointer;
}

input[type="radio"],
input[type="checkbox"] {
  display: none;
}

input[type="radio"]:nth-of-type(n+2) + label {
  margin-left: 2em;
}
input[type="radio"] + label {
  font-size: 1.3rem;
  line-height: 1;
  padding-left: 2em;
  position: relative;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  input[type="radio"] + label {
    font-size: 1.8rem;
  }
}
input[type="radio"] + label:before, input[type="radio"] + label:after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
input[type="radio"] + label:before {
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #b2b2b2;
  background-color: #ebebeb;
}
input[type="radio"] + label:after {
  left: 0.2777777778em;
  width: 0.5555555556em;
  height: 0.5555555556em;
  background: #ebebeb;
}
input[type="radio"]:checked + label {
  font-weight: normal;
}
input[type="radio"]:checked + label:after {
  background: #00adba;
}

input[type="checkbox"] {
  display: none;
}
input[type="checkbox"] + label {
  display: inline-block;
  font-size: 1.3rem;
  line-height: 1;
  padding-left: 2em;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  input[type="checkbox"] + label {
    font-size: 1.6rem;
  }
}
input[type="checkbox"] + label:before, input[type="checkbox"] + label:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #ddd;
  background-color: #ebebeb;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="checkbox"]:checked + label:before {
  display: none;
}
input[type="checkbox"]:checked + label:after {
  border: none;
  background: url(../img/checkbox-on.png) no-repeat 0 0/contain;
}

#xy-pdt-intention-box {
  margin-top: 4.0rem;
}
#xy-pdt-intention-box .input-radio {
  margin-bottom: 0 !important;
}

#xy-policy {
  border: 1px solid #cccccc;
  margin-top: 2.0rem;
  height: 15.0rem;
  overflow: auto;
}
@media print, screen and (min-width: 768px) {
  #xy-policy {
    height: 29.0rem;
  }
}
#xy-policy #xy-policy-inner {
  padding: 2.0rem;
}
@media print, screen and (min-width: 768px) {
  #xy-policy #xy-policy-inner {
    padding: 5.0rem;
  }
}
#xy-policy #xy-policy-inner .xy-policy-title {
  font-weight: normal;
  margin-bottom: 1em;
  font-size: 1.1111111111em;
}
#xy-policy p:last-of-type {
  margin-top: 1.75em;
  padding-left: 1.5em;
}
#xy-policy p:last-of-type > span {
  display: block;
  float: left;
  margin-left: -1.5em;
}

#xy-agree {
  margin-top: 3.0rem;
  text-align: center;
}

.xy-btn {
  margin-top: 6.0rem;
}
.xy-btn a{
    text-align: center;
    display: block;
    margin-top: 2rem;
    text-decoration: underline;
    color: #1a1a1a;
}
.xy-btn input[type="button"] {
  background-color: #8ce2e0;
    border-bottom: 4px solid #71c6c4;
    color: #1a1a1a !important;
/*font-weight: bold;*/
  height: 5.0rem;
  letter-spacing: 0.05em;
  border-radius: 0.3rem;
  outline: none;
/*
  -webkit-transition: 0.3s;
  transition: 0.3s;
*/
}
@media print, screen and (min-width: 768px) {
  .xy-btn input[type="button"] {
    display: block;
    width: 40.0rem;
    margin: 0 auto;
    height: 8.1rem;
  }
  .xy-btn input[type="button"]:hover {
/*    opacity: 0.6;*/
      border-bottom: 0px solid;
      position: relative;
      top: 2px;
  }
}
.xy-btn input[type="button"].lock {
  cursor: default;
  background-color: #f5f5f5;
    border-bottom: 4px solid #f5f5f5;
  color: #ccc;
}
.xy-btn input[type="button"].lock:hover {
  opacity: 1;
    position: relative;
      top: 0px;
}

#xy-thanks-box {
  padding: 2em 0;
}
#xy-thanks-box strong {
  display: block;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 768px) {
  #xy-thanks-box strong {
    font-size: 2.6rem;
  }
}
@media print, screen and (min-width: 768px) {
  #xy-thanks-box p {
    width: 79.7rem;
    margin: 0 auto;
  }
}

/*---------------------------------------------------------
footer
---------------------------------------------------------*/
.footer {
/*  border-bottom: 6.0rem solid #fcd3e9;*/
  margin-top: 6.0rem;
  padding-bottom: 6.0rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  .footer {
    border-bottom-width: 14.1rem;
    margin-top: 10.0rem;
    padding-bottom: 7.5rem;
  }
}
.footer #xy-contact {
  margin-bottom: 4.5rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.footer #xy-contact dt {
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact dt {
    width: 20.0rem;
    text-align: left;
  }
}
.footer #xy-contact dd {
  margin-top: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0;
  }
}
.footer #xy-contact dd p {
  font-size: 1.4rem;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact dd p {
    display: inline-block;
    font-size: 2.0rem;
  }
}
.footer #xy-contact dd p a {
  color: #000;
}
.footer #xy-contact dd p#xy-contact-mail {
  margin-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact dd p#xy-contact-mail {
    margin: 0 0 0 4.0rem;
  }
}
.footer #xy-contact dd p#xy-contact-mail a {
  font-size: 1.2rem;
  text-decoration: underline;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact dd p#xy-contact-mail a {
    font-size: 1.6rem;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .footer #xy-contact dd p#xy-contact-mail a:hover {
    opacity: 0.6;
  }
}
.footer #xy-contact dd #xy-contact-note {
  margin-top: 1em;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact dd #xy-contact-note {
    margin-top: 0.5em;
  }
}
.footer #xy-contact dd #xy-contact-note li {
  font-size: 1.1rem;
  text-indent: -1em;
  padding-left: 1em;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-contact dd #xy-contact-note li {
    font-size: 1.4rem;
  }
}
.footer #xy-f-company {
  margin-top: 0.5em;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 768px) {
  .footer #xy-f-company {
    font-size: 1.6rem;
  }
}


.add_banner_sec {
	padding-top: 80px; }
@media only screen and (max-width: 767px) {
    .add_banner_sec {
		padding-top: 60px; } }
.add_banner_sec .bannerlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
@media only screen and (max-width: 767px) {
	.add_banner_sec .bannerlist {
        display: block; } }
.add_banner_sec .bannerlist li {
	width: 50%; }
@media only screen and (max-width: 767px) {
	.add_banner_sec .bannerlist li {
		width: 100%; } }
.add_banner_sec .bannerlist li:first-child {
	padding-right: 20px; }
@media only screen and (max-width: 767px) {
	.add_banner_sec .bannerlist li:first-child {
		padding-right: 0px;
		padding-bottom: 25px; } }
.add_banner_sec .bannerlist li:last-child {
	padding-left: 20px; }
@media only screen and (max-width: 767px) {
	.add_banner_sec .bannerlist li:last-child {
		padding-left: 0px; } }
.add_banner_sec .bannerlist li a {
	display: block;
	-webkit-transition-duration: 0.4s;
	-o-transition-duration: 0.4s;
	transition-duration: 0.4s; }
.add_banner_sec .bannerlist li a:hover {
	opacity: 0.6; }
.add_banner_sec .bannerlist li a span {
	display: block;
	text-align: center;
	font-size: 18px;
	color: #000; }
@media only screen and (max-width: 767px) {
	.add_banner_sec .bannerlist li a span {
		font-size: 13px; } }

/*.add_banner_sec{
	padding-top: 80px;
	@media #{$sp} {
		padding-top: 60px;
	}
	.bannerlist{
		display: flex;
		justify-content: center;
		@media #{$sp} {
			display: block;
		}
		li{
			width: 50%;
			@media #{$sp} {
				width: 100%;
			}
			&:first-child{
				padding-right: 20px;
				@media #{$sp} {
					padding-right: 0px;
					padding-bottom: 25px;
				}
			}
			&:last-child{
				padding-left: 20px;
				@media #{$sp} {
					padding-left: 0px;
				}
			}
			a{
				display: block;
				-webkit-transition-duration: 0.4s;
				-o-transition-duration: 0.4s;
				transition-duration: 0.4s;
				&:hover{
                    opacity: 0.6;
				}
				span{
					display: block;
					text-align: center;
					font-size: 18px;
					color: #000;
					@media #{$sp} {
						font-size: 13px;
					}
				}
			}
		}
	}
}*/

/*add_1006*/
.mv_txt{
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 8rem;
    font-size: 1.8rem;
    line-height: 2.3;
}
.mv_txt span{
    color: #ff0000;
    font-weight: bold;
/*
    display: block;
    margin-top: 1rem;
*/
}

.xy_table{
    width: 100%;
}
.xy_table th{
    background-color: #8ce2e0;
    text-align: center;
    font-size: 1.8rem;
    font-weight: normal;
    border-right: 1px solid #fff;
    padding: 1rem 0;
}
.xy_table th:nth-child(1){
    width: 22%;
}
.xy_table th:nth-child(2){
    width: 51%;
}
.xy_table th:nth-child(3){
    border-right: 0px;
    width: 22%;
}
.xy_table td{
    border-bottom: 1px solid #8ce2e0;
    padding: 1.2rem;
}
.xy_table td:nth-child(1){
    border-right: 1px solid #8ce2e0;
    text-align: center;
}
.xy_table td:nth-child(2){
    border-right: 1px solid #8ce2e0;
/*    text-align: center;*/
}
.xy_table td:nth-child(3){
    text-align: center;
}
.xy_table td:nth-child(3) span{
    background-color: #d5d5d5;
    padding: 1rem;
    border-bottom: 3px solid #b5b5b5;
}

/*
.xy_ditali{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 5rem;
}
.xy_ditali .info_box{
     width: 50%;
}
*/
.xy_ditali .table_box{
     width: 100%;
}
.xy_ditali .info_box dl{
    display: flex;
    align-items: center;
    margin-bottom: 4rem;
}
.xy_ditali .info_box dt{
    width: 25%;
    background-color: #8ce2e0;
    text-align: center;
    margin-right: 5%;
    font-size: 1.8rem;
    height: 3rem;
}
.xy_ditali .info_box dd{
    font-size: 1.8rem;
    font-weight: bold;
}
.xy_ditali .info_box dd.big{
    font-size: 2.4rem;
}
.table_box .xy_table th:nth-child(2){
    width: 10% !important;
}
.table_box .xy_table td:nth-child(1){
    text-align: left;
}
.table_box .xy_table td:nth-child(2){
    border-right: 0px;
    text-align: center;
}
.xy_table_sp{
        display: none;
    }
.xy-contact_ti{
    display: block !important;
    margin-bottom: .5rem
}
@media only screen and (max-width: 767px) {
    .mv_txt{
    font-size: 1.4rem;
    line-height: 2;
     text-align: left;
        margin-top: 1rem;
        margin-bottom: 5rem;
}
    .mv_txt span{
    text-align: center;
}
    .xy_table._pc{
        display: none;
    }
    .xy_table_sp{
        margin-bottom: 2px;
        display: table;
                width: 100%;
    }
    .xy_table_sp.last > .modal_btn_sp{
        margin-bottom: 5rem;
    }
    .xy_table_sp tr:last-child{
        border-bottom: 2px solid #c5f0ef;
    }
    .xy_table_sp th{
     background-color: #8ce2e0;
    text-align: center;
    font-size: 2.2rem;
    font-weight: normal;
    border-right: 1px solid #fff;
    padding: .5rem 0;
    }
    .xy_table_sp .sp_th{
        background-color: #c5f0ef;
        border-top: 2px solid #fff;
        width: 30%;
        text-align: center;
        font-size: 2.2rem;
/*        padding: .5rem;*/
    }
    .xy_table_sp td{
        line-height: 1.6;
        padding: 2.5rem;
    }
    .xy_table_sp tr:last-child{
        border-top: 2px solid #c5f0ef;
    }
    .xy_ditali{
    display: block;
/*    margin-bottom: 5rem;*/
}
.xy_ditali .info_box{
     width: 100%;
}
.xy_ditali .table_box{
     width: 100%;
}
    .xy_ditali .info_box dl{
    margin-bottom: 2rem;
}
    .xy_ditali .info_box dt{
    width: 34%;
    font-size: 1.2rem;
    height: 2.3rem;
}
    .xy_ditali .info_box dd{
    font-size: 1.2rem;
}
.xy_ditali .info_box dd.big{
    font-size: 1.2rem;
}
    .xy_table th{
    font-size: 1.2rem;
    padding: .5rem 0;
}
    .xy_table td{
    border-bottom: 2px solid #8ce2e0;
}
    .xy_table td:nth-child(1){
    border-right: 2px solid #8ce2e0;
}
.xy_table td:nth-child(2){
    border-right: 2px solid #8ce2e0;
}
    .xy_table th{
    border-right: 2px solid #fff;
}
    .xy-contact_ti{
    margin-bottom: 1rem;
}
}

/*1021追加*/
#fax_box{
    background-color: #f5f5f5;
    padding: 2.5rem;
    margin-bottom: 6rem;
}
#fax_box h3{
    text-align: center;
    margin-bottom: 0.5em;
}
#fax_box a{
    color: #00adba;
    text-decoration: underline;
}
#fax_box a:hover{
    color: #8ce2e0;
    text-decoration: none;
}
@media only screen and (max-width: 767px) {
    #fax_box{
   padding: 1.5rem;
}
    #fax_box h3{
    text-align: left;
}
}

/*1117追加*/

.megamenu ul {
    top: 34px !important;
}
@media only screen and (max-width: 1350px) {
  .megamenu ul {
    top: 2.6vw;
  }
}

/*
.xy_table td:nth-child(3) span:hover{
    border-bottom: 0px solid;
    position: relative;
    top: 2px;
    cursor: pointer;
}
*/


.archive_modal{
    display: none;
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    position: fixed;
    z-index: 1000000000;
    background: rgba(0, 0, 0, 0.6);
/*    background: rgba(255, 255, 255, 0.6);*/
}
.archive_modal .modal_inner{
    position: fixed;
    z-index: 10000;
    width: 100%;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.youtube_box {
  width: 50%;
  aspect-ratio: 16 / 9;
    position: relative;
}
.close_modal{
 position: absolute;
    top: -3rem;
    right: -3rem;
    width: 5rem;
}
.close_modal:hover{
 cursor: pointer;
}
.youtube_box iframe {
  width: 100%;
  height: 100%;
}
.modal_btn_sp span{
    display: none;
}

@media only screen and (max-width: 767px) {
    .youtube_box {
  width: 90%;
}
    .close_modal{
 position: absolute;
    top: -6rem;
    right: 1rem;
    width: 4rem;
}
    .modal_btn_sp span{
    display: block;
    margin: auto;
    width: 70%;
    text-align: center;
    background-color: #d5d5d5;
    padding: .5rem;
    border-bottom: 3px solid #b5b5b5;
    margin-bottom: 3rem;
    margin-top: 2rem;
} 
}
@media only screen and (max-width: 500px) {
    .youtube_box iframe{
        height: 22rem;
    }
}

/*240808追加*/

/*期間終了時はclassとaタグをとる*/
.report_btn span{
background-color: #8ce2e0 !important;
border-bottom: 3px solid #6bc3c1 !important;
}
.report_btn:hover{
    color: #333;
}
.report_btn span:hover{
background-color: #8ce2e0 !important;
border-bottom: 3px solid #6bc3c1 !important;
opacity: .8
}

.prog{
    font-weight: bold;
    line-height: 1.6;
    margin-top: 1rem;
}
