@charset "UTF-8";
/* p-mv
--------------------------------*/
.p-mv {
  padding-bottom: 60px;
  background: url("../img/common/bg_dot_01.png") repeat left top, url("../img/index/img_mv_04.png") no-repeat center bottom;
  background-size: auto, 100%;
}

@media screen and (max-width: 767px) {
  .p-mv {
    padding-bottom: 6.6666666667vw;
    background: url("../img/common/bg_dot_01.png") repeat left top, url("../img/index/img_mv_04_sp.png") no-repeat center bottom;
    background-size: auto, 100%;
  }
}
.header-flexbox {
  display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 767px) {
  .header-flexbox {
    display: block;
  }
}
.header-left-box {
  width: 60%;
}
.header-right-box {
  width: 35%;
  padding-top: 35px;
  margin-right: 6%;
}
@media screen and (max-width: 767px) {
  .header-left-box {
    width: 100%;
  }
  .header-right-box {
    width: 100%;
    padding-bottom: 16px;
  }
}
.header-red-txt {
  font-size: 18px;
  color: #b62627;
  font-weight: bold;
  text-align: center;
  padding: 20px;
}
.header-sub-title {
  font-size: 14px;
  font-weight: bold;
  padding: 0 0 20px;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .header-sub-title {
    padding: 0 16px 20px;
  }
}
.p-mv .top-img img {
  width: 100%;
}

.p-mv .balloon {
  text-align: center;
  margin-top: -20px;
}

@media screen and (max-width: 767px) {
  .p-mv .balloon {
    margin-top: -1px;
  }
}

.p-mv .balloon_bg {
  font-size: 2.3rem;
  font-weight: 700;
  display: inline-block;
  text-align: center;
  color: #FFFFFF;
  background: #b62627;
  letter-spacing: 0.07em;
  position: relative;
  padding: 0.4em;
}

@media screen and (max-width: 767px) {
  .p-mv .balloon_bg {
    font-size: 3.4666666667vw;
    width: 100%;
  }
}

.p-mv .balloon_bg::before {
  content: "";
  position: absolute;
  bottom: -19px;
  left: 50%;
  border: 10px solid transparent;
  border-top: 10px solid #b62627;
}

@media screen and (max-width: 767px) {
  .p-mv .balloon_bg::before {
    bottom: -2.6666666667vw;
    border-width: 1.3333333333vw;
    border-top-width: 2vw;
  }
}

.p-mv .balloon_strong {
  color: #ffeb97;
}

.p-mv .text-box {
  margin-top: 40px;
  /* padding-left: 15px; */
}

@media screen and (max-width: 767px) {
  .p-mv .text-box {
    margin-top: 4vw;
    padding-left: 0;
  }
}

.p-mv .text-box .en {
  font-size: 2.1rem;
  font-family: "Roboto", "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.18em;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .en {
    font-size: 4vw;
  }
}

.p-mv .text-box .en span {
  color: #b62627;
}

.p-mv .text-box .title {
  font-size: 8rem;
  line-height: 1;
  color: #b62627;
  font-weight: 900;
  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;
  text-align: center;
  margin-top: 5px;
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .title {
    font-size: 16.9333333333vw;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 0;
    margin-left: 0;
  }
}

.p-mv .text-box .title_main {
  display: inline-block;
  padding-bottom: 0.1em;
}

.p-mv .text-box .title_parts {
  font-size: 2.7rem;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0;
  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;
  margin-right: 25px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .title_parts {
    font-size: 5.6vw;
    margin-top: 2vw;
    margin-right: 1.0666666667vw;
  }
}

.p-mv .text-box .title_moji {
  color: #FFFFFF;
  text-align: center;
  background: #b62627;
  width: 34px;
  height: 34px;
  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: 2px 0;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .title_moji {
    margin: 0.2666666667vw 0;
    width: 7.2vw;
    height: 7.2vw;
  }
}

.p-mv .text-box .name {
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  color: #b62627;
  max-width: 680px;
  margin: 5px auto 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .name {
    font-size: 3.3333333333vw;
    max-width: 64vw;
    margin-top: 0.6666666667vw;
  }
}

.p-mv .text-box .name::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #b62627;
}

.p-mv .text-box .name span {
  position: relative;
  padding: 0 0.5em;
  background: #FFFFFF;
}

.p-mv .text-box .text {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .text {
    font-size: 3.6vw;
    margin-top: 0.6666666667vw;
  }
}

.p-mv .text-box .button {
  text-align: center;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .button {
    margin-top: 4vw;
  }
}

.p-mv .text-box .button_link {
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  width: 474px;
  height: 71px;
  color: #FFFFFF;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fb8117), color-stop(50.1%, #ed7100));
  background: linear-gradient(180deg,#fb8117 50%,#ed7100 50.1%);
  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;
  border: 6px solid #FFFFFF;
  border-radius: 50px;
  -webkit-box-shadow: 0 0 10px rgba(26, 26, 26, 0.16);
  box-shadow: 0 0 10px rgba(26, 26, 26, 0.16);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-mv .text-box .button_link {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }

  .p-mv .text-box .button_link:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .button_link {
    font-size: 3.8666666667vw;
    width: 81.6vw;
    height: 11.4666666667vw;
    border-width: 0.8vw;
    border-radius: 6.6666666667vw;
  }
}

.p-mv .text-box .button_link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left: 7px solid #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .button_link::before {
    right: 2.6666666667vw;
    border-width: 0.6666666667vw;
    border-left-width: 1.3333333333vw;
  }
}

.p-mv .text-box .button_icon {
  display: inline-block;
  position: relative;
  padding-left: 1.4em;
}

.p-mv .text-box .button_icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1em;
  height: 1.1em;
  background: url("../img/common/icon_doc_white.svg") no-repeat center center/contain;
}

.p-mv .text-box .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 45px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list {
    margin-top: 9.3333333333vw;
  }
}

.p-mv .text-box .list > div {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  width: 220px;
  margin: 0 4px;
  padding: 10px 0 11px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list > div {
    border-width: 0.8vw;
    width: 30vw;
    margin: 0 0.6666666667vw;
    padding: 1.3333333333vw 0 1.3333333333vw;
  }
}

.p-mv .text-box .list > div::before {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  width: 26px;
  height: 26px;
  background: url("../img/index/img_mv_05.png") no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list > div::before {
    top: -0.8vw;
    left: -0.8vw;
    width: 3.4666666667vw;
    height: 3.4666666667vw;
  }
}

.p-mv .text-box .list > div dt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.2777777778;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list > div dt {
    font-size: 2.5333333333vw;
    letter-spacing: -0.01em;
  }
}

.p-mv .text-box .list > div dt span {
  min-width: 127px;
  display: inline-block;
  border-bottom: 1px solid #1a1a1a;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list > div dt span {
    min-width: 16.9333333333vw;
  }
}

.p-mv .text-box .list_box01 dd {
  /* font-size: 6.8rem; */
  font-size: 5.6rem;
  line-height: 1;
  /* font-weight: 900; */
  font-weight: 700;
  color: #b62627;
  text-align: center;
  font-family: "Roboto", "Zen Kaku Gothic New", sans-serif;
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list_box01 dd {
    /* font-size: 9.2vw; */
    font-size: 7.7333333333vw;
    margin-top: 2vw;
  }
}

.p-mv .text-box .list_box02 dd {
  font-size: 1.6rem;
  line-height: 1.15;
  font-weight: 900;
  color: #b62627;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list_box02 dd {
    font-size: 2.5333333333vw;
  }
}

.p-mv .text-box .list_box02_big01 {
  font-size: 4rem;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list_box02_big01 {
    font-size: 6.1333333333vw;
  }
}

.p-mv .text-box .list_box02_big02 {
  font-size: 3rem;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list_box02_big02 {
    font-size: 5.3333333333vw;
  }
}

.p-mv .text-box .list_box03 dd {
  font-size: 5.8rem;
  line-height: 1;
  font-weight: 700;
  color: #b62627;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-mv .text-box .list_box03 dd {
    font-size: 7.7333333333vw;
    margin-top: 1.3333333333vw;
  }
}

/* p-company
--------------------------------*/
.p-company {
  padding: 50px 0 25px;
  background: #f2f2f2;
}

@media screen and (max-width: 767px) {
  .p-company {
    padding: 5.3333333333vw 0 3vw;
  }
}

.p-company .l-wrap {
  position: relative;
  z-index: 1;
}

.p-company .text {
  text-align: center;
}

.p-company .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-company .list {
    margin-top: 4vw;
  }
}

.p-company .list > div {
  background: #b62627;
  border: 6px solid #d85960;
  width: 354px;
  margin: 0 7px;
  padding: 10px 0 16px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-company .list > div {
    width: 39vw;
    margin: 0 0.6666666667vw;
    padding: 2.6666666667vw 0 2vw;
    border-width: 0.8vw;
  }
}

.p-company .list > div::before, .p-company .list > div::after {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  width: 26px;
  height: 26px;
  background: url("../img/index/bg_company_01.png") no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-company .list > div::before, .p-company .list > div::after {
    top: -0.8vw;
    left: -0.8vw;
    width: 3.4666666667vw;
    height: 3.4666666667vw;
  }
}

.p-company .list > div::after {
  top: auto;
  left: auto;
  right: -6px;
  bottom: -6px;
  background-image: url("../img/index/bg_company_02.png");
}

@media screen and (max-width: 767px) {
  .p-company .list > div::after {
    right: -0.8vw;
    bottom: -0.8vw;
  }
}

.p-company .list > div dt {
  font-size: 2.1rem;
  color: #FFFFFF;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 2.2777777778;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-company .list > div dt {
    font-size: 2.9333333333vw;
    line-height: 1.1363636364;
  }
}

.p-company .list > div dt span {
  min-width: 216px;
  display: inline-block;
  border-bottom: 2px solid #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-company .list > div dt span {
    min-width: 16.9333333333vw;
    border-bottom-width: 1px;
    padding-bottom: 0.5em;
  }
}

.p-company .list > div dd {
  font-size: 6rem;
  line-height: 1;
  letter-spacing: 0;
  font-family: "Roboto", "Zen Kaku Gothic New", sans-serif;
  color: #FFFFFF;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-company .list > div dd {
    font-size: 5.8666666667vw;
    margin-top: 1.3333333333vw;
  }
}

.p-company .list > div dd .-jp {
  font-size: 3.8rem;
  font-weight: 900;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (max-width: 767px) {
  .p-company .list > div dd .-jp {
    font-size: 3.7333333333vw;
  }
}

.p-company .list_box02_small, .p-company .list_box03_small {
  font-size: 4.2rem;
}

@media screen and (max-width: 767px) {
  .p-company .list_box02_small, .p-company .list_box03_small {
    font-size: 6.4vw;
  }
}

.p-company .list_box02_tani, .p-company .list_box03_tani {
  font-size: 4.2rem;
}

@media screen and (max-width: 767px) {
  .p-company .list_box02_tani, .p-company .list_box03_tani {
    font-size: 4.1333333333vw;
  }
}

.p-company .list_box02_notes, .p-company .list_box03_notes {
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .p-company .list_box02_notes, .p-company .list_box03_notes {
    font-size: 1.8666666667vw;
  }
}

@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

.p-company .img {
  position: relative;
  margin-top: 30px;
  padding-bottom: 25px;
}

@media screen and (max-width: 767px) {
  .p-company .img {
    margin-top: 5.3333333333vw;
    padding-bottom: 4vw;
  }
}

.p-company .img::before {
  content: "";
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: calc(100% + 100px);
  background: #FFFFFF;
  -webkit-box-shadow: 0 0 10px rgba(73, 73, 73, 0.2);
  box-shadow: 0 0 10px rgba(73, 73, 73, 0.2);
}

@media screen and (max-width: 767px) {
  .p-company .img::before {
    top: -16vw;
    height: calc(100% + 16vw);
  }
}

.p-company .img_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-company .img img {
    min-width: 300vw;
  }
}

.p-company .img img:first-child {
  -webkit-animation: loop 60s -30s linear infinite;
  animation: loop 60s -30s linear infinite;
}

.p-company .img img:last-child {
  -webkit-animation: loop2 60s linear infinite;
  animation: loop2 60s linear infinite;
}

.p-company .notes {
  text-align: center;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-company .notes {
    margin-top: 2.6666666667vw;
  }
}


/* .p-news
--------------------------------*/
.p-news {
  padding: 50px 0 25px;
}

@media screen and (max-width: 767px) {
  .p-news {
    padding: 5.3333333333vw 0 3vw;
  }
}
.p-news .newslist{
  font-size: 2.6rem;
  line-height: 1.3333333333;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {
  .p-news .newslist {
    font-size: 3.7333333333vw;
  }
}
.p-news .newslist a{
	display: inline-block;
	position: relative;
	color: #555;
 	text-decoration: none;
}
.p-news .newslist a:before{
	content: "";
	position: absolute;
	 left: 0;
	bottom: -4px;
	width: 100%;
	height: 3px;
	background: #b62627;
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
}
.p-news .newslist a:hover:before {
	transform: scale(1);
}



/* p-trouble
--------------------------------*/
.p-trouble {
  padding: 100px 0 85px;
}

@media screen and (max-width: 767px) {
  .p-trouble {
    padding: 10.6666666667vw 0;
  }
}

.p-trouble .title {
  font-size: 2.8rem;
  line-height: 1.3333333333;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {
  .p-trouble .title {
    font-size: 3.7333333333vw;
  }
}

.p-trouble .title_small {
  font-size: 0.9em;
}

.p-trouble .title_line {
  font-size: 3.6rem;
  display: inline-block;
  position: relative;
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .p-trouble .title_line {
    font-size: 5.6vw;
    padding: 0 4vw;
  }
}

.p-trouble .title_line::before, .p-trouble .title_line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: #1a1a1a;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}

.p-trouble .title_line::after {
  left: auto;
  right: 0;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

.p-trouble .list-box {
  position: relative;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-trouble .list-box {
    padding-bottom: 46.6666666667vw;
  }
}

.p-trouble .list-box .img {
  position: absolute;
  bottom: -20px;
  left: 35px;
}

@media screen and (max-width: 767px) {
  .p-trouble .list-box .img {
    width: 24.6666666667vw;
    left: 19.3333333333vw;
    bottom: -0.6666666667vw;
  }
}

.p-trouble .list-box .img02 {
  position: absolute;
  bottom: -10px;
  right: -65px;
}

@media screen and (max-width: 767px) {
  .p-trouble .list-box .img02 {
    width: 40vw;
    right: 4.2666666667vw;
    bottom: 0;
  }
}

.p-trouble .list {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  max-width: 774px;
  width: 100%;
  margin: 80px auto 0;
  padding: 10px 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-trouble .list {
    margin-top: 8vw;
    border-width: 0.8vw;
    padding: 5.3333333333vw;
    max-width: inherit;
  }
}

.p-trouble .list::before {
  content: "";
  position: absolute;
  bottom: -70px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border: 35px solid transparent;
  border-top: 35px solid #e2e0e0;
}

@media screen and (max-width: 767px) {
  .p-trouble .list::before {
    bottom: -6.6666666667vw;
    border-width: 2.6666666667vw;
    border-top-width: 4vw;
  }
}

.p-trouble .list li {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.07em;
  font-weight: 700;
  width: 49%;
  margin-right: 2%;
  border-bottom: 1px solid #999999;
  padding: 24px 0 24px 49px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-trouble .list li {
    font-size: 4vw;
    display: block;
    width: 100%;
    margin-right: 0;
    padding: 2.6666666667vw 0 2.6666666667vw 8vw;
    border-bottom-width: 1px;
  }
}

@media screen and (min-width: 768px) {
  .p-trouble .list li:nth-last-child(-n+2) {
    border-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-trouble .list li:nth-last-child(-n+1) {
    border-bottom: 1px;
  }
}

.p-trouble .list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: url("../img/common/icon_check.svg") no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-trouble .list li::before {
    top: 3.6vw;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    width: 4vw;
    height: 4vw;
  }
}

.p-trouble .list li:nth-child(2n) {
  margin-right: 0;
}

.p-trouble .text {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  margin-top: 43px;
}

@media screen and (max-width: 767px) {
  .p-trouble .text {
    font-size: 4.2666666667vw;
    margin-top: 6.6666666667vw;
  }
}

.p-trouble .text02-box {
  position: relative;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02-box {
    padding-bottom: 40vw;
  }
}

.p-trouble .text02-box .img {
  position: absolute;
  bottom: -40px;
  left: 40px;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02-box .img {
    width: 33.3333333333vw;
    bottom: 0vw;
    left: 14.6666666667vw;
  }
}

.p-trouble .text02-box .img02 {
  position: absolute;
  bottom: -30px;
  right: 80px;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02-box .img02 {
    width: 30vw;
    bottom: 0vw;
    right: 14.6666666667vw;
  }
}

.p-trouble .text02 {
  font-size: 2.8rem;
  line-height: 1.875;
  font-weight: 700;
  text-align: center;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02 {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }
}

.p-trouble .text02_small {
  font-size: 2.4rem;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02_small {
    font-size: 3.2vw;
  }
}

.p-trouble .text02_small02 {
  font-size: 2.2rem;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02_small02 {
    font-size: 2.9333333333vw;
  }
}

.p-trouble .text02_ul {
  font-size: 3.2rem;
  line-height: 1;
  border-bottom: 3px solid #b62627;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02_ul {
    font-size: 4.2666666667vw;
    border-bottom-width: 1px;
  }
}

.p-trouble .text02_big {
  font-size: 3.2rem;
}

@media screen and (max-width: 767px) {
  .p-trouble .text02_big {
    font-size: 4.2666666667vw;
  }
}

/* p-movie
--------------------------------*/
.p-movie {
  padding: 85px 0 100px;
  background: #f2f2f2;
}

@media screen and (max-width: 767px) {
  .p-movie {
    padding: 10.6666666667vw 0;
  }
}

.p-movie .title {
  font-size: 4.2rem;
  color: #b62627;
  font-weight: 900;
  line-height: 1.2857142857;
  letter-spacing: 0.1em;
  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;
}

@media screen and (max-width: 767px) {
  .p-movie .title {
    font-size: 5.0666666667vw;
    text-align: center;
    display: block;
  }
}

.p-movie .title img {
  display: block;
  width: 194px;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .p-movie .title img {
    width: 22.6666666667vw;
    margin: 0 auto;
  }
}

.p-movie .movie {
  aspect-ratio: 16/9;
  width: 697px;
  margin: 20px auto 0;
}

@media screen and (max-width: 767px) {
  .p-movie .movie {
    width: 100%;
  }
}

.p-movie .movie iframe {
  width: 100%;
  height: 100%;
}

.p-movie .text {
  font-size: 3.2rem;
  line-height: 1.40625;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: center;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-movie .text {
    font-size: 4.2666666667vw;
    margin-top: 8vw;
  }
}

.p-movie .text02 {
  font-size: 2.4rem;
  line-height: 1.4583333333;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: center;
  margin-top: 17px;
}

@media screen and (max-width: 767px) {
  .p-movie .text02 {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
}

.p-movie .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .p-movie .list {
    margin-top: 4vw;
  }
}

.p-movie .list li {
  font-size: 2rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3636363636;
  letter-spacing: 0.07em;
  background: #b62627;
  border: 6px solid #d85960;
  text-align: center;
  padding: 1em 0;
}

@media screen and (max-width: 767px) {
  .p-movie .list li {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

@media screen and (min-width: 768px) {
  .p-movie .list li {
    width: 32%;
    margin-right: 2%;
  }

  .p-movie .list li:nth-child(3n) {
    margin-right: 0;
  }

  .p-movie .list li:nth-child(n+4) {
    margin-top: 2%;
  }
}

@media screen and (max-width: 767px) {
  .p-movie .list li {
    width: 49.5%;
    margin-right: 1%;
  }

  .p-movie .list li:nth-child(2n) {
    margin-right: 0;
  }

  .p-movie .list li:nth-child(n+3) {
    margin-top: 1%;
  }
}

/* p-merit
--------------------------------*/
.p-merit {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .p-merit {
    padding: 10.6666666667vw 0;
  }
}

.p-merit .lead {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-merit .lead {
    margin-top: 2.6666666667vw;
  }
}

.p-merit .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 52px;
}

@media screen and (max-width: 767px) {
  .p-merit .list {
    display: block;
    margin-top: 4vw;
  }
}

.p-merit .list > div {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  width: 350px;
  padding: 18px 0 33px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-merit .list > div {
    width: 100%;
    border-width: 0.8vw;
    padding: 2.6666666667vw;
    margin: 0;
  }

  .p-merit .list > div + div {
    margin-top: 2.6666666667vw;
  }
}

.p-merit .list > div::before {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  width: 45px;
  height: 45px;
  background: url("../img/index/bg_gray_box_01.png") no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-merit .list > div::before {
    top: -0.8vw;
    left: -0.8vw;
    width: 6vw;
    height: 6vw;
  }
}

.p-merit .list > div dt {
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: #b62627;
  line-height: 1.1111111111;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-merit .list > div dt {
    font-size: 5.0666666667vw;
  }
}

.p-merit .list > div dt span {
  min-width: 283px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px 0 17px;
  border-bottom: 6px solid #e2e0e0;
}

@media screen and (max-width: 767px) {
  .p-merit .list > div dt span {
    min-width: 90%;
    border-bottom-width: 2px;
    padding: 2vw 0;
  }
}

.p-merit .list > div dt img {
  max-width: 57px;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .p-merit .list > div dt img {
    max-width: 8vw;
    margin-right: 1.3333333333vw;
  }
}

.p-merit .list_text {
  font-size: 1.7rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5294117647;
  letter-spacing: 0.07em;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-merit .list_text {
    font-size: 3.2vw;
    margin-top: 3.3333333333vw;
  }
}

.p-merit .list_img {
  text-align: center;
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .p-merit .list_img {
    width: 34.6666666667vw;
    margin: 2vw auto 0;
  }
}

.p-merit .list_text02 {
  font-size: 2.3rem;
  color: #b62627;
  font-weight: 700;
  line-height: 1.3043478261;
  text-align: center;
  margin-top: 25px;
  text-shadow: 2px 2px 0 #FFFFFF, -2px -2px 0 #FFFFFF, -2px 2px 0 #FFFFFF, 2px -2px 0 #FFFFFF, 0px 2px 0 #FFFFFF, -2px 0 #FFFFFF, -2px 0 0 #FFFFFF, 2px 0 0 #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-merit .list_text02 {
    font-size: 4.2666666667vw;
    margin-top: 2.6666666667vw;
  }
}

/* p-welfare
--------------------------------*/
.p-welfare {
  padding: 70px 0;
  background: url("../img/index/bg_welfare_01.png") no-repeat right center;
  background-size: auto 100%;
  background-color: #faf5e8;
}

@media screen and (max-width: 767px) {
  .p-welfare {
    padding: 10.6666666667vw 0 73.3333333333vw;
    background-image: url("../img/index/bg_welfare_01_sp.png");
    background-position: right bottom;
    background-size: 100% auto;
  }
}

.p-welfare .text-box {
  max-width: 613px;
}

@media screen and (max-width: 767px) {
  .p-welfare .text-box {
    max-width: inherit;
  }
}

.p-welfare .text,
.p-price .text {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.9230769231;
  letter-spacing: 0.07em;
}
.p-price .text {
  text-align: center;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-welfare .text,
  .p-price .text {
    font-size: 3.4666666667vw;
    text-align: center;
  }
  .p-price .text {
    margin-top: 25px;
  }
}

.price_p {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .price_p {
    text-align: left;
  }
}
.add-table {
  font-size: 2rem;
  display: grid;
  line-height: 1.4;
  grid-template-columns: 220px 1fr 1fr 1fr 1fr 1fr;
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .add-table {
    font-size: 10px;
    grid-template-columns: 100px 106px 87px 87px 87px 87px;
    overflow: auto;
    margin-top: 25px;
  }
}
.add-table-cell {
  border: 1px solid #ffffff;
}
.first-title-cell {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .first-title-cell {
    font-size: 12px;
  }
}
.first-upper-cell {
  padding: 0px 10px;
  height: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .first-upper-cell {
    padding: 0px;
  }
}

.upper-cell {
  background-color: #636363;
  text-align: center;
  color: #ffffff;
  border-bottom: 2px solid #ffffff;
  padding: 5px;
  font-weight: bold;
  font-size: 16px;
}

.lower-cell {
  background-color: #ebebeb;
  text-align: center;
  padding: 5px;
  font-weight: bold;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .upper-cell,
  .lower-cell {
    font-size: 12px;
  }
}
.p-welfare .img {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-welfare .img {
    margin: 2.6666666667vw auto 0;
    width: 73.3333333333vw;
  }
}

.p-welfare .text02 {
  margin-top: 38px;
  padding-right: 20px;
}

@media screen and (max-width: 767px) {
  .p-welfare .text02 {
    margin-top: 2.6666666667vw;
    padding-right: 0;
    letter-spacing: 0.03em;
  }
}

/* p-opt
--------------------------------*/
.p-opt {
  padding: 45px 0;
  background: #c6585d;
}

@media screen and (max-width: 767px) {
  .p-opt {
    padding: 5.3333333333vw 0;
  }
}

.p-opt .inner {
  background: #FFFFFF;
  padding: 25px 0 30px;
  -webkit-box-shadow: 0 0 10px rgba(26, 26, 26, 0.16);
  box-shadow: 0 0 10px rgba(26, 26, 26, 0.16);
}

@media screen and (max-width: 767px) {
  .p-opt .inner {
    padding: 5.3333333333vw 0;
  }
}

.p-opt .title {
  font-size: 3.2rem;
  text-align: center;
  font-weight: 700;
  color: #b62627;
}

@media screen and (max-width: 767px) {
  .p-opt .title {
    font-size: 4.8vw;
  }
}

.p-opt .title span {
  display: inline-block;
  position: relative;
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .p-opt .title span {
    padding: 0 3.3333333333vw;
  }
}

.p-opt .title span::before, .p-opt .title span::after {
  content: "";
  position: absolute;
  bottom: -20%;
  left: 0;
  width: 2px;
  height: 120%;
  background: #b62627;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}

.p-opt .title span::after {
  left: auto;
  right: 0;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

.p-opt .flex {
  margin-top: 32px;
  padding: 0 45px 0 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-opt .flex {
    padding: 0 4vw;
    display: block;
    margin-top: 6.6666666667vw;
  }
}

.p-opt .box {
  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;
  background: #f7f7f7;
  padding: 10px 20px 10px 20px;
}

@media screen and (max-width: 767px) {
  .p-opt .box {
    padding: 2.6666666667vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .p-opt .img {
    width: 16vw;
  }
}

.p-opt .list {
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .p-opt .list {
    margin-left: 1.3333333333vw;
  }
}

.p-opt .list li {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.09em;
  position: relative;
  padding-left: 25px;
}

@media screen and (max-width: 767px) {
  .p-opt .list li {
    font-size: 2.9333333333vw;
    padding-left: 4vw;
  }
}

.p-opt .list li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url("../img/common/icon_check.svg") no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-opt .list li::before {
    top: 1.0666666667vw;
    width: 3.3333333333vw;
    height: 3.3333333333vw;
  }
}

@media screen and (max-width: 767px) {
  .p-opt .button {
    margin-top: 5.3333333333vw;
  }
}

.p-opt .button_link {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  width: 404px;
  height: 116px;
  color: #FFFFFF;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #d31618), color-stop(50.1%, #b21e22));
  background: linear-gradient(180deg, #d31618 50%, #b21e22 50.1%);
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-radius: 100px;
  border: 4px solid #FFFFFF;
  -webkit-box-shadow: 0 0 10px rgba(26, 26, 26, 0.16);
  box-shadow: 0 0 10px rgba(26, 26, 26, 0.16);
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-opt .button_link {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }

  .p-opt .button_link:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .p-opt .button_link {
    font-size: 4.2666666667vw;
    width: auto;
    border: 0.5333333333vw;
    height: 21.3333333333vw;
  }
}

.p-opt .button_link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 8px solid transparent;
  border-left: 12px solid #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-opt .button_link::before {
    right: 2.6666666667vw;
    border-width: 1.3333333333vw;
    border-left-width: 2.6666666667vw;
  }
}

.p-opt .button_white {
  font-size: 2.1rem;
  font-weight: 900;
  color: #b62627;
  letter-spacing: 0.07em;
  display: inline-block;
  background: #FFFFFF;
  padding: 0.1em 2em;
  border-radius: 30px;
  margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
  .p-opt .button_white {
    font-size: 3.2vw;
    border-radius: 4vw;
    margin-bottom: 0.6666666667vw;
  }
}

.p-opt .button_number {
  font-size: 1.1em;
  line-height: 1;
}

.p-opt .button_small {
  font-size: 0.9em;
}

.p-opt .button_icon {
  display: inline-block;
  position: relative;
  padding-left: 1.4em;
}

.p-opt .button_icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1em;
  height: 1.1em;
  background: url("../img/common/icon_doc_white.svg") no-repeat center center/contain;
}

/* p-about
--------------------------------*/
.p-about {
  padding: 100px 0;
  background: url("../img/common/bg_dot_01.png") repeat left top;
}

@media screen and (max-width: 767px) {
  .p-about {
    padding: 10.6666666667vw 0;
  }
}

.p-about .box {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  padding: 20px 40px 40px;
  margin-top: 59px;
}

@media screen and (max-width: 767px) {
  .p-about .box {
    border-width: 0.8vw;
    padding: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}

.p-about .box .title {
  font-size: 4.2rem;
  color: #b62627;
  font-weight: 900;
  line-height: 1.2857142857;
  letter-spacing: 0.1em;
  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;
}

@media screen and (max-width: 767px) {
  .p-about .box .title {
    font-size: 5.0666666667vw;
    text-align: center;
    display: block;
  }
}

.p-about .box .title img {
  display: block;
  width: 194px;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .p-about .box .title img {
    width: 22.6666666667vw;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .p-about .box .text {
    margin-top: 4vw;
  }
}

.p-about .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-about .list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 4vw;
  }
}

.p-about .list li {
  width: 240px;
  padding: 20px;
  background: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-about .list li {
    width: 49%;
    margin-right: 2%;
  }

  .p-about .list li:nth-child(2n) {
    margin-right: 0;
  }

  .p-about .list li:nth-child(n+3) {
    margin-top: 2%;
  }
}

.p-about .list_text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.07em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-about .list_text {
    font-size: 3.2vw;
  }
}

.p-about .list_text_strong {
  font-size: 1.15em;
}

.p-about .list_text_notes {
  font-size: 1.1rem;
  vertical-align: super;
}

@media screen and (max-width: 767px) {
  .p-about .list_text_notes {
    font-size: 0.6em;
  }
}

.p-about .list_img {
  text-align: center;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .p-about .list_img {
    margin-top: 2vw;
  }
}

.p-about .list_notes {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-about .list_notes {
    font-size: 2.6666666667vw;
  }
}

/* p-service
--------------------------------*/
.p-service {
  padding-top: 100px;
  background: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .p-service {
    padding-top: 10.6666666667vw;
  }
}

.p-service .box {
  padding: 60px 0 90px;
}

@media screen and (max-width: 767px) {
  .p-service .box {
    padding: 10.6666666667vw 0;
  }
}

.p-service .box .title {
  font-size: 4.4rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (max-width: 767px) {
  .p-service .box .title {
    font-size: 4.8vw;
  }
}

.p-service .box .title_number {
  font-size: 4.3rem;
  letter-spacing: 0.1em;
  font-weight: 900;
  color: #FFFFFF;
  background: #b62627;
  padding: 0 0 0.1em 0.1em;
  width: 66px;
  height: 66px;
  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-right: 15px;
}

@media screen and (max-width: 767px) {
  .p-service .box .title_number {
    font-size: 5.0666666667vw;
    width: 10vw;
    height: 10vw;
    margin-right: 2vw;
  }
}

.p-service .box .title_notes {
  font-size: 2rem;
  line-height: 1;
  margin-left: 1em;
}

@media screen and (max-width: 767px) {
  .p-service .box .title_notes {
    font-size: 3.2vw;
  }
}

.p-service .box .c-lead-text {
  letter-spacing: 0.05em;
}

.p-service .box01 {
  background: #f6f6f6;
}

.p-service .box01 .text {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .text {
    margin-top: 2vw;
  }
}

.p-service .box01 .text02 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.1428571429;
  text-align: center;
  letter-spacing: 0.07em;
  margin-top: 36px;
  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: 767px) {
  .p-service .box01 .text02 {
    font-size: 3.7333333333vw;
    line-height: 1.25;
    margin-top: 6.6666666667vw;
  }
}

.p-service .box01 .text02_line {
  position: relative;
  padding: 0 30px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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: 767px) {
  .p-service .box01 .text02_line {
    padding: 0 4.6666666667vw;
  }
}

.p-service .box01 .text02_line::before, .p-service .box01 .text02_line::after {
  content: "";
  position: absolute;
  bottom: 10%;
  left: 0;
  width: 3px;
  height: 80%;
  background: #1a1a1a;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}

@media screen and (max-width: 767px) {
  .p-service .box01 .text02_line::before, .p-service .box01 .text02_line::after {
    width: 2px;
  }
}

.p-service .box01 .text02_line::after {
  left: auto;
  right: 0;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

.p-service .box01 .text02_main {
  padding-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-service .box01 .text02_main {
    font-size: 80%;
    text-align: left;
  }
}

.p-service .box01 .text02_circle {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffeb97;
  background: #b62627;
  line-height: 1.1666666667;
  width: 78px;
  height: 78px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  margin-right: 10px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .text02_circle {
    font-size: 2.1333333333vw;
    width: 12vw;
    height: 12vw;
    margin-right: 0.6666666667vw;
  }
}

.p-service .box01 .text02_strong {
  font-size: 1.35em;
}

.p-service .box01 .img {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .img {
    margin-top: 4vw;
  }
}

.p-service .box01 .img_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

.p-service .box01 .img img {
  max-width: inherit;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .img img {
    min-width: 250vw;
  }
}

.p-service .box01 .img img:first-child {
  -webkit-animation: loop 60s -30s linear infinite;
  animation: loop 60s -30s linear infinite;
}

.p-service .box01 .img img:last-child {
  -webkit-animation: loop2 60s linear infinite;
  animation: loop2 60s linear infinite;
}

.p-service .box01 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list {
    margin-top: 2.6666666667vw;
  }
}

.p-service .box01 .list li {
  font-size: 2.2rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3636363636;
  letter-spacing: 0.07em;
  background: #b62627;
  border: 6px solid #d85960;
  text-align: center;
  padding: 0.5em 0;
  width: 49.5%;
  margin-right: 1%;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list li {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

.p-service .box01 .list li:nth-child(2n) {
  margin-right: 0;
}

.p-service .box01 .list li:nth-child(n+3) {
  margin-top: 1%;
}

.p-service .box01 .list02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 66px;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list02 {
    display: block;
    margin-top: 6.6666666667vw;
  }
}

.p-service .box01 .list02 li {
  width: 340px;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list02 li {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .p-service .box01 .list02 li + li {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list02_img {
    width: 40%;
    margin-right: 3%;
  }
}

.p-service .box01 .list02_title {
  font-size: 2rem;
  font-weight: 700;
  padding-left: 10px;
  letter-spacing: 0.07em;
  border-left: 3px solid #b62627;
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list02_title {
    font-size: 3.7333333333vw;
    line-height: 1.5;
    margin-top: 0;
  }
}

.p-service .box01 .list02_text {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list02_text {
    margin-top: spvw(10);
  }
}

@media screen and (max-width: 767px) {
  .p-service .box01 .list02_text-box {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

.p-service .box02 {
  padding: 100px 0;
  background: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-service .box02 {
    padding: 10.6666666667vw 0;
  }
}

.p-service .box02 .text {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-service .box02 .text {
    margin-top: 2.6666666667vw;
  }
}

.p-service .box02 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-service .box02 .list {
    margin-top: 2.6666666667vw;
  }
}

.p-service .box02 .list li {
  width: 48.2%;
}

@media screen and (max-width: 767px) {
  .p-service .box02 .list li {
    width: 49.5%;
  }
}

.p-service .box02 .list_text {
  font-size: 2.2rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3636363636;
  letter-spacing: 0.07em;
  background: #b62627;
  border: 6px solid #d85960;
  text-align: center;
  padding: 0.5em 0;
}

@media screen and (max-width: 767px) {
  .p-service .box02 .list_text {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

.p-service .box02 .text02 {
  font-size: 3.2rem;
  line-height: 1.1428571429;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.07em;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-service .box02 .text02 {
    font-size: 3.7333333333vw;
    line-height: 1.25;
    margin-top: 6.6666666667vw;
  }
}

.p-service .box02 .text02_line {
  position: relative;
  padding: 0 70px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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: 767px) {
  .p-service .box02 .text02_line {
    padding: 0 4.6666666667vw;
    width: 86%;
    margin: auto;
  }
}


.p-service .box02 .text02_line img{
  width: 10%;
}

.p-service .box02 .text02_line::before, .p-service .box02 .text02_line::after {
  content: "";
  position: absolute;
  bottom: 10%;
  left: 10px;
  width: 3px;
  height: 60%;
  background: #1a1a1a;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}
.p-service .box02 .text02_line::after {
  left: auto;
  right: 10px;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

@media screen and (max-width: 767px) {
  .p-service .box02 .text02_line::before{
    width: 2px;
    left: 0;
    right: auto;
  } .p-service .box02 .text02_line::after {
    width: 2px;
    left: auto;
    right: 0;
  }
}
.p-service .box02 .text02_main {
  padding-left: 16px;
}
@media screen and (max-width: 767px) {
  .p-service .box02 .text02_main {
    font-size: 62%;
    text-align: left;
  }
}

.p-service .box02 .text02_circle {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffeb97;
  background: #b62627;
  line-height: 1.1666666667;
  width: 78px;
  height: 78px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .p-service .box02 .text02_circle {
    font-size: 2.1333333333vw;
    width: 12vw;
    height: 12vw;
    margin-right: 0.6666666667vw;
  }
}

.p-service .box02 .text02_strong {
  font-size: 1.2em;
}

.p-service .box03 {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .p-service .box03 {
    padding: 10.6666666667vw 0;
  }
}

.p-service .box03 .text {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-service .box03 .text {
    margin-top: 2.6666666667vw;
  }
}

.p-service .box03 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-service .box03 .flex {
    display: block;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service .box03 .img {
    width: 66.6666666667vw;
    margin: 0 auto;
  }
}

.p-service .box03 .text02 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.9230769231;
  max-width: 660px;
}

@media screen and (max-width: 767px) {
  .p-service .box03 .text02 {
    font-size: 3.7333333333vw;
    margin-top: 1.3333333333vw;
  }
}

.p-service .box03 .text02_strong {
  font-size: 1.15em;
}

.p-service .box03 .text02_notes {
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-service .box03 .text02_notes {
    font-size: 3.2vw;
  }
}

.p-service .box03 .list {
  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;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-service .box03 .list {
    margin-top: 4vw;
  }
}

.p-service .box03 .list li {
  width: 49.5%;
  font-size: 2.2rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3636363636;
  letter-spacing: 0.07em;
  background: #b62627;
  border: 6px solid #d85960;
  text-align: center;
  padding: 0.5em 0;
}

@media screen and (max-width: 767px) {
  .p-service .box03 .list li {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

.p-service .box03 .list li:nth-child(n+3) {
  margin-top: 1%;
}

.p-service .box03 .list li:last-child:nth-child(odd) {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-service .box03 .list li.sp2 {
    padding-top: 1.2em;
  }
}


.p-service .box03 .box03__addition {
  margin-top:32px;
}
.p-service .box03 .box03__addition .box03__addition__whnf{
  margin:32px 0;
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  padding: 8px;
}
.p-service .box03 .box03__addition .box03__addition__whnf .box03__addition__ul {
  display: grid;
  grid-template-columns: calc(33% - 8px) calc(33% - 8px) calc(33% - 8px);
  grid-row-gap: 16px;
  grid-column-gap: 16px;
/*  padding-left: 16px;*/
  width: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .p-service .box03 .box03__addition .box03__addition__whnf .box03__addition__ul {
    display: block;
  }
}

.p-service .box03 .box03__addition .box03__addition__whnf .box03__addition__ul .box03__addition__img {
/*  margin-top:32px;;*/
  text-align:center;
  width:100%;
}
.p-service .box03 .box03__addition .box03__addition__whnf .box03__addition__ul .box03__addition__img img {
  width:100%;
}


.p-service .box04 {
  padding: 100px 0;
  background: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-service .box04 {
    padding: 10.6666666667vw 0;
  }
}

.p-service .box04 .text {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .text {
    margin-top: 2.6666666667vw;
  }
}

.p-service .box04 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 45px;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .flex {
    display: block;
    margin-top: 5.3333333333vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service .box04 .img {
    width: 66.6666666667vw;
    margin: 0 auto;
  }
}

.p-service .box04 .list {
  margin-left: 40px;
  max-width: 545px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .list {
    margin-left: 0;
    max-width: inherit;
    margin-top: 2.6666666667vw;
  }
}

.p-service .box04 .list li {
  font-size: 2.2rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3636363636;
  letter-spacing: 0.07em;
  background: #b62627;
  border: 6px solid #d85960;
  text-align: center;
  padding: 0.5em 0;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .list li {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

.p-service .box04 .list li + li {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .list li + li {
    margin-top: 1%;
  }
}

.p-service .box04 .list02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .list02 {
    margin-top: 6.6666666667vw;
    display: block;
  }
}

.p-service .box04 .list02 li {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  width: 49%;
  padding: 32px 35px 24px;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .list02 li {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service .box04 .list02 li {
    width: auto;
    padding: 2.6666666667vw;
  }

  .p-service .box04 .list02 li + li {
    margin-top: 1.3333333333vw;
  }
}

.p-service .box04 .list02_title {
  text-align: center;
}

.p-service .box04 .list02_text {
  margin-top: 17px;
}

@media screen and (max-width: 767px) {
  .p-service .box04 .list02_text {
    margin-top: 2.6666666667vw;
  }
}

.p-service .box05 {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .p-service .box05 {
    padding: 10.6666666667vw 0;
  }
}

.p-service .box05 .text {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .text {
    margin-top: 2.6666666667vw;
  }
}

.p-service .box05 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .flex {
    display: block;
    margin-top: 5.3333333333vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service .box05 .img {
    width: 66.6666666667vw;
    margin: 0 auto;
  }
}

.p-service .box05 .list {
  margin-left: 40px;
  max-width: 545px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .list {
    margin-left: 0;
    max-width: inherit;
    margin-top: 2.6666666667vw;
  }
}

.p-service .box05 .list li {
  font-size: 2.2rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3636363636;
  letter-spacing: 0.07em;
  background: #b62627;
  border: 6px solid #d85960;
  text-align: center;
  padding: 0.5em 0;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .list li {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

.p-service .box05 .list li + li {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .list li + li {
    margin-top: 1%;
  }
}

.p-service .box05 .point {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  background: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 45px;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .point {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service .box05 .point {
    display: block;
    padding: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}

.p-service .box05 .point .img {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .point .img {
    width: 53.3333333333vw;
    margin-top: 0;
  }
}

.p-service .box05 .point .text-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 35px;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .point .text-box {
    margin-left: auto;
    margin-top: 2.6666666667vw;
  }
}

.p-service .box05 .point_text {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-service .box05 .point_text {
    margin-top: 1.3333333333vw;
  }
}

.p-service .box06 {
  padding: 100px 0;
  background: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-service .box06 {
    padding: 10.6666666667vw 0;
  }
}

.p-service .box06 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-service .box06 .flex {
    display: block;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service .box06 .img {
    width: 66.6666666667vw;
    margin: 0 auto;
  }
}

.p-service .box06 .text-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 40px;
}

@media screen and (max-width: 767px) {
  .p-service .box06 .text-box {
    margin-left: auto;
    margin-top: 2.6666666667vw;
  }
}

.p-service .box06 .notes {
  font-size: 1.7rem;
  line-height: 1.7647058824;
  font-weight: 500;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-service .box06 .notes {
    font-size: 2.6666666667vw;
    margin-top: 1.3333333333vw;
  }
}

/* p-kyuutoku
--------------------------------*/
.p-kyuutoku {
  padding: 100px 0;
  background: #faf5e8;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku {
    padding: 10.6666666667vw 0;
  }
}

.p-kyuutoku .title {
  font-size: 2.8rem;
  line-height: 1.3333333333;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .title {
    font-size: 3.7333333333vw;
  }
}

.p-kyuutoku .title_line {
  font-size: 4.6rem;
  display: inline-block;
  position: relative;
  padding: 0 35px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .title_line {
    font-size: 4.8vw;
    padding: 0 4vw;
  }
}

.p-kyuutoku .title_line::before, .p-kyuutoku .title_line::after {
  content: "";
  position: absolute;
  bottom: -10%;
  left: 0;
  width: 4px;
  height: 113%;
  background: #1a1a1a;
  -webkit-transform: rotate(-33deg);
  transform: rotate(-33deg);
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .title_line::before, .p-kyuutoku .title_line::after {
    width: 2px;
  }
}

.p-kyuutoku .title_line::after {
  left: auto;
  right: 0;
  -webkit-transform: rotate(33deg);
  transform: rotate(33deg);
}

.p-kyuutoku .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 65px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box {
    display: block;
    margin-top: 6.6666666667vw;
  }
}

.p-kyuutoku .box_title {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .p-kyuutoku .box_title {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box_title {
    margin-top: 1.3333333333vw;
  }
}

.p-kyuutoku .box_text-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 35px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box_text-box {
    margin-right: 0;
  }
}

.p-kyuutoku .box_text {
  margin-top: 10px;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box_text {
    margin-top: 1.3333333333vw;
  }
}

.p-kyuutoku .box_img {
  padding: 20px 10px;
  background: #FFFFFF;
  text-align: center;
  width: 356px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box_img {
    padding: 2.6666666667vw;
    margin-top: 2.6666666667vw;
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box_img img {
    width: 40vw;
  }
}

.p-kyuutoku .box_img_text {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 700;
  text-align: center;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box_img_text {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
}

.p-kyuutoku .box_img_text_small {
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box_img_text_small {
    font-size: 2.6666666667vw;
  }
}

.p-kyuutoku .box02 {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02 {
    margin-top: 5.3333333333vw;
  }
}

.p-kyuutoku .box02_title {
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-kyuutoku .box02_title {
    font-size: 2.8rem;
  }
}

.p-kyuutoku .box02_list {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list {
    margin-top: 4vw;
    display: block;
  }
}

.p-kyuutoku .box02_list > div {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  width: 350px;
  padding: 15px 0 30px;
  position: relative;
  margin: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list > div {
    width: auto;
    margin: 0 0.6666666667vw;
    padding: 3.3333333333vw 0 2.6666666667vw;
    border-width: 0.8vw;
  }

  .p-kyuutoku .box02_list > div + div {
    margin-top: 1.3333333333vw;
  }
}

.p-kyuutoku .box02_list > div::before {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  width: 45px;
  height: 45px;
  background: url("../img/index/bg_gray_box_01.png") no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list > div::before {
    top: -0.8vw;
    left: -0.8vw;
    width: 6vw;
    height: 6vw;
  }
}

.p-kyuutoku .box02_list > div dt {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.1111111111;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list > div dt {
    font-size: 5.0666666667vw;
    line-height: 1.1363636364;
  }
}

.p-kyuutoku .box02_list > div dt span {
  min-width: 283px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px 0;
  border-bottom: 6px solid #e2e0e0;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list > div dt span {
    min-width: 90%;
    border-bottom-width: 1px;
    padding: 0 0 0.5em;
  }
}

.p-kyuutoku .box02_list > div dt img {
  max-width: 43px;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list > div dt img {
    max-width: 8vw;
    margin-right: 1.3333333333vw;
  }
}

.p-kyuutoku .box02_list_text {
  font-size: 1.7rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5294117647;
  letter-spacing: 0.07em;
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list_text {
    font-size: 3.2vw;
    margin-top: 3.3333333333vw;
  }
}

.p-kyuutoku .box02_list_img {
  text-align: center;
  margin-top: 20px;
}

.p-kyuutoku .box02_list_text02 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3043478261;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list_text02 {
    font-size: 3.7333333333vw;
    margin-top: 1.3333333333vw;
  }
}

.p-kyuutoku .box02_list .box02_list_box03 .box02_list_text02 {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .box02_list .box02_list_box03 .box02_list_text02 {
    font-size: 3.7333333333vw;
  }
}

.p-kyuutoku .text {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: center;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-kyuutoku .text {
    font-size: 3.7333333333vw;
    margin-top: 5.3333333333vw;
  }
}

/* p-price
--------------------------------*/
.p-price {
  padding: 100px 0;
  background: url("../img/common/bg_dot_01.png") repeat left top;
}

@media screen and (max-width: 767px) {
  .p-price {
    padding: 10.6666666667vw 0;
  }
}

.p-price .table-box {
  margin-top: 60px;
}

@media screen and (min-width: 768px) {
  .p-price .table-box {
    overflow: hidden !important;
  }

  .p-price .table-box .scroll-hint-icon-wrap {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .p-price .table-box {
    margin-top: 6.6666666667vw;
    overflow-x: scroll;
  }
}

.p-price .table-box table {
  width: 100%;
  border-collapse: collapse;
}

.p-price .table-box table th,
.p-price .table-box table td {
  text-align: center;
  border: 2px solid #f6f6f6;
  min-width: 122px;
  width: 20%;
}
.p-price .table-box table th,
.p-price .table-box table .p_ext{
  position: relative;
}
.p-price .table-box table th.black span.ext,
.p-price .table-box table th span.ext,
.p-price .table-box table td span.ext{
  position: absolute;
  top: 0;
  right: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
}
.p-price .table-box table th.black span.ext{
  top: 26px;
}

@media screen and (max-width: 767px) {
  .p-price .table-box table th,
  .p-price .table-box table td {
    white-space: nowrap;
    min-width: 26.6666666667vw;
  }
}

.p-price .table-box table th {
  vertical-align: bottom;
  border: 0;
}

.p-price .table-box table th .red {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFFFFF;
  text-align: center;
  background: #b62627;
  display: block;
  padding: 30px 5px;
  border-radius: 10px 10px 0 0;
  border-left: 1px solid #f6f6f6;
  border-right: 1px solid #f6f6f6;
}

@media screen and (max-width: 767px) {
  .p-price .table-box table th .red {
    font-size: 3.2vw;
    padding: 3.3333333333vw 1.3333333333vw;
  }
}

.p-price .table-box table th .red .strong {
  font-size: 1.2em;
}

.p-price .table-box table th:nth-child(2) .red {
  border-left: 0;
}

.p-price .table-box table th .black {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: center;
  color: #FFFFFF;
  background: #1a1a1a;
  display: block;
  padding: 15px 10px;
  border-radius: 10px 0 0 0;
}

@media screen and (max-width: 767px) {
  .p-price .table-box table th .black {
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw;
  }
}

.p-price .table-box table tr:first-child td {
  border-top: 0;
}

.p-price .table-box table td {
  height: 85px;
  padding: 10px;
  vertical-align: middle;
  background: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-price .table-box table td {
    height: 13.3333333333vw;
    padding: 1.3333333333vw;
    vertical-align: middle;
  }
}

.p-price .table-box table td:first-child {
  font-size: 13px;
  font-weight: 700;
  color: #FFFFFF;
  background: #666666;
}

@media screen and (max-width: 767px) {
  .p-price .table-box table td:first-child {
    font-size: 2.6666666667vw;
  }
}

.p-price .table-box table td .maru {
  font-size: 3.8rem;
  font-weight: 700;
  color: #b62627;
  line-height: 1;
  display: block;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-price .table-box table td .maru {
    font-size: 6.4vw;
  }
}

.p-price .table-box table td .no {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1;
  display: block;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-price .table-box table td .no {
    font-size: 4.6666666667vw;
  }
}

.p-price .notes {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .p-price .notes {
    margin-top: 2vw;
  }
}

.p-price .notes li {
  font-size: 1.4rem;
  line-height: 1.7142857143;
  font-weight: 500;
  letter-spacing: 0.07em;
  color: #4d4d4d;
  padding-left: 2.6em;
  text-indent: -2.6em;
/*  padding-left: 1.8em;
  text-indent: -1.8em;*/
}

@media screen and (max-width: 767px) {
  .p-price .notes li {
    font-size: 1.8666666667vw;
    padding-left: 1.5em;
    text-indent: -1.5em;
  }
}

.p-price .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-top: 63px;
}

@media screen and (max-width: 767px) {
  .p-price .list {
    display: block;
    margin-top: 6.6666666667vw;
  }
}

.p-price .list li {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  padding: 25px 45px;
}

@media screen and (max-width: 767px) {
  .p-price .list li {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

@media screen and (min-width: 768px) {
  .p-price .list li {
    width: 49%;
    margin-right: 2%;
  }

  .p-price .list li:nth-child(2n) {
    margin-right: 0;
  }

  .p-price .list li:nth-child(n+3) {
    margin-top: 2%;
  }
}

@media screen and (max-width: 767px) {
  .p-price .list li {
    width: auto;
    margin-right: 0;
    padding: 4vw;
  }

  .p-price .list li + li {
    margin-top: 1.3333333333vw;
  }
}

.p-price .list_title {
  font-size: 3rem;
  color: #b62627;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1;
  border-bottom: 6px solid #e2e0e0;
  padding-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .p-price .list_title {
    font-size: 4.2666666667vw;
    padding-bottom: 0.8em;
    border-bottom-width: 2px;
  }
}

.p-price .list_text {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-price .list_text {
    margin-top: 1.3333333333vw;
  }
}

.p-price .text02 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  margin-top: 35px;
}

@media screen and (max-width: 767px) {
  .p-price .text02 {
    font-size: 3.7333333333vw;
    margin-top: 5.3333333333vw;
  }
}

/* p-voice
--------------------------------*/
.p-voice {
  padding: 100px 0 80px;
  background: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .p-voice {
    padding: 10.6666666667vw 0;
  }
}

.p-voice .c-title-en {
  color: #1a1a1a;
}

.p-voice .c-title-en:first-letter {
  color: #1a1a1a;
}

.p-voice .slider {
  max-width: 828px;
  width: 100%;
  margin: 75px auto 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-voice .slider {
    max-width: 100%;
    margin-top: 6.6666666667vw;
  }
}

.p-voice .slider .slick-prev,
.p-voice .slider .slick-next {
  position: absolute;
  top: 200px;
  left: -45px;
  z-index: 1;
  width: 31px;
  height: 60px;
  background: url("../img/common/icon_arw_gray.svg") no-repeat center center/contain;
  color: transparent;
  overflow: hidden;
  text-indent: 100%;
}

@media screen and (max-width: 767px) {
  .p-voice .slider .slick-prev,
  .p-voice .slider .slick-next {
    top: 70.6666666667vw;
    left: 0;
    width: 4vw;
    height: 8vw;
  }
}

.p-voice .slider .slick-next {
  left: auto;
  right: -45px;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

@media screen and (max-width: 767px) {
  .p-voice .slider .slick-next {
    right: 0;
  }
}

.p-voice .slider .box {
  padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .p-voice .slider .box {
    padding-bottom: 1.3333333333vw;
  }
}

.p-voice .slider .box .movie {
  width: 100%;
  aspect-ratio: 16/9;
}

.p-voice .slider .box .movie iframe {
  width: 100%;
  height: 100%;
}

.p-voice .slider .box .company {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 2;
  text-align: center;
  margin-top: 9px;
}

@media screen and (max-width: 767px) {
  .p-voice .slider .box .company {
    font-size: 3.7333333333vw;
  }
}

.p-voice .slider .box .info {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-voice .slider .box .info {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 767px) {
  .p-voice .slider .box .info span {
    display: block;
  }
}

.p-voice .slider .box .info span + span {
  margin-left: 2em;
}

@media screen and (max-width: 767px) {
  .p-voice .slider .box .info span + span {
    margin-left: 0;
  }
}

.p-voice .slider .box .tag {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .p-voice .slider .box .tag {
    font-size: 3.2vw;
  }
}

.p-voice .slider .box .tag span {
  display: inline-block;
  line-height: 1;
  border: 1px solid #1a1a1a;
  border-radius: 15px;
  padding: 0.25em 1em;
  margin: 5px 5px 0;
}

@media screen and (max-width: 767px) {
  .p-voice .slider .box .tag span {
    margin: 0 0.6666666667vw;
    border-radius: 3.3333333333vw;
  }
}

/* p-faq
--------------------------------*/
.p-faq {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .p-faq {
    padding: 10.6666666667vw 0;
  }
}

.p-faq .faq-box {
  margin-top: 65px;
}

@media screen and (max-width: 767px) {
  .p-faq .faq-box {
    margin-top: 5.3333333333vw;
  }
}

.p-faq .faq-box > div {
  background: #f6f6f6;
  margin-top: 33px;
}

@media screen and (max-width: 767px) {
  .p-faq .faq-box > div {
    margin-top: 4vw;
  }
}

.p-faq .faq-box > div:first-child {
  margin-top: 0;
}

.p-faq .faq-box dt .icon,
.p-faq .faq-box dd .icon {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  width: 37px;
  height: 37px;
  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;
  background: #1a1a1a;
  font-family: #FFFFFF;
  padding-bottom: 4px;
  margin-right: 25px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

@media screen and (max-width: 767px) {
  .p-faq .faq-box dt .icon,
  .p-faq .faq-box dd .icon {
    font-size: 4.2666666667vw;
    margin-right: 2.6666666667vw;
    width: 8vw;
    height: 8vw;
  }
}

.p-faq .faq-box dt {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: relative;
  padding: 20px 30px;
}

@media screen and (max-width: 767px) {
  .p-faq .faq-box dt {
    font-size: 3.7333333333vw;
    line-height: 1.25;
    padding: 3.3333333333vw 9.3333333333vw 3.3333333333vw 3.3333333333vw;
  }
}

.p-faq .faq-box dt::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 30px;
  height: 3px;
  background: #1a1a1a;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .p-faq .faq-box dt::before {
    right: 2.6666666667vw;
    width: 4vw;
    height: 2px;
  }
}

.p-faq .faq-box dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 43px;
  width: 3px;
  height: 30px;
  background: #1a1a1a;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .p-faq .faq-box dt::after {
    right: 4.2666666667vw;
    height: 4vw;
    width: 2px;
  }
}

.p-faq .faq-box dt.is-active::after {
  opacity: 0;
}

.p-faq .faq-box dd {
  display: none;
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .p-faq .faq-box dd {
    padding: 0 3.3333333333vw;
  }
}

.p-faq .faq-box dd .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #1a1a1a;
  padding: 25px 0 20px;
}

.p-faq .faq-box dd .icon {
  background: #b62627;
  font-family: #FFFFFF;
}

/* p-download
--------------------------------*/
.p-download {
  padding: 110px 0;
  background: #faf5e8;
}

@media screen and (max-width: 767px) {
  .p-download {
    padding: 10.6666666667vw 0;
  }
}

.p-download .flex {
  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;
  margin-top: 47px;
}

@media screen and (max-width: 767px) {
  .p-download .flex {
    display: block;
    margin-top: 5.3333333333vw;
  }
}

.p-download .flex .text-box {
  margin-left: 30px;
}

@media screen and (max-width: 767px) {
  .p-download .flex .text-box {
    margin-left: 0;
    margin-top: 2.6666666667vw;
  }
}

@media screen and (max-width: 767px) {
  .p-download .flex .img {
    width: 33.3333333333vw;
    margin: 0 auto;
  }
}

.p-download .flex .text {
  font-size: 2.1rem;
  font-weight: 700;
  color: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .p-download .flex .text {
    text-align: center;
    font-size: 3.2vw;
    display: block;
  }
}

.p-download .flex .text_bg {
  padding: 0.2em 1em;
  display: inline-block;
  background: #b62627;
}

.p-download .flex .text02 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.9230769231;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {
  .p-download .flex .text02 {
    font-size: 3.7333333333vw;
    text-align: center;
  }
}

.p-download .flex .list {
  background: #f6f6f6;
  border: 6px solid #e2e0e0;
  background: #FFFFFF;
  padding: 25px 30px;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-download .flex .list {
    font-size: 2.6666666667vw;
    border-width: 0.8vw;
  }
}

@media screen and (max-width: 767px) {
  .p-download .flex .list {
    padding: 2.6666666667vw;
    margin-top: 2.6666666667vw;
  }
}

.p-download .flex .list li {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.09em;
  position: relative;
  padding-left: 25px;
}

@media screen and (max-width: 767px) {
  .p-download .flex .list li {
    font-size: 3.7333333333vw;
    padding-left: 5.6vw;
  }
}

.p-download .flex .list li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url("../img/common/icon_check.svg") no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-download .flex .list li::before {
    top: 1.2vw;
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}

.p-download .text03 {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  margin-top: 27px;
}

@media screen and (max-width: 767px) {
  .p-download .text03 {
    font-size: 3.7333333333vw;
    margin-top: 6.6666666667vw;
  }
}

.p-download .text03_line {
  position: relative;
  padding: 0 30px 0 50px;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-download .text03_line {
    padding: 0 4vw;
  }
}

.p-download .text03_line::before, .p-download .text03_line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2px;
  height: 90%;
  background: #1a1a1a;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
}

@media screen and (max-width: 767px) {
  .p-download .text03_line::before, .p-download .text03_line::after {
    width: 2px;
  }
}

.p-download .text03_line::after {
  left: auto;
  right: 0;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

/* p-form
--------------------------------*/
.p-form {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .p-form {
    padding: 10.6666666667vw 0;
  }
}

/* ---------------------------------------------
  アニメーション
-----------------------------------------------*/
/* 共通
--------------------------------*/
.fade {
  opacity: 0;
  -webkit-transition: 1s ease-out;
  transition: 1s ease-out;
}

.fade-bottom {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: transform 0.6s, opacity 0.6s;
  transition: transform 0.6s, opacity 0.6s, -webkit-transform 0.6s;
}

.parents-start .fade-bottom {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.parents-start .fade {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.is-start.fade-bottom {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.is-start.fade {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.delay1 {
  -webkit-transition-delay: 0s !important;
  transition-delay: 0s !important;
}

.delay2 {
  -webkit-transition-delay: 0.3s !important;
  transition-delay: 0.3s !important;
}

.delay3 {
  -webkit-transition-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}

.delay4 {
  -webkit-transition-delay: 0.9s !important;
  transition-delay: 0.9s !important;
}

.delay5 {
  -webkit-transition-delay: 1.2s !important;
  transition-delay: 1.2s !important;
}

.delay6 {
  -webkit-transition-delay: 1.5s !important;
  transition-delay: 1.5s !important;
}

.delay7 {
  -webkit-transition-delay: 1.8s !important;
  transition-delay: 1.8s !important;
}

.delay8 {
  -webkit-transition-delay: 2.1s !important;
  transition-delay: 2.1s !important;
}


/* トップへ戻るボタン */
p.page_top {position: fixed;right: 1rem;bottom: 1rem;z-index: 5;}
p.page_top a {
	position: relative;
	width: 40px;
	height: 40px;
	border: 1px solid #000;
	background: #fff;
	vertical-align: middle;
  display: block;
}
p.page_top a::before {
	content: "";
	position: absolute;
  left: 50%;
	bottom: 50%;
	transform: translate(-50%,50%);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 15px solid #000;
}

/* 追従ボタン */
.float-button__wrap {
  display: none;
  width: 80px;
  height: 45px;
  position: fixed;
  bottom: 200px;
  right: 131px;
  z-index: 10;
}
.float-button__wrap a {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  width: 211px;
  height: 60px;
  color: #FFFFFF;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #d31618), color-stop(50.1%, #b21e22));
  background: linear-gradient(180deg, #d31618 50%, #b21e22 50.1%);
  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;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  cursor: pointer;
}

.float-button__wrap .button_icon {
  display: inline-block;
  position: relative;
  padding-left: 1.4em;
}

.float-button__wrap .button_icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1em;
  height: 1.1em;
  background: url("../img/common/icon_doc_white.svg") no-repeat center center/contain;
}

.header-two-btn-div {
  display: flex;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .header-two-btn-div {
    gap: 3px;
  }
  .float-button__wrap a {
    width: 183px;
    height: 40px;
    font-size: 1.2rem;
  }
  .float-button__wrap {
    right: 102px;
  }
}

.iframe_header {
  display: none;
}