/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

body {
  line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
  display:block;
}

nav ul {
  list-style:none;
}

blockquote, q {
  quotes:none;
}

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

a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

/* change colours to suit your needs */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

/* change colours to suit your needs */
mark {
  background-color:#ff9;
  color:#000; 
  font-style:italic;
   font-weight:bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

table {
  border-collapse:collapse;
  border-spacing:0;
}

/* change border colour to suit your needs */
hr {
  display:block;
  height:1px;
  border:0;   
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

input, select {
  vertical-align:middle;
}@charset "UTF-8";
body {
  margin-left: auto;
  margin-right: auto;
  font-family: "Hiragino Kaku Gothic ProN", "NotoSansJPHost", "メイリオ", sans-serif;
  line-height: 1.875;
  color: #262626;
}
body.open {
  overflow: hidden;
}

a {
  text-decoration: none;
}

svg, img {
  max-width: 100%;
  width: 100%;
}

ul, ol {
  list-style-type: none;
}

summary {
  position: relative;
  display: block;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

.overflow {
  overflow-x: hidden;
}

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

.u-ml10 {
  margin-left: 10px;
}

.u-mr5 {
  margin-right: 5px;
}

.u-mr10 {
  margin-right: 10px;
}

.u-mr20 {
  margin-right: 20px;
}

.u-60vw {
  font-size: 8vw;
}

.u-fz28 {
  font-size: 28px;
}

.u-fz30 {
  font-size: 30px;
}

.u-fz32 {
  font-size: 32px;
}

.u-fz44 {
  font-size: 44px;
}

.u-fz36 {
  font-size: 36px;
}

.u-fz50 {
  font-size: 50px;
}

.u-fz56 {
  font-size: 56px;
}

.u-fz60 {
  font-size: 60px;
}

.u-fz66 {
  font-size: 66px;
}

.u-fz105 {
  font-size: 105px;
}

.u-primary {
  color: #005689 !important;
}

.u-secondary {
  color: #007cb9;
}

.u-bgc-primary {
  background-color: #005689 !important;
}

.u-white {
  color: #ffffff;
}

.u-back-primary {
  background-color: #005689;
  padding: 0px 10px;
}

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

.u-bg {
  display: block;
}

.u-danger {
  color: #e60012;
}

.u-caution {
  color: #ffc900;
}

.u-navy {
  color: #007cb9;
}

.u-shine {
  position: relative;
}
.u-shine::before {
  width: calc(100% - 8px);
  height: 50%;
  margin-left: auto;
  margin-right: auto;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.2)), color-stop(40%, rgba(255, 255, 255, 0.15)), color-stop(60%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0.1) 60%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  top: 4px;
  left: 4px;
  border-radius: 0 0 16px 16px;
  content: "";
}

.u-under, .p-merit__subttl-first {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0, #fff89a));
  background-image: linear-gradient(transparent 70%, #fff89a 0);
}

.u-sp-hidden {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-sp-hidden {
    display: inline;
  }
}
.u-pc-hidden {
  display: inline;
}

@media screen and (min-width: 768px) {
  .u-pc-hidden {
    display: none;
  }
}
@font-face {
  font-family: "NotoSansJPHost";
  src: url(../font/NotoSansRegular.woff2) format("woff2"), url(../font/NotoSansRegular.woff) format("woff");
  font-weight: normal;
}
@font-face {
  font-family: "NotoSansJPHost";
  src: url(../font/NotoSansBold.woff2) format("woff2"), url(../font/NotoSansBold.woff) format("woff");
  font-weight: bold;
}
.c-balloon-ttl {
  font-size: 50px;
  line-height: 1.38em;
  font-weight: bold;
  background-color: #005689;
  color: #ffffff;
  padding: 35px 0;
  text-align: center;
  position: relative;
}
.c-balloon-ttl::before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -40px;
  border-top: 40px solid #005689;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
}

@media screen and (min-width: 768px) {
  .c-balloon-ttl {
    font-size: 36px;
  }
}
.c-list-type1 {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.6em;
  list-style-position: inside;
  text-indent: -1.3em;
  padding: 14px 0 14px 1.3em;
}
.c-list-type1:not(:last-of-type) {
  border-bottom: 4px dotted #005689;
}
.c-list-type1::marker {
  color: #005689;
}

@media screen and (min-width: 768px) {
  .c-list-type1 {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .c-list-type1 {
    font-size: 20px;
    padding: 30px 10px 30px 1.2em;
  }
}
.c-list-type2 {
  font-size: 40px;
  text-indent: -1em;
  font-weight: bold;
  line-height: 1.6em;
  list-style-type: none;
  list-style-position: inside;
  padding: 15px 0 15px 1em;
}
.c-list-type2::before {
  content: "・";
  color: #005689;
}
.c-list-type2:not(:last-of-type) {
  border-bottom: 4px dotted #005689;
}

@media screen and (min-width: 768px) {
  .c-list-type2 {
    font-size: 18px;
  }
}
.c-list-type3 {
  font-size: 32px;
  list-style-type: none;
  list-style-position: inside;
  text-indent: -1em;
  padding: 0px 0 0px 1em;
}
.c-list-type3::before {
  content: "・";
  color: #005689;
}

@media screen and (min-width: 768px) {
  .c-list-type3 {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .c-list-type3 {
    padding: 5px 0 5px 1em;
  }
}
.c-list-type4 {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
  padding: 8px 20px 27px 1.6em;
  position: relative;
  list-style-type: none;
}
.c-list-type4:not(:last-of-type)::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 100%;
  background: repeating-linear-gradient(to right, #005689 0px, #005689 2px, transparent 2px, transparent 4px);
}
.c-list-type4::before {
  content: "";
  position: absolute;
  width: 1.2em;
  height: 1.2em;
  left: 10px;
  top: 1em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../image/marker-type2.png);
  background-size: contain;
}
.c-list-type4::marker {
  margin-right: 1.2em;
}

@media screen and (min-width: 768px) {
  .c-list-type4 {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .c-list-type4 {
    padding: 8px 20px 27px 2.2em;
  }
}
@media screen and (min-width: 768px) {
  .c-list-type4::before {
    top: 1.15em;
  }
}
.c-dot-text {
  position: relative;
  padding-top: 10px;
}
.c-dot-text::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #005689;
  bottom: 60px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

@media screen and (min-width: 768px) {
  .c-dot-text::before {
    width: 7px;
    height: 7px;
    bottom: 38px;
  }
}
.p-heading-type1 {
  padding: 35px 0;
  text-align: center;
  color: #ffffff;
  background-color: #007cb9;
  position: relative;
  z-index: 2000;
}
.p-heading-type1::before {
  content: "";
  position: absolute;
  top: 5%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 25%;
  padding-top: 25%;
  border-radius: 1000px;
  background-color: #007cb9;
  background-image: url(../image/light.png);
  background-size: 35%;
  background-position: 50% 40%;
  background-repeat: no-repeat;
  z-index: 1000;
}

@media screen and (min-width: 768px) {
  .p-heading-type1 {
    padding: 25px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-heading-type1::before {
    width: 100px;
    padding-top: 100px;
  }
}
.p-heading-type1__text {
  position: relative;
  font-size: 46px;
  z-index: 3000;
}

@media screen and (min-width: 768px) {
  .p-heading-type1__text {
    font-size: 22px;
  }
}
.p-heading-type2 {
  padding: 0 20px;
  text-align: center;
  background-color: #ffffff;
  border: 4px solid #005689;
  position: relative;
  z-index: 2000;
}
.p-heading-type2::before, .p-heading-type2::after {
  content: "";
  position: absolute;
  top: 5%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 25%;
  padding-top: 25%;
}
.p-heading-type2::before {
  background-color: #ffffff;
  border-radius: 1000px;
  border: 4px solid #005689;
  z-index: 1000;
}
.p-heading-type2::after {
  background-image: url(../image/pen-solid.png);
  background-size: 35%;
  background-position: 50% 15%;
  background-repeat: no-repeat;
  z-index: 3000;
}

@media screen and (min-width: 768px) {
  .p-heading-type2::before, .p-heading-type2::after {
    width: 20%;
    padding-top: 20%;
  }
}
@media screen and (min-width: 768px) {
  .p-heading-type2::after {
    background-size: 30%;
  }
}
.p-heading-type2__main {
  font-size: 36px;
  background-color: #ffffff;
  color: #005689;
  padding: 5px 0px;
  display: block;
  border-bottom: 2px solid #005689;
  position: relative;
  z-index: 3000;
}

@media screen and (min-width: 768px) {
  .p-heading-type2__main {
    font-size: 24px;
  }
}
.p-heading-type2__sub {
  padding: 10px 0px;
  background-color: #ffffff;
  position: relative;
  z-index: 3000;
  font-size: 46px;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-heading-type2__sub {
    font-size: 24px;
  }
}
.p-heading-type3 {
  background-color: #ffffff;
  color: #005689;
  display: inline-block;
  padding: 0px 40px;
  border-radius: 1000px;
  -webkit-box-shadow: 0px 3px 0px #005689;
  box-shadow: 0px 3px 0px #005689;
  border: 5px solid #005689;
  text-align: center;
  -webkit-transform: translateY(-60%);
  transform: translateY(-60%);
  position: relative;
}
.p-heading-type3::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 50%) rotate(45deg);
  transform: translate(-50%, 50%) rotate(45deg);
  background-color: #ffffff;
  -webkit-box-shadow: 6px 6px 0px #005689;
  box-shadow: 6px 6px 0px #005689;
  z-index: 2000;
}

@media screen and (min-width: 768px) {
  .p-heading-type3 {
    padding: 8px 40px;
    -webkit-transform: translateY(-90%);
    transform: translateY(-90%);
  }
}
.p-heading-type3__text {
  font-size: 37px;
  font-weight: bold;
  line-height: 1.6em;
  position: relative;
  z-index: 3000;
}

@media screen and (min-width: 768px) {
  .p-heading-type3__text {
    font-size: 28px;
  }
}
.c-important {
  font-size: 32px;
  padding: 20px 30px 40px 30px;
  border-width: 4px;
  border-style: solid;
  position: relative;
  background-color: #ffffff;
}
.c-important.check {
  border-color: #007cb9;
}
.c-important.danger {
  border-color: #e60012;
}

@media screen and (min-width: 768px) {
  .c-important {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .c-important {
    padding: 20px 30px;
  }
}
.c-important__ttl {
  font-size: 32px;
  font-weight: bold;
  color: #ffffff;
  padding: 4px 40px 4px 90px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  position: absolute;
  top: 0;
  left: 0%;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}
.c-important__ttl.check {
  background-color: #007cb9;
}
.c-important__ttl.danger {
  background-color: #e60012;
}

@media screen and (min-width: 768px) {
  .c-important__ttl {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .c-important__ttl {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 0px 15px 0px 30px;
  }
}
.c-important__img {
  width: 41px;
  position: absolute;
  top: 52%;
  left: 14%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-important__img.check {
  left: 11%;
}

@media screen and (min-width: 768px) {
  .c-important__img {
    width: 15px;
  }
}
@media screen and (min-width: 768px) {
  .c-important__body {
    font-size: 16px;
  }
}
.c-triangle span::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24.2px 14px 0 14px;
  border-color: #005689 transparent transparent transparent;
}

.c-circle {
  position: relative;
  background-color: #fff89a;
  border-radius: 1000px;
}

.c-circle__text {
  font-size: 36px;
  position: absolute;
  text-align: center;
  left: 50%;
  top: 54%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-weight: bold;
  line-height: 1.4em;
}

@media screen and (min-width: 768px) {
  .c-circle__text {
    font-size: 24px;
  }
}
.c-circle__title {
  font-size: 50px;
  color: #005689;
}

@media screen and (min-width: 768px) {
  .c-circle__title {
    font-size: 36px;
  }
}
.l-header {
  height: 160px;
  border-bottom: 2px solid #005689;
  position: relative;
  z-index: 4000;
  position: fixed;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .l-header {
    height: 100px;
  }
}
.l-header__inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #ffffff;
}

@media screen and (min-width: 768px) {
  .l-header__inner {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.l-header__logo {
  width: 45.3333333333%;
  padding-left: 18px;
  padding-right: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (min-width: 768px) {
  .l-header__logo {
    width: 290px;
  }
}
.l-header__logo-link {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header__logo-link:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .l-header__logo-link {
    width: 290px;
  }
}
.l-header__logo-text {
  line-height: 1.2em;
  margin-bottom: 20px;
  font-weight: bold;
  visibility: hidden;
  display: none;
  color: #262626;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 24px;
}

@media screen and (min-width: 768px) {
  .l-header__logo-text {
    font-size: 14px;
  }
}
.l-header.open .l-header__logo-text {
  display: inline-block;
  visibility: visible;
  opacity: 1;
}

.l-header__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 54.6666666667%;
}

@media screen and (min-width: 768px) {
  .l-header__contact {
    width: 100%;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
.l-header__link {
  width: 33.33%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-width: 4px;
  padding: 30px 10px 30px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.l-header__link:hover {
  opacity: 0.7;
}
.l-header__link::after {
  display: block;
  position: absolute;
  z-index: 1;
  left: -30%;
  top: 50%;
  content: "";
  width: 5em;
  height: 20em;
  -webkit-transform: rotate(30deg) translateY(-50%);
  transform: rotate(30deg) translateY(-50%);
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, white), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 50%, rgba(255, 255, 255, 0) 100%);
  -webkit-animation: shiny 3s infinite linear;
  animation: shiny 3s infinite linear;
}
.l-header__link.pc-tel {
  display: none;
}
.l-header__link.pc-tel::after {
  content: none;
}
.l-header__link.mail {
  background-color: #005689;
  border-color: #005689;
}
.l-header__link.line {
  background-color: #06c755;
  border-color: #06c755;
}
.l-header__link.tel {
  background-color: #f99534;
  border-color: #f99534;
}

@media screen and (min-width: 768px) {
  .l-header__link {
    width: auto;
    -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;
    padding: 0px 10px;
  }
}
@media screen and (min-width: 768px) {
  .l-header__link.pc-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .l-header__link.mail {
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  .l-header__link.tel {
    display: none;
  }
}
.l-header__link-img {
  width: 40%;
  margin-bottom: 12px;
}
.l-header__link-img.pc-tel {
  width: 10%;
  margin-right: 8px;
}

@media screen and (min-width: 768px) {
  .l-header__link-img {
    width: 20%;
    margin-bottom: 0;
    margin-right: 20px;
  }
}
.l-header__link-text {
  color: #ffffff;
  font-size: 22px;
  text-align: center;
  line-height: 1.4em;
  font-weight: bold;
  white-space: nowrap;
}
.l-header__link-text.pc-tel {
  font-size: 32px;
  color: #005689;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .l-header__link-text {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .l-header__link-text.pc-tel {
    font-size: 28px;
    margin-right: 10px;
  }
}
.p-nav {
  width: 91px;
  height: 91px;
  left: auto;
  z-index: 9999;
  border: 2px solid #007cb9;
  border-radius: 10px;
  background-color: #ffffff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  right: 20px;
  top: 180px;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .p-nav {
    display: none;
  }
}
.p-nav__line {
  display: block;
  width: 48px;
  height: 3px;
  background-color: #007cb9;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  left: 50%;
}
.p-nav__line:nth-of-type(1) {
  top: 15%;
  will-change: transform;
}
.p-nav__line:nth-of-type(2) {
  top: 35%;
  will-change: opacity;
}
.p-nav__line:nth-of-type(3) {
  top: 55%;
  will-change: transform;
}

.p-nav__text {
  color: #007cb9;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  will-change: opacity;
  position: absolute;
  top: 60%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  left: 50%;
}

.p-nav.open .p-nav__line:nth-of-type(1) {
  top: 50%;
  -webkit-transform: translate(-50%) rotate(135deg);
  transform: translate(-50%) rotate(135deg);
}
.p-nav.open .p-nav__line:nth-of-type(2) {
  opacity: 0;
  will-change: opacity;
}
.p-nav.open .p-nav__line:nth-of-type(3) {
  top: 50%;
  -webkit-transform: translate(-50%) rotate(-135deg);
  transform: translate(-50%) rotate(-135deg);
}
.p-nav.open .p-nav__text {
  opacity: 0;
}

.l-main {
  padding-top: 160px;
  position: relative;
}

.p-menu {
  padding-top: 310px;
  padding-bottom: 200px;
  background-color: #d3edfb;
  height: 100vh;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 3000;
  opacity: 0;
  visibility: hidden;
  overflow-y: scroll;
}
.p-menu.open {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

@media screen and (min-width: 768px) {
  .p-menu {
    background-color: #007cb9;
    padding: 0;
    -webkit-transform: none;
    transform: none;
    height: auto;
    width: 100%;
    top: 100px;
    position: fixed;
    visibility: visible;
    opacity: 1;
    overflow: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-menu__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-menu__btn {
  font-size: 32px;
  padding-left: 1.4em;
  padding-right: 0.8em;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  height: 88px;
  max-width: 540px;
  border-radius: 1000px;
  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;
  color: #262626;
  background-color: #ffffff;
}
.p-menu__btn::before {
  content: "";
  width: 60px;
  height: 60px;
  border-radius: 1000px;
  background-color: #005689;
  position: absolute;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.p-menu__btn::after {
  content: "";
  width: 20px;
  height: 20px;
  border-top: 6px solid #ffffff;
  border-right: 6px solid #ffffff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  left: 25px;
  top: 35px;
}

@media screen and (min-width: 768px) {
  .p-menu__btn {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-menu__btn {
    display: none;
  }
}
.p-menu__nav {
  width: 100%;
}

.p-menu__list {
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  .p-menu__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
  }
}
.p-menu__item {
  border-bottom: 2px solid #ffffff;
  padding-left: 120px;
  position: relative;
}
.p-menu__item::before {
  content: "";
  position: absolute;
  left: 80px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 17.3px;
  border-color: transparent transparent transparent #005689;
}

@media screen and (min-width: 768px) {
  .p-menu__item {
    border: none;
    width: 20%;
    padding: 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-menu__item:hover, .p-menu__item.current {
    background-color: #3496c7;
  }
}
@media screen and (min-width: 768px) {
  .p-menu__item::before {
    border: none;
  }
}
.p-menu__link {
  color: #262626;
  font-size: 32px;
  font-weight: bold;
  display: inline-block;
  width: 100%;
  padding: 28px 0;
}

@media screen and (min-width: 768px) {
  .p-menu__link {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-menu__link {
    padding: 14px 0;
    color: #ffffff;
  }
}
.p-menu__label {
  font-size: 32px;
  padding-left: 80px;
  margin-bottom: 10px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-menu__label {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-menu__label {
    display: none;
  }
}
#searchform div {
  padding-left: 80px;
  padding-right: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  #searchform div {
    display: none;
  }
}
.p-menu__input, #s {
  width: 72%;
  margin-right: 4%;
  font-size: 32px;
  padding: 20px 20px;
  border: 2px solid #959595;
  border-radius: 10px;
}

@media screen and (min-width: 768px) {
  .p-menu__input, #s {
    font-size: 16px;
  }
}
.p-menu__input::-webkit-input-placeholder, #s::-webkit-input-placeholder, .p-menu__input::-moz-placeholder, #s::-moz-placeholder, .p-menu__input:-ms-input-placeholder, #s:-ms-input-placeholder, .p-menu__input::-ms-input-placeholder, #s::-ms-input-placeholder, .p-menu__input::placeholder, #s::placeholder {
  font-family: "Noto Sans JP", sans-serif;
  color: #cacaca;
}

.p-menu__input:focus, #s:focus {
  outline: 2px solid #005689;
}

.p-menu__submit, #searchsubmit {
  width: 24%;
  display: block;
  font-size: 32px;
  padding: 20px 20px;
  background: #005689;
  border-radius: 10px;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  border: none;
}

@media screen and (min-width: 768px) {
  .p-menu__submit, #searchsubmit {
    font-size: 16px;
  }
}
.p-visual {
  position: relative;
  padding-top: 80px;
  padding-bottom: 54px;
}
.p-visual::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  border-style: solid;
  border-width: 0 0 130vw 100vw;
  border-color: transparent transparent #d3edfb transparent;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .p-visual {
    padding-top: 40px;
    padding-bottom: 116px;
  }
}
@media screen and (min-width: 768px) {
  .p-visual::after {
    border-width: 0 0 735px 100vw;
  }
}
.p-visual__inner {
  width: 100%;
  height: 100%;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-visual__inner {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.p-visual__ttl {
  color: #ffffff;
  line-height: 1.6em;
  font-size: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (min-width: 768px) {
  .p-visual__ttl {
    font-size: 60px;
  }
}
.p-visual__ttl-elem {
  background-color: #005689;
  color: #ffffff;
  padding-left: 0.5em;
  padding-right: 0.5em;
  display: inline-block;
  line-height: 1.4em;
}
.p-visual__ttl-elem:first-of-type {
  margin-bottom: 20px;
  padding-right: 0em;
}

@media screen and (min-width: 768px) {
  .p-visual__ttl-elem:first-of-type {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-visual__ttl-elem {
    margin-bottom: 20px;
  }
}
.p-visual__figure {
  width: 82%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -70px;
}

@media screen and (min-width: 768px) {
  .p-visual__figure {
    width: 44%;
    position: absolute;
    right: 1%;
    top: 3%;
    margin: 0;
  }
}
.p-visual__img {
  position: relative;
  z-index: 1000;
}

.p-visual__sub {
  font-size: 41px;
  font-weight: bold;
  background-color: #005689;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 40px);
  margin-right: 0;
  margin-left: auto;
  margin-top: -34px;
  margin-bottom: 12px;
  padding-left: 1em;
  padding-right: 0.5em;
  position: relative;
  z-index: 2000;
}

@media screen and (min-width: 768px) {
  .p-visual__sub {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    padding-left: 30px;
    padding-right: 30px;
    margin: 0 0 30px 0;
  }
}
.p-visual__sub-first {
  font-size: 41px;
  margin-right: 5px;
  position: relative;
  top: 3px;
}

@media screen and (min-width: 768px) {
  .p-visual__sub-first {
    margin-right: 0;
    top: -5px;
    font-size: 36px;
  }
}
.p-visual__sub-second {
  font-size: 60px;
  color: #ffc900;
}

@media screen and (min-width: 768px) {
  .p-visual__sub-second {
    font-size: 50px;
  }
}
.p-visual__text {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 1.25em;
  color: #005689;
  margin-bottom: 8px;
}

@media screen and (min-width: 768px) {
  .p-visual__text {
    font-size: 42px;
    margin-bottom: 32px;
  }
}
.p-visual__text-small {
  font-size: 30px;
}

@media screen and (min-width: 768px) {
  .p-visual__text-small {
    font-size: 32px;
  }
}
.p-visual__list {
  list-style: none;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .p-visual__list {
    max-width: 880px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.p-visual__item {
  font-size: 30px;
  line-height: 46px;
  background-color: #007cb9;
  color: #ffffff;
  margin-bottom: 10px;
  padding: 8px 20px 8px 2.6em;
  position: relative;
  border-radius: 1000px;
}
.p-visual__item::before {
  content: "";
  position: absolute;
  width: 1.2em;
  height: 1.2em;
  left: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../image/marker-type1.png);
  background-size: contain;
}
.p-visual__item::marker {
  margin-right: 1.2em;
}

@media screen and (min-width: 768px) {
  .p-visual__item {
    font-size: 22px;
    line-height: 1.2em;
    padding: 20px 20px 20px 3em;
    width: 32%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .p-visual__item::before {
    width: 2em;
    height: 2em;
  }
}
.p-limit {
  background-color: #fffbda;
  padding-bottom: 56px;
}

.p-limit__ttl {
  background-image: repeating-linear-gradient(135deg, #ffd433 0px, #ffd433 5px, #ffc900 6px, #ffc900 10px);
  padding-bottom: 30px;
  background-repeat: repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1000;
}

@media screen and (min-width: 768px) {
  .p-limit__ttl {
    padding-bottom: 10px;
  }
}
.p-limit__ttl-main {
  margin-top: -30px;
  max-width: 670px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .p-limit__ttl-main {
    margin-top: -60px;
    max-width: 620px;
  }
}
.p-limit__ttl-sub {
  max-width: 500px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-limit__ttl-sub {
    max-width: 440px;
  }
}
@media screen and (min-width: 768px) {
  .p-limit__inner {
    padding-top: 50px;
    padding-bottom: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-limit__body {
  padding-top: 44px;
  padding-bottom: 30px;
  font-size: 32px;
}

@media screen and (min-width: 768px) {
  .p-limit__body {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-limit__body {
    padding: 0;
  }
}
.p-limit__pic {
  width: 73%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .p-limit__pic {
    width: 40%;
  }
}
.p-cnv {
  background-color: #ffc900;
  padding-top: 46px;
  padding-bottom: 46px;
}
.p-cnv.primary {
  background-color: #005689;
}

.p-cnv__inner {
  padding-left: 40px;
  padding-right: 40px;
  margin-left: 40px;
  margin-right: 40px;
  background-color: #ffffff;
  border-radius: 20px;
  padding-top: 80px;
  padding-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .p-cnv__inner {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 30px;
  }
}
.p-cnv__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 30px;
}

.p-cnv__tel {
  margin-bottom: 30px;
}

.p-cnv__line, .p-cnv__mail {
  width: 47%;
}

.p-cnv__body {
  font-size: 28px;
  text-align: center;
  line-height: 1.4em;
}

@media screen and (min-width: 768px) {
  .p-cnv__body {
    font-size: 14px;
  }
}
.p-cnv-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-cnv-tel__balloon {
  display: inline-block;
  background-color: #fff89a;
  border-radius: 1000px;
  border: 4px solid #f99534;
  font-size: 34px;
  padding: 0px 15px;
  -webkit-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 50%;
  top: -4%;
  z-index: 1000;
  white-space: nowrap;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.p-cnv-tel__balloon::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 2000;
  background-color: #fff89a;
  border-radius: 1000px;
}
.p-cnv-tel__balloon::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 50%) rotate(135deg) skew(-10deg, -10deg);
  transform: translate(-50%, 50%) rotate(135deg) skew(-10deg, -10deg);
  background-color: #fff89a;
  -webkit-box-shadow: 0px -2px 4px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0px -2px 4px 4px rgba(0, 0, 0, 0.2);
  z-index: 2000;
  border-right: 4px solid #f99534;
  border-top: 4px solid #f99534;
}

@media screen and (min-width: 768px) {
  .p-cnv-tel__balloon {
    font-size: 24px;
    padding: 10px 25px;
    width: auto;
    text-align: center;
  }
}
.p-cnv-tel__balloon-text {
  position: relative;
  z-index: 4000;
  font-weight: bold;
}

.p-cnv-tel__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding-top: 60px;
  background-color: #f99534;
  -webkit-box-shadow: 0 6px #d56900;
  box-shadow: 0 6px #d56900;
  border-radius: 10px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.p-cnv-tel__link:hover {
  opacity: 0.7;
}
.p-cnv-tel__link::after {
  display: block;
  position: absolute;
  z-index: 1;
  left: -30%;
  top: 50%;
  content: "";
  width: 15em;
  height: 20em;
  -webkit-transform: rotate(30deg) translateY(-50%);
  transform: rotate(30deg) translateY(-50%);
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, white), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 50%, rgba(255, 255, 255, 0) 100%);
  -webkit-animation: shiny 3s infinite linear;
  animation: shiny 3s infinite linear;
}

@media screen and (min-width: 768px) {
  .p-cnv-tel__link {
    padding-top: 50px;
  }
}
.p-cnv-tel__sub {
  color: #ffffff;
  font-size: 26px;
  text-align: center;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-cnv-tel__sub {
    font-size: 24px;
  }
}
.p-cnv-tel__main {
  font-size: 70px;
  color: #ffffff;
  text-align: center;
  font-family: Arial;
  font-weight: bold;
  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: -10px;
  line-height: 1.4em;
}

@media screen and (min-width: 768px) {
  .p-cnv-tel__main {
    font-size: 60px;
  }
}
.p-cnv-tel__icon {
  width: 0.8em;
  margin-right: 0.2em;
}

.p-cnv-small {
  border-radius: 10px;
  background-color: #06c755;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 16px 5px 16px 14px;
  position: relative;
  overflow: hidden;
  z-index: 2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-cnv-small:hover {
  opacity: 0.7;
}
.p-cnv-small::after {
  display: block;
  position: absolute;
  z-index: 1;
  left: -30%;
  top: 50%;
  content: "";
  width: 5em;
  height: 15em;
  -webkit-transform: rotate(30deg) translateY(-50%);
  transform: rotate(30deg) translateY(-50%);
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, white), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 50%, rgba(255, 255, 255, 0) 100%);
  -webkit-animation: shiny 3s infinite linear;
  animation: shiny 3s infinite linear;
}
.p-cnv-small.line {
  background-color: #06c755;
  -webkit-box-shadow: 0 6px #048037;
  box-shadow: 0 6px #048037;
}
.p-cnv-small.mail {
  background-color: #005689;
  -webkit-box-shadow: 0 6px #013351;
  box-shadow: 0 6px #013351;
}

@-webkit-keyframes shiny {
  0% {
    left: -30%;
  }
  20% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
@keyframes shiny {
  0% {
    left: -30%;
  }
  20% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
@media screen and (min-width: 768px) {
  .p-cnv-small {
    padding: 20px 15px;
  }
}
.p-cnv-small__icon {
  width: 64px;
  margin-right: 10px;
}

@media screen and (min-width: 768px) {
  .p-cnv-small__icon {
    margin-right: 20px;
  }
}
.p-cnv-small__text {
  color: #ffffff;
  line-height: 1.2em;
  font-size: 30px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-cnv-small__text {
    font-size: 23px;
  }
}
.p-feature {
  padding-bottom: 78px;
}

.p-feature__ttl {
  font-size: 50px;
}

@media screen and (min-width: 768px) {
  .p-feature__ttl {
    font-size: 36px;
  }
}
.p-feature__inner {
  padding-top: 90px;
}

.p-feature__list {
  background-color: #d3edfb;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 18px;
  padding-bottom: 28px;
  margin-bottom: 74px;
  list-style-type: decimal;
}

@media screen and (min-width: 768px) {
  .p-feature__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.p-feature__figure {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-feature__figure {
    width: 30%;
  }
}
.p-feature__sub {
  font-size: 40px;
  text-align: center;
  color: #005689;
  margin-bottom: 28px;
}

@media screen and (min-width: 768px) {
  .p-feature__sub {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
.p-feature__pic {
  margin-bottom: 66px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .p-feature__pic {
    margin-bottom: 35px;
  }
}
.p-feature__img {
  width: 92%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5px;
}

.p-feature__figcap {
  font-size: 28px;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-feature__figcap {
    font-size: 14px;
  }
}
.p-feature__text {
  font-size: 32px;
}

@media screen and (min-width: 768px) {
  .p-feature__text {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-feature__text {
    padding-top: 50px;
    width: 65%;
    font-size: 20px;
  }
}
.p-anx {
  padding-bottom: 62px;
}

@media screen and (min-width: 768px) {
  .p-anx {
    padding-bottom: 100px;
  }
}
.p-anx__ttl {
  margin-bottom: 90px;
}

.p-anx__figure {
  width: 43%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .p-anx__figure {
    width: 30%;
  }
}
.p-anx__list {
  margin-bottom: 50px;
}

.p-anx__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-bottom: 23px;
}

.p-anx__circle {
  width: 57%;
  padding-top: 57%;
}

@media screen and (min-width: 768px) {
  .p-anx__circle {
    width: 30%;
    padding-top: 30%;
    margin-bottom: 0px;
  }
}
@media screen and (min-width: 768px) {
  .p-anx__pic {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-anx__img {
    width: 40%;
    margin-right: 30px;
  }
}
.p-anx__body {
  font-size: 32px;
}
.p-anx__body.sp-hidden {
  display: none;
}
.p-anx__body.pc-hidden {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-anx__body {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-anx__body.sp-hidden {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-anx__body.pc-hidden {
    display: none;
  }
}
.p-hard-caution {
  font-size: 46px;
  line-height: 1.3em;
  font-weight: bold;
  background-color: #ffc900;
  color: #005689;
  padding: 76px 36px 20px;
  position: relative;
}
.p-hard-caution::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -10%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 23%;
  padding-top: 20%;
  background-image: url(../image/ex_triangle.png);
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .p-hard-caution {
    font-size: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-hard-caution::before {
    width: 120px;
    top: 25%;
  }
}
.p-hard {
  padding-bottom: 60px;
}

.p-hard__inner {
  padding-top: 65px;
}

.p-hard__list {
  margin-bottom: 100px;
}

.p-hard__caution {
  margin-bottom: 52px;
}

.p-hard__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 120px;
}

@media screen and (min-width: 768px) {
  .p-hard__wrapper {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.p-hard__text {
  width: 56%;
  font-size: 32px;
}

@media screen and (min-width: 768px) {
  .p-hard__text {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-hard__text {
    width: 40%;
  }
}
.p-hard__img {
  width: 35%;
}

@media screen and (min-width: 768px) {
  .p-hard__img {
    width: 20%;
  }
}
.p-hard__sub {
  font-size: 40px;
  line-height: 1.6em;
  color: #005689;
  margin-bottom: 8px;
}

@media screen and (min-width: 768px) {
  .p-hard__sub {
    font-size: 18px;
  }
}
.p-hard__body {
  font-size: 32px;
}

@media screen and (min-width: 768px) {
  .p-hard__body {
    font-size: 16px;
  }
}
.p-suggestion {
  background-color: #d3edfb;
  position: relative;
  margin-bottom: 60px;
}

.p-suggestion__list {
  padding: 18px 35px;
}

.p-director-ttl {
  font-size: 40px;
  line-height: 1.4;
  white-space: nowrap;
  background-color: #005689;
  color: #ffffff;
  border-radius: 10px;
  padding: 50px 35px;
  position: relative;
}
.p-director-ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -30px;
  border: 30px solid transparent;
  border-left: 30px solid #005689;
}

@media screen and (min-width: 768px) {
  .p-director-ttl {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-director-ttl {
    text-align: center;
    padding: 25px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-director-ttl::before {
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid #005689;
  }
}
.p-director {
  background-color: #fffcdb;
  padding-top: 40px;
  padding-bottom: 64px;
}

.p-director__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 12px;
  line-height: 1.6em;
}

@media screen and (min-width: 768px) {
  .p-director__wrapper {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
.p-director__text-wrapper {
  width: 62%;
}

@media screen and (min-width: 768px) {
  .p-director__ttl {
    margin-bottom: 30px;
  }
}
.p-director__ttl-large {
  font-size: 50px;
}

@media screen and (min-width: 768px) {
  .p-director__ttl-large {
    font-size: 36px;
  }
}
.p-director__body {
  font-size: 28px;
  line-height: 1.6;
}
.p-director__body p {
  font-size: 28px;
  margin-bottom: 2em;
}
.p-director__body.hidden-pc {
  display: none;
}
.p-director__body.hidden-sp {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-director__body {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-director__body.hidden-pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-director__body.hidden-sp {
    display: none;
  }
}
.p-director__body-large {
  font-size: 36px;
}

@media screen and (min-width: 768px) {
  .p-director__body-large {
    font-size: 22px;
    display: block;
  }
}
.p-director__img {
  margin-right: -40px;
}

@media screen and (min-width: 768px) {
  .p-director__img {
    width: 30%;
  }
}
.p-merit {
  background-color: #d3edfb;
  padding-bottom: 60px;
}

.p-merit__inner {
  padding-top: 60px;
}

.p-merit__wrapper {
  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-bottom: 158px;
}

@media screen and (min-width: 768px) {
  .p-merit__wrapper {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 120px;
  }
}
.p-merit__img {
  width: 32%;
}

@media screen and (min-width: 768px) {
  .p-merit__img {
    width: 20%;
  }
}
.p-merit__subttl {
  font-size: 50px;
  line-height: 1em;
}

@media screen and (min-width: 768px) {
  .p-merit__subttl {
    font-size: 36px;
  }
}
@media screen and (min-width: 768px) {
  .p-merit__subttl {
    margin-right: 30px;
    font-size: 44px;
    line-height: 1.2em;
  }
}
.p-merit__subttl-first {
  font-weight: bold;
  color: #005689;
  font-size: 60px;
}

@media screen and (min-width: 768px) {
  .p-merit__subttl-first {
    font-size: 50px;
  }
}
.p-merit__subttl-second {
  font-size: 105px;
}

@media screen and (min-width: 768px) {
  .p-merit__subttl-second {
    font-size: 90px;
    margin-right: 5px;
    margin-left: -10px;
  }
}
.p-merit__list {
  list-style-type: none;
}

.p-merit__item:not(:last-of-type) {
  margin-bottom: 180px;
}

.p-merit__deco {
  font-size: 44px;
}

.p-merit-item {
  background-color: #ffffff;
  -webkit-box-shadow: 0px 0px 12.8px 7.2px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 12.8px 7.2px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  position: relative;
  padding-top: 187px;
  padding-bottom: 15px;
}

.p-merit-item__ttl {
  background-color: #ffc900;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  padding: 30px 20px;
  width: 90%;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.p-merit-item__ttl::before {
  content: "";
  width: 50px;
  height: 50px;
  background-color: #ffc900;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%) rotate(45deg);
  transform: translate(-50%, 50%) rotate(45deg);
}

@media screen and (min-width: 768px) {
  .p-merit-item__ttl {
    width: 80%;
  }
}
.p-merit-item__ttl-number {
  font-size: 44px;
  font-weight: bold;
  line-height: 1em;
  color: #005689;
  background-color: #ffc900;
  position: relative;
  margin-bottom: 20px;
}
.p-merit-item__ttl-number .large {
  font-size: 66px;
}
.p-merit-item__ttl-number::before, .p-merit-item__ttl-number::after {
  content: "";
  width: 20%;
  height: 4px;
  background-color: #005689;
  position: absolute;
}
.p-merit-item__ttl-number::before {
  left: 5%;
  top: 58%;
}
.p-merit-item__ttl-number::after {
  right: 5%;
  top: 58%;
}

@media screen and (min-width: 768px) {
  .p-merit-item__ttl-number {
    font-size: 40px;
  }
}
@media screen and (min-width: 768px) {
  .p-merit-item__ttl-number .large {
    font-size: 50px;
    margin-left: -0.1em;
  }
}
@media screen and (min-width: 768px) {
  .p-merit-item__ttl-number::before, .p-merit-item__ttl-number::after {
    width: 10%;
  }
}
@media screen and (min-width: 768px) {
  .p-merit-item__ttl-number::before {
    left: 26%;
  }
}
@media screen and (min-width: 768px) {
  .p-merit-item__ttl-number::after {
    right: 27%;
  }
}
.p-merit-item__ttl-text {
  font-size: 44px;
  line-height: 1.4em;
}

@media screen and (min-width: 768px) {
  .p-merit-item__ttl-text {
    font-size: 34px;
  }
}
.p-merit-item__inner {
  padding: 0 35px;
}

@media screen and (min-width: 768px) {
  .p-merit-item__inner {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-merit-item__body {
  font-size: 32px;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-merit-item__body {
    font-size: 16px;
  }
}
.p-merit-item__subttl {
  font-size: 40px;
  color: #005689;
  margin-bottom: 10px;
  line-height: 1.7em;
}

@media screen and (min-width: 768px) {
  .p-merit-item__subttl {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-merit-item__subttl {
    font-size: 26px;
  }
}
.p-merit-item__list {
  margin-top: 30px;
  margin-bottom: 60px;
}
.p-merit-item__list.mt60 {
  margin-top: 60px;
}
.p-merit-item__list.m0 {
  margin-top: 0;
}

.p-merit-item__important {
  margin-top: 98px;
  margin-bottom: 40px;
}

.p-merit-item__team {
  margin-left: -35px;
  margin-right: -35px;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-merit-item__team {
    margin: 0 0 60px 0;
  }
}
.p-placeholder__ttl {
  background-color: #007cb9;
  color: #ffffff;
  padding: 0 26px;
  font-size: 36px;
}

@media screen and (min-width: 768px) {
  .p-placeholder__ttl {
    font-size: 24px;
  }
}
.p-placeholder__ttl-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 4px 0;
}
.p-placeholder__ttl-head.border {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 4px dotted #ffffff;
}

.p-placeholder__ttl-text {
  line-height: 1.2em;
}

.p-placeholder__ttl-icon {
  width: 20%;
}

@media screen and (min-width: 768px) {
  .p-placeholder__ttl-icon {
    width: 10%;
  }
}
.p-placeholder__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 40px 0;
}

.p-placeholder__arrow {
  width: 14%;
  border-left: 4px dotted #007cb9;
  position: relative;
}
.p-placeholder__arrow::before, .p-placeholder__arrow::after {
  content: "";
  width: 30px;
  height: 30px;
  border-top: 4px solid #007cb9;
  border-right: 4px solid #007cb9;
  position: absolute;
  display: block;
}
.p-placeholder__arrow::before {
  top: 0;
  -webkit-transform: translateX(-55%) rotate(-45deg);
  transform: translateX(-55%) rotate(-45deg);
}
.p-placeholder__arrow::after {
  bottom: 0;
  -webkit-transform: translateX(-55%) rotate(135deg);
  transform: translateX(-55%) rotate(135deg);
}

@media screen and (min-width: 768px) {
  .p-placeholder__arrow {
    width: 9%;
  }
}
.p-placeholder__body {
  font-size: 32px;
}

@media screen and (min-width: 768px) {
  .p-placeholder__body {
    font-size: 16px;
  }
}
.p-placeholder__sub {
  font-size: 32px;
  background-color: #007cb9;
  color: #ffffff;
  padding: 30px 0px;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-placeholder__sub {
    font-size: 16px;
  }
}
.p-placeholder__team {
  margin-bottom: 30px;
}

.p-placeholder__list {
  margin-top: 50px;
  margin-bottom: 110px;
}

.p-placeholder__flex {
  display: block;
  padding: 30px 0px;
  justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .p-placeholder__flex {
    display: flex;
  }
}

.p-placeholder__flex span {
  width: auto;
  padding: 0px 0px 30px;
}

@media screen and (min-width: 768px) {
  .p-placeholder__flex span {
    width: 55%;
    padding: 30px 0px;
  }
}

.p-placeholder__flex img {
  width: auto;
}

@media screen and (min-width: 768px) {
  .p-placeholder__flex img {
    width: 42%;
  }
}

.p-team {
  background-color: #007cb9;
  padding: 25px 35px 40px;
}

.p-team__ttl {
  font-size: 36px;
  text-align: center;
  color: #ffffff;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .p-team__ttl {
    font-size: 24px;
  }
}
.p-team__list {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-team__item {
  background-color: #ffffff;
  width: 32%;
  padding-top: 32%;
  border-radius: 10px;
  margin-right: 2%;
  margin-bottom: 2%;
  position: relative;
}
.p-team__item:nth-of-type(3n) {
  margin-right: 0%;
}

@media screen and (min-width: 768px) {
  .p-team__item {
    margin-right: 1%;
    width: 24%;
    padding-top: 24%;
  }
  .p-team__item:nth-of-type(4n) {
    margin-right: 0%;
  }
}
@media screen and (min-width: 768px) {
  .p-team__item:nth-of-type(3n) {
    margin-right: 1%;
  }
}
.p-team__img {
  position: absolute;
  width: 40%;
  top: 35%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.p-team__text {
  font-size: 26px;
  text-align: center;
  line-height: 1.2em;
  white-space: nowrap;
  font-weight: bold;
  position: absolute;
  top: 75%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-team__text {
    font-size: 16px;
  }
}
.p-solution__ttl {
  padding-top: 25px;
  padding-bottom: 10px;
  padding-left: 40px;
  padding-right: 40px;
  background: repeating-linear-gradient(135deg, #005689 0px, #005689 5px, #085b8d 6px, #085b8d 10px);
  text-align: center;
}

.p-solution__ttl-main {
  background-color: #ffc900;
  border-radius: 1000px;
  color: #005689;
  display: block;
  font-size: 46px;
  text-align: center;
  line-height: 1.65em;
  padding: 22px 0;
}

@media screen and (min-width: 768px) {
  .p-solution__ttl-main {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    font-size: 32px;
  }
}
.p-solution__ttl-main-large {
  font-size: 56px;
}

@media screen and (min-width: 768px) {
  .p-solution__ttl-main-large {
    font-size: 32px;
  }
}
.p-solution__ttl-sub {
  font-size: 46px;
  line-height: 1.6em;
  color: #ffffff;
  position: relative;
  margin-top: -20px;
  display: inline-block;
  padding-left: 2.2em;
}
.p-solution__ttl-sub::before {
  content: "";
  background-image: url(../image/ex.png);
  width: 80px;
  height: 80px;
  display: block;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .p-solution__ttl-sub {
    font-size: 28px;
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-solution__ttl-sub::before {
    width: 40px;
    height: 40px;
  }
}
.p-solution__ttl-sub-large {
  color: #ffc900;
  font-size: 56px;
}

@media screen and (min-width: 768px) {
  .p-solution__ttl-sub-large {
    font-size: 32px;
  }
}
.p-solution__inner {
  padding-top: 50px;
}

.p-solution__list {
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 18px;
  background-color: #d3edfb;
}

.p-solution__item {
  white-space: nowrap;
}

.p-solution__subttl {
  font-size: 46px;
  text-align: center;
  color: #005689;
  font-weight: bold;
  line-height: 1.6em;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-solution__subttl {
    font-size: 30px;
  }
}
.p-solution__subttl-small {
  font-size: 56px;
}

@media screen and (min-width: 768px) {
  .p-solution__subttl-small {
    font-size: 40px;
  }
}
.p-solution__pic {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -30px;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-solution__pic {
    margin-bottom: 30px;
  }
}
.p-solution__body {
  font-size: 32px;
  margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .p-solution__body {
    font-size: 16px;
  }
}
.p-what {
  padding-top: 120px;
  padding-bottom: 120px;
}

.p-column {
  padding-top: 120px;
  background-color: #d3edfb;
}

@media screen and (min-width: 768px) {
  .p-column {
    padding-top: 240px;
  }
}
.p-column__ttl {
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-column__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
  }
}
.p-column__pic {
  width: 68%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .p-column__pic {
    width: 30%;
  }
}
.p-column__body {
  margin-bottom: 138px;
  font-size: 32px;
}

@media screen and (min-width: 768px) {
  .p-column__body {
    font-size: 16px;
  }
}
.p-column__important {
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  .p-column__important {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 55px;
    padding-right: 55px;
  }
}
.p-column__sub {
  text-align: center;
  font-size: 40px;
}

@media screen and (min-width: 768px) {
  .p-column__sub {
    font-size: 20px;
  }
}
.p-column__deco {
  background-color: #ffc900;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 50vw 0 50vw;
  border-color: #d3edfb transparent transparent transparent;
}

@media screen and (min-width: 768px) {
  .p-column__deco {
    border-width: 130px 50vw 0 50vw;
  }
}
.p-procedure__inner {
  padding-top: 80px;
  padding-bottom: 146px;
}

.p-procedure__border {
  border: 8px solid #005689;
  position: relative;
}

.p-procedure__limit {
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  color: #005689;
  font-size: 36px;
  font-weight: bold;
  border-top: 8px solid #005689;
  border-left: 8px solid #005689;
  padding-left: 50px;
  padding-right: 50px;
}

@media screen and (min-width: 768px) {
  .p-procedure__limit {
    font-size: 24px;
  }
}
.p-procedure__period {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 10px;
}
.p-procedure__period.blue {
  background-color: #d3edfb;
}
.p-procedure__period.green {
  background-color: #f0f6e0;
}
.p-procedure__period.orange {
  background-color: #fdf0db;
}
.p-procedure__period.pink {
  background-color: #fbe1e2;
}
.p-procedure__period.gap {
  padding-left: 18px;
}

.p-procedure__period-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 28px;
  text-orientation: upright;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: sans-serif;
  position: relative;
  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;
  width: 64px;
  padding-left: 5px;
  padding-right: 5px;
}
.p-procedure__period-ttl.blue::after, .p-procedure__period-ttl.green::after, .p-procedure__period-ttl.pink::after, .p-procedure__period-ttl.orange::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent #d3edfb #d3edfb #d3edfb;
  border-width: 20px 32px 0 32px;
}
.p-procedure__period-ttl.blue {
  background-color: #7ecef4;
}
.p-procedure__period-ttl.blue::after {
  border-color: transparent #d3edfb #d3edfb #d3edfb;
}
.p-procedure__period-ttl.green {
  background-color: #cce198;
}
.p-procedure__period-ttl.green::after {
  border-color: transparent #f0f6e0 #f0f6e0 #f0f6e0;
}
.p-procedure__period-ttl.orange {
  background-color: #facd89;
}
.p-procedure__period-ttl.orange::after {
  border-color: transparent #fdf0db #fdf0db #fdf0db;
}
.p-procedure__period-ttl.pink {
  background-color: #f29c9f;
}
.p-procedure__period-ttl.pink::after {
  border-color: transparent #fbe1e2 #fbe1e2 #fbe1e2;
}

@media screen and (min-width: 768px) {
  .p-procedure__period-ttl.blue::after, .p-procedure__period-ttl.green::after, .p-procedure__period-ttl.pink::after, .p-procedure__period-ttl.orange::after {
    border-width: 20px 18px 0 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-procedure__period-ttl {
    font-size: 14px;
    width: 36px;
  }
}
.p-procedure__period-number {
  text-combine-upright: all;
  -webkit-text-combine: horizontal;
  /*Safari */
  -ms-text-combine-horizontal: all;
  /*IE用*/
}

.p-procedure__list {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 20px 20px 20px 30px;
  list-style-type: none;
}

.p-procedure__item {
  font-size: 34px;
  font-weight: bold;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 2.2em;
}

@media screen and (min-width: 768px) {
  .p-procedure__item {
    font-size: 16px;
  }
}
.p-procedure__item-number {
  width: 46px;
  height: 46px;
  border-radius: 1000px;
  background-color: #007cb9;
  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;
  color: #ffffff;
  font-size: 32px;
  margin-right: 10px;
}
.p-procedure__item-number.green {
  background-color: #85a634;
}
.p-procedure__item-number.transparent {
  background-color: transparent;
}
.p-procedure__item-number.orange {
  background-color: #da8200;
}
.p-procedure__item-number.pink {
  background-color: #d85256;
}

@media screen and (min-width: 768px) {
  .p-procedure__item-number {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-procedure__item-number {
    width: 23px;
    height: 23px;
  }
}
.p-point {
  background: repeating-linear-gradient(135deg, #005689 0px, #005689 5px, #085b8d 6px, #085b8d 10px);
  padding-bottom: 50px;
}

.p-point__annotation {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-point__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-point__ttl {
  margin-bottom: 20px;
  position: relative;
  background-color: #ffc900;
  color: #005689;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  border-radius: 10px;
  font-size: 46px;
}

@media screen and (min-width: 768px) {
  .p-point__ttl {
    width: 42%;
    font-size: 32px;
    margin-right: 30px;
  }
}
.p-point__ttl-text {
  display: inline-block;
  padding: 20px 6px 22px 36px;
  line-height: 1.6em;
}

.p-point__ttl-img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 28%;
}

.p-point__ttl-large {
  font-size: 66px;
  color: #ffffff;
  background-color: #005689;
  padding: 10px 20px;
  margin-right: 10px;
}

@media screen and (min-width: 768px) {
  .p-point__ttl-large {
    font-size: 40px;
    padding: 5px 10px;
    margin-right: 5px;
  }
}
.p-point__body {
  color: #ffffff;
  font-size: 34px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-point__body {
    font-size: 16px;
  }
}
.p-flow__inner {
  padding-top: 108px;
  padding-bottom: 80px;
}

.p-flow-item {
  list-style-type: none;
}

.p-flow-item__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #d3edfb;
  border-radius: 1000px;
  padding: 28px 38px;
}

@media screen and (min-width: 768px) {
  .p-flow-item__ttl {
    margin-bottom: 30px;
  }
}
.p-flow-item__ttl-number {
  width: 80px;
  height: 80px;
  border-radius: 1000px;
  background-color: #005689;
  color: #ffffff;
  font-size: 46px;
  font-weight: bold;
  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: 20px;
}

@media screen and (min-width: 768px) {
  .p-flow-item__ttl-number {
    width: 40px;
    height: 40px;
    font-size: 23px;
  }
}
.p-flow-item__ttl-text {
  font-size: 40px;
  color: #005689;
  line-height: 1.4em;
}

@media screen and (min-width: 768px) {
  .p-flow-item__ttl-text {
    font-size: 26px;
  }
}
.p-flow-item__wrapper {
  border-left: 8px solid #d3edfb;
}

@media screen and (min-width: 768px) {
  .p-flow-item__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 30px;
  }
}
.p-flow-item__body {
  padding-left: 66px;
  padding-top: 0px;
  font-size: 32px;
  margin-top: 40px;
  margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
  .p-flow-item__body {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-flow-item__body {
    padding: 30px 10px 30px 30px;
    margin: 0;
    width: 55%;
  }
}
.p-flow-item__pic {
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 26px;
}

@media screen and (min-width: 768px) {
  .p-flow-item__pic {
    padding: 0;
    margin: 0;
    width: 40%;
  }
}
.p-voice {
  background: #d3edfb;
}

.p-voice__inner {
  padding-top: 105px;
  padding-bottom: 105px;
}

.p-voice-item {
  -webkit-box-shadow: 0px 0px 12.8px 7.2px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 12.8px 7.2px rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  border-radius: 20px;
}

.p-voice-item__ttl {
  background-color: #007cb9;
  color: #ffffff;
  padding: 20px 20px;
  text-align: center;
  font-size: 40px;
  border-radius: 20px 20px 0 0;
}

@media screen and (min-width: 768px) {
  .p-voice-item__ttl {
    font-size: 30px;
  }
}
.p-voice-item__body {
  padding: 40px 35px;
}

@media screen and (min-width: 768px) {
  .p-voice-item__body {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-voice-item__detail {
  font-size: 46px;
  text-align: center;
  line-height: 1.4em;
  color: #005689;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-voice-item__detail {
    font-size: 36px;
  }
}
.p-voice-item__line {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 4px dotted #007cb9;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-voice-item__line {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-voice-item__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-voice-item__table {
  width: 100%;
  margin-bottom: 50px;
}

.p-voice-item__head {
  width: 220px;
}

.p-voice-item__record:nth-of-type(1) .p-voice-item__header {
  background-color: #ffc900;
  font-size: 36px;
}
.p-voice-item__record:nth-of-type(1) .p-voice-item__data {
  font-size: 46px;
}

@media screen and (min-width: 768px) {
  .p-voice-item__record:nth-of-type(1) .p-voice-item__header {
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-voice-item__record:nth-of-type(1) .p-voice-item__data {
    font-size: 30px;
  }
}
.p-voice-item__header {
  background-color: #d3edfb;
  font-size: 32px;
  width: 220px;
  border-top: 10px solid #ffffff;
  border-bottom: 10px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .p-voice-item__header {
    font-size: 16px;
  }
}
.p-voice-item__data {
  font-size: 36px;
  font-weight: bold;
  padding-left: 40px;
  border-top: 10px solid #ffffff;
  border-bottom: 10px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .p-voice-item__data {
    font-size: 24px;
  }
}
.p-voice-item__pic {
  max-width: 332px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}

.p-voice-item__text {
  margin-bottom: 30px;
  font-size: 28px;
}

@media screen and (min-width: 768px) {
  .p-voice-item__text {
    font-size: 16px;
  }
}
.p-faq {
  background-color: #d3edfb;
}

.p-faq__inner {
  padding-top: 70px;
  padding-bottom: 60px;
}

.p-faq__body {
  font-size: 32px;
  margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
  .p-faq__body {
    font-size: 16px;
  }
}
.p-faq__item {
  margin-bottom: 50px;
}

.p-faq-item {
  background-color: #ffffff;
  border-radius: 20px;
  padding: 0 40px;
}
.p-faq-item[open] > .p-faq-item__ttl::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.p-faq-item__ttl {
  font-size: 36px;
  font-weight: bold;
  line-height: 1.6em;
  color: #005689;
  position: relative;
  padding: 36px 0 36px 120px;
}
.p-faq-item__ttl::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 30px;
  width: 100px;
  height: 100px;
  background-color: #ffc900;
  border-radius: 1000px;
  font-size: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.p-faq-item__ttl::after {
  content: "";
  width: 15px;
  height: 15px;
  border: 0px;
  border-top: solid 4px #005689;
  border-right: solid 4px #005689;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
}

@media screen and (min-width: 768px) {
  .p-faq-item__ttl {
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-faq-item__ttl::before {
    font-size: 36px;
  }
}
@media screen and (min-width: 768px) {
  .p-faq-item__ttl::before {
    width: 60px;
    height: 60px;
  }
}
.p-faq-item__body {
  border-top: 4px dotted #005689;
  padding: 30px 0;
  font-size: 32px;
}

@media screen and (min-width: 768px) {
  .p-faq-item__body {
    font-size: 16px;
  }
}
.p-contact {
  padding-top: 55px;
  padding-bottom: 80px;
}

.p-contact__ttl {
  text-align: center;
  font-size: 44px;
  margin-bottom: 90px;
  line-height: 1.7em;
  position: relative;
  padding: 0.8rem 0 30px;
  border-bottom: 5px solid;
  color: #005689;
  font-weight: bold;
}

.p-contact__ttl--large {
  font-size: 54px;
}

.p-contact__ttl::before, .p-contact__ttl::after {
  position: absolute;
  top: 100%;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
}
.p-contact__ttl::before {
  border: 34px solid;
  border-color: transparent;
  border-top-color: #005689;
  margin-left: -34px;
}
.p-contact__ttl::after {
  border: 28px solid;
  border-color: transparent;
  border-top-color: white;
  margin-left: -28px;
}

.p-contact__subttl {
  background-color: #005689;
  color: #ffffff;
  font-size: 40px;
  padding: 10px 35px;
  margin-bottom: 15px;
}

.p-contact__table {
  width: 100%;
  margin-bottom: 60px;
}

.p-contact__header {
  width: 100%;
  display: block;
  text-align: left;
  font-size: 36px;
  padding: 36px 0 10px;
  line-height: 1.4em;
}

@media screen and (min-width: 768px) {
  .p-contact__header {
    font-size: 24px;
  }
}
.p-contact__data {
  width: 100%;
  display: block;
  border-bottom: 2px solid #005689;
  font-size: 36px;
  padding-bottom: 46px;
}

@media screen and (min-width: 768px) {
  .p-contact__data {
    font-size: 24px;
  }
}
.p-contact__required {
  display: inline-block;
  background-color: #e60012;
  color: #ffffff;
  padding: 0px 20px;
  margin-left: 30px;
  font-size: 30px;
}

@media screen and (min-width: 768px) {
  .p-contact__required {
    font-size: 15px;
  }
}
.p-contact__annotation {
  font-weight: normal;
  font-size: 28px;
}

@media screen and (min-width: 768px) {
  .p-contact__annotation {
    font-size: 22px;
    line-height: 2em;
  }
}
.p-contact__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
}

.p-contact__select, .p-contact__textarea textarea[name=p-contact__textarea], .p-contact__input {
  width: 100%;
  border: 2px solid #959595;
  border-radius: 10px;
  display: block;
  padding: 34px 30px;
  font-size: 36px;
}

@media screen and (min-width: 768px) {
  .p-contact__select, .p-contact__textarea textarea[name=p-contact__textarea], .p-contact__input {
    font-size: 24px;
  }
}
.p-contact__select::-webkit-input-placeholder, .p-contact__textarea textarea[name=p-contact__textarea]::-webkit-input-placeholder, .p-contact__input::-webkit-input-placeholder, .p-contact__select::-moz-placeholder, .p-contact__textarea textarea[name=p-contact__textarea]::-moz-placeholder, .p-contact__input::-moz-placeholder, .p-contact__select:-ms-input-placeholder, .p-contact__textarea textarea[name=p-contact__textarea]:-ms-input-placeholder, .p-contact__input:-ms-input-placeholder, .p-contact__select::-ms-input-placeholder, .p-contact__textarea textarea[name=p-contact__textarea]::-ms-input-placeholder, .p-contact__input::-ms-input-placeholder, .p-contact__select::placeholder, .p-contact__textarea textarea[name=p-contact__textarea]::placeholder, .p-contact__input::placeholder {
  font-family: "Noto Sans JP", sans-serif;
  color: #cacaca;
}

.p-contact__select:focus, .p-contact__textarea textarea[name=p-contact__textarea]:focus, .p-contact__input:focus {
  outline: 2px solid #005689;
}

.p-contact__select.address, .p-contact__textarea.address, .p-contact__input.address {
  margin-bottom: 30px;
}

.p-contact__select.address1, .p-contact__select.address2 {
  margin: 0 30px;
}

.p-contact__textarea.address1, .p-contact__textarea.address2 {
  margin: 0 30px;
}

.p-contact__input.address1, .p-contact__input.address2 {
  margin: 0 30px;
}

.p-contact__select.address1, .p-contact__textarea.address1, .p-contact__input.address1 {
  width: 20%;
}

.p-contact__select.address2, .p-contact__textarea.address2, .p-contact__input.address2 {
  width: 40%;
}

.zip1 {
  width: 20%;
  margin: 0 30px;
}

.zip2 {
  width: 40%;
  margin: 0 30px;
}

.zip1 .p-contact__input.address1, .zip2 .p-contact__input.address2 {
  width: 100%;
  margin: 0;
}

.p-contact__select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #ffffff;
}
.p-contact__select::-ms-expand {
  display: none;
}

.p-contact__select-wrapper {
  margin-bottom: 30px;
}

.p-contact__option {
  background-color: #ffffff;
  color: #262626;
}

.p-contact__submit-wrapper {
  position: relative;
}
.p-contact__submit-wrapper::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 20.8px;
  border-color: transparent transparent transparent #ffffff;
  position: absolute;
  top: 36%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-contact__submit {
  margin-bottom: 60px;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(241, 242, 248, 0.2)), color-stop(13%, rgba(121, 121, 124, 0.2)), color-stop(45%, rgba(0, 0, 0, 0.2))), -webkit-gradient(linear, left top, left bottom, from(#005689), to(#005689));
  background: linear-gradient(to bottom, rgba(241, 242, 248, 0.2) 0%, rgba(121, 121, 124, 0.2) 13%, rgba(0, 0, 0, 0.2) 45%), linear-gradient(#005689, #005689);
  border-radius: 20px;
  font-size: 40px;
  padding: 40px 20px;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  border: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}
.p-contact__submit:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .p-contact__submit {
    font-size: 32px;
  }
}
.p-contact .c-triangle span {
  position: relative;
}
.p-contact .c-triangle span::before {
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-contact__check-label .wpcf7-list-item {
  display: block;
  font-size: 36px;
  margin-bottom: 20px;
}
.p-contact__check-label span label input {
  width: 40px;
  height: 40px;
  margin-right: 1em;
  margin-top: -5px;
}

@media screen and (min-width: 768px) {
  .p-contact__check-label .wpcf7-list-item {
    font-size: 24px;
  }
}
.p-contact__body {
  font-size: 28px;
}

@media screen and (min-width: 768px) {
  .p-contact__body {
    font-size: 16px;
  }
}
.p-contact__link {
  color: #005689;
  text-decoration: underline;
}

.l-footer {
  background-color: #005689;
}

.l-footer__list {
  padding: 60px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  max-width: 450px;
}

@media screen and (min-width: 768px) {
  .l-footer__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    max-width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.l-footer__item {
  font-size: 32px;
  padding-left: 1.2em;
  display: inline-block;
  position: relative;
}
.l-footer__item::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 17.3px;
  border-color: transparent transparent transparent #fff89a;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .l-footer__item {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__item {
    padding-right: 1.2em;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__item:first-of-type::before {
    content: none;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__item::before {
    content: "";
    display: block;
    height: 100%;
    border-width: 0 0 0 2px;
    border-color: transparent transparent transparent #ffffff;
  }
}
.l-footer__link {
  color: #ffffff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-footer__link:hover {
  opacity: 0.7;
}

.l-footer__copylight {
  display: block;
  background-color: #007cb9;
  text-align: center;
  padding: 40px;
  color: #ffffff;
  font-size: 24px;
}

@media screen and (min-width: 768px) {
  .l-footer__copylight {
    font-size: 14px;
  }
}
.p-page-main {
  background-color: #007cb9;
  line-height: 1.4em;
  color: #ffffff;
  padding: 40px 40px;
  margin-bottom: 30px;
  font-size: 50px;
}

@media screen and (min-width: 768px) {
  .p-page-main {
    font-size: 36px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-main {
    text-align: center;
    padding: 75px 0;
    margin-bottom: 10px;
  }
}
.common-inner, .article-list-container, .p-page-bread, .p-page-content, .p-limit__inner, .p-feature__inner, .p-anx__inner, .p-hard__inner, .p-director__inner, .p-merit__inner, .p-solution__inner, .p-what__inner, .p-column__inner, .p-procedure__inner, .p-point__inner, .p-flow__inner, .p-voice__inner, .p-faq__inner, .p-contact__inner {
  padding-left: 40px;
  padding-right: 40px;
}

@media screen and (min-width: 768px) {
  .common-inner, .article-list-container, .p-page-bread, .p-page-content, .p-limit__inner, .p-feature__inner, .p-anx__inner, .p-hard__inner, .p-director__inner, .p-merit__inner, .p-solution__inner, .p-what__inner, .p-column__inner, .p-procedure__inner, .p-point__inner, .p-flow__inner, .p-voice__inner, .p-faq__inner, .p-contact__inner {
    max-width: 1040px !important;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.p-page-content {
  padding-bottom: 30px;
}
.p-page-content p {
  font-size: 32px;
  margin-bottom: 85px;
}
.p-page-content h2 {
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 20px 35px;
  background-color: #d3edfb;
  color: #005689;
  border-left: 6px solid #005689;
  font-size: 36px;
}
.p-page-content h3 {
  font-size: 32px;
  color: #005689;
  border-bottom: 2px solid #005689;
  margin-bottom: 30px;
}
.p-page-content h4 {
  font-size: 32px;
  color: #007cb9;
  margin-bottom: 30px;
}
.p-page-content h5 {
  font-size: 28px;
  color: #007cb9;
  margin-bottom: 30px;
}
/* .p-page-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px;
}
.p-page-content th, .p-page-content td {
  font-size: 28px;
  padding: 15px 15px;
}
.p-page-content tr:last-of-type td:last-of-type {
  border-bottom: 2px solid #005689;
}
.p-page-content th {
  background-color: #d3edfb;
  color: #005689;
  border-top: 2px solid #005689;
  font-weight: bold;
  display: block;
  text-align: left;
}
.p-page-content td {
  border-top: 2px solid #005689;
  display: block;
} */
.p-page-content ol {
  margin-bottom: 30px;
  list-style-type: decimal;
  list-style-position: inside;
}
.p-page-content ol > li {
  font-size: 32px;
}
.p-page-content ol > li::marker {
  color: #005689;
}
.p-page-content ul {
  margin-bottom: 30px;
  padding-left: 0.4em;
}
.p-page-content ul > li {
  font-size: 32px;
  position: relative;
  padding-left: 0.6em;
}
.p-page-content ul > li::before {
  border-radius: 50%;
  width: 5px;
  height: 5px;
  display: block;
  position: absolute;
  left: 0;
  top: 0.95em;
  content: "";
  background: #005689;
}
.p-page-content blockquote {
  padding: 90px 40px 40px;
  background-color: #d3edfb;
  font-size: 28px;
  position: relative;
  margin-bottom: 30px;
}
.p-page-content blockquote::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 44px;
  height: 41px;
  background-image: url(../image/blockquote.png);
  background-size: contain;
}
.p-page-content a {
  color: #007cb9;
}

@media screen and (min-width: 768px) {
  .p-page-content p {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content h2 {
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content h2 {
    padding: 10px 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content h3 {
    font-size: 16px;
  }
}
/* @media screen and (min-width: 768px) {
  .p-page-content tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content th, .p-page-content td {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content tr:not(:first-of-type) th, .p-page-content tr:not(:first-of-type) td {
    border-left: 1px solid #005689;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content tr:last-of-type td:last-of-type {
    border-bottom: 1px solid #005689;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content th {
    border-top: 1px solid #005689;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content td {
    border-top: 1px solid #005689;
  }
  .p-page-content td:last-of-type {
    border-bottom: 1px solid #005689;
  }
} */
@media screen and (min-width: 768px) {
  .p-page-content ol > li {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content ul > li {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content ul > li::before {
    top: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content blockquote::before {
    width: 20px;
    height: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-page-content blockquote {
    font-size: 14px;
    padding: 40px 45px;
  }
}
.p-page-bread {
  margin-bottom: 60px;
  list-style-type: none;
}

@media screen and (min-width: 768px) {
  .p-page-bread {
    margin-bottom: 30px;
  }
}
.p-page-bread__item {
  list-style-type: none;
  display: inline;
}
.p-page-bread__item:not(:first-of-type) {
  padding-left: 1em;
  position: relative;
}
.p-page-bread__item:not(:first-of-type)::before {
  content: "＞";
  color: #005689;
  padding-right: 0.2em;
  position: relative;
  top: -2px;
}

.p-page-bread__link {
  color: #262626;
  font-size: 24px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-page-bread__link:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .p-page-bread__link {
    font-size: 14px;
  }
}
/* 住宅ローン問題解決コラム */
.article-list-container {
  padding-bottom: 64px;
}
.article-list-container .article-list {
  width: 100%;
}

.search-result {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .article-list-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.article-list-container a {
  color: #000;
}

.search-result a {
  color: #000;
}
.search-result ul > li::before {
  width: 0;
  height: 0;
  background: none;
}

.article-list-container .article-list .info-title, .search-result .info-title {
  border-bottom: 2px solid #056ac2;
  padding-bottom: 10px;
  margin-bottom: 20px;
  line-height: 36px;
}

@media screen and (min-width: 768px) {
  .article-list-container .article-list .info-title, .search-result .info-title {
    font-size: 40px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .article-list-container .article-list .info-title, .search-result .info-title {
    font-size: 18px;
  }
}
.article-list-container .article-list ul .article-list-item, .search-result ul .article-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #82b4e0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 30px;
}

.article-list-container .article-list ul .article-list-item:first-child, .search-result ul .article-list-item:first-child {
  border-top-width: 0;
  padding-top: 0;
}

.article-list-container .article-list ul .article-list-item:not(.article-list-container .article-list ul .article-list-item:last-of-type) {
  padding-bottom: 30px;
}
.article-list-container .article-list ul .article-list-item a {
  width: 100%;
  display: inherit;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.search-result ul .article-list-item a {
  width: 100%;
  display: inherit;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.article-list-container .article-list ul .article-list-item a:hover, .search-result ul .article-list-item a:hover {
  opacity: 0.5;
}

.article-list-container .article-list ul .article-list-item .article-list-item-thum, .search-result ul .article-list-item .article-list-item-thum {
  display: block;
  margin-right: 15px;
  -ms-flex-item-align: start;
  align-self: flex-start;
  width: 120px;
}

.article-list-container .article-list ul .article-list-item article, .search-result ul .article-list-item article {
  width: 100%;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.article-list-container .article-list ul .article-list-item article .article-list-item-cats, .search-result ul .article-list-item article .article-list-item-cats {
  margin-bottom: 8px;
}

.article-list-container .article-list ul .article-list-item article .article-list-item-cats span, .search-result ul .article-list-item article .article-list-item-cats span {
  display: inline-block;
  margin-right: 10px;
  background-color: #056ac2;
  padding: 0 16px;
  font-size: 24px;
  color: #fff;
  position: relative;
  z-index: 1;
  -webkit-box-shadow: 3px 3px 0 #cde1f3;
  box-shadow: 3px 3px 0 #cde1f3;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .article-list-container .article-list ul .article-list-item article .article-list-item-cats span, .search-result ul .article-list-item article .article-list-item-cats span {
    font-size: 14px;
  }
}
.article-list-container .article-list ul .article-list-item article .article-list-item-title, .search-result ul .article-list-item article .article-list-item-title {
  font-size: 24px;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .article-list-container .article-list ul .article-list-item article .article-list-item-title, .search-result ul .article-list-item article .article-list-item-title {
    font-size: 14px;
  }
}
.article-list-container .article-list ul .article-list-item article time, .search-result ul .article-list-item article time {
  font-size: 24px;
  color: #666;
  display: block;
  text-align: right;
  margin-top: 2px;
}

@media screen and (min-width: 768px) {
  .article-list-container .article-list ul .article-list-item article time, .search-result ul .article-list-item article time {
    font-size: 14px;
  }
}
.article-list-container .article-list .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 25px;
}
.article-list-container .article-list .wp-pagenavi .pages {
  display: none;
}
.article-list-container .article-list .wp-pagenavi span:not(.extend, .pages), .article-list-container .article-list .wp-pagenavi a {
  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;
  text-align: center;
  min-width: 40px;
  height: 40px;
  background-color: #ecf3fb;
  color: #056ac2;
  margin: 0 5px;
  border-radius: 5px;
  font-weight: 700;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.article-list-container .article-list .wp-pagenavi span:not(.extend, .pages):hover, .article-list-container .article-list .wp-pagenavi a:hover {
  opacity: 0.5;
}
.article-list-container .article-list .wp-pagenavi span.extend {
  background-color: initial;
  min-width: auto;
  margin: 0;
}
.article-list-container .article-list .wp-pagenavi span.current {
  background-color: #056ac2;
  color: #fff;
}
.article-list-container .info-sidebar {
  margin-top: 50px;
  margin-left: 16px;
}
.article-list-container .info-sidebar-title {
  border-bottom: 2px solid #056ac2;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.article-list-container .info-sidebar-list {
  margin-bottom: 30px;
}
.article-list-container .info-sidebar-list-item:not(:first-of-type) {
  margin-top: 1px;
}
.article-list-container .info-sidebar-list-item a {
  position: relative;
  padding: 15px 30px 15px 15px;
  background-color: #ecf3fb;
  line-height: 20px;
  display: block;
  text-decoration: none;
  font-size: 14px;
  -webkit-transition: background-color ease-out 0.3s;
  transition: background-color ease-out 0.3s;
}
.article-list-container .info-sidebar-list-item a:hover {
  background-color: #dfdfdf;
  opacity: 1;
}
.article-list-container .info-sidebar-list-item a::before, .article-list-container .info-sidebar-list-item a::after {
  content: "";
  display: block;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
  position: absolute;
  top: 50%;
}
.article-list-container .info-sidebar-list-item a::before {
  width: 25px;
  height: 25px;
  border-radius: 100%;
  background-color: #056ac2;
  right: 22px;
}
.article-list-container .info-sidebar-list-item a::after {
  width: 10px;
  height: 10px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  right: 25px;
  -webkit-transform: translate(50%, -50%) rotate(45deg);
  transform: translate(50%, -50%) rotate(45deg);
}
.article-list-container .info-sidebar-list-item.childCat a {
  padding-left: 30px;
}
.article-list-container .info-sidebar_search div {
  display: none;
  margin-bottom: 30px;
}
.article-list-container .info-sidebar_search #form-search, .article-list-container .info-sidebar_search #searchform div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  padding-right: 0;
}
.article-list-container .info-sidebar_search #form-search input[type=text], .article-list-container .info-sidebar_search #searchform div input[type=text] {
  border: 1px solid #eee;
  padding: 7px;
  width: 100%;
  line-height: 1.8;
  border-radius: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 24px;
}
.article-list-container .info-sidebar_search #form-search .button_bgBlue, .article-list-container .info-sidebar_search #searchform div #searchsubmit {
  cursor: pointer;
  background-color: #056ac2;
  border-radius: 5px;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  padding: 12px;
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 2px solid #056ac2;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  font-weight: 700;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-size: 24px;
  margin-left: 10px;
}
.article-list-container .info-sidebar_search #form-search .button_bgBlue:hover, .article-list-container .info-sidebar_search #searchform div #searchsubmit:hover {
  background-color: #fff;
  color: #056ac2;
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .article-list-container .article-list .wp-pagenavi span:not(.extend, .pages), .article-list-container .article-list .wp-pagenavi a {
    font-size: 32px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .article-list-container .article-list .wp-pagenavi span:not(.extend, .pages), .article-list-container .article-list .wp-pagenavi a {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .article-list-container .info-sidebar {
    max-width: 200px;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .article-list-container .info-sidebar-title {
    font-size: 40px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .article-list-container .info-sidebar-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .article-list-container .info-sidebar_search div {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .article-list-container .info-sidebar_search #form-search input[type=text], .article-list-container .info-sidebar_search #searchform div input[type=text] {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .article-list-container .info-sidebar_search #form-search .button_bgBlue, .article-list-container .info-sidebar_search #searchform div #searchsubmit {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .article-list-container .info-sidebar_search #form-search .button_bgBlue, .article-list-container .info-sidebar_search #searchform div #searchsubmit {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .article-list-container .info-sidebar_search #searchform div {
    display: none;
  }
}
/* お問い合わせページは .p-contact__ttl を非表示に */
.page-id-16 .p-contact__ttl, .p-page-bread__name br {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-page-main br {
    display: none;
  }
  .p-page-content img,
  .p-page-content svg {
    width: auto;
  }
}
.p-page-content .p-cnv {
  background-color: #ffc900;
  padding-top: 46px;
  padding-bottom: 46px;
}
.p-page-content .p-cnv__inner {
  padding-left: 0;
  padding-right: 0;
  background-color: #ffffff;
  border-radius: 20px;
  padding-top: 80px;
  padding-bottom: 50px;
}
.p-page-content .p-cnv-small__text {
  margin-bottom: 0;
  font-size: 23px;
}
.p-page-content h2 {
  padding-top: 0;
  padding-bottom: 0;
  background: #d3edfa;
  color: #005688;
  border-left: 8px solid;
  padding-left: 24px;
  font-size: 34px;
}
.p-page-content h4 {
  font-size: 28px;
}
@media screen and (min-width: 768px) {
  .p-page-content h2 {
    font-size: 26px;
  }
  .p-page-content h3 {
    font-size: 22px;
  }
  .p-page-content h4 {
    font-size: 18px;
  }
}
.p-page-content h4.p-page-content-bold {
  text-align: center;
}
.p-page-content p {
  margin-bottom: 2em;
}
.p-page-content .p-cnv__inner h2 {
  padding-left: 0;
  border-left: none;
  background: none;
  color: #262626;
}
.p-page-content h3.title-num-1:before,
.p-page-content h3.title-num-2:before,
.p-page-content h3.title-num-3:before,
.p-page-content h3.title-num-4:before,
.p-page-content h3.title-num-5:before,
.p-page-content h3.title-num-6:before,
.p-page-content h3.title-num-7:before,
.p-page-content h3.title-num-8:before,
.p-page-content h3.title-num-9:before,
.p-page-content h3.title-num-10:before,
.p-page-content h3.title-num-11:before,
.p-page-content h3.title-num-12:before,
.p-page-content h3.title-num-13:before,
.p-page-content h3.title-num-14:before,
.p-page-content h3.title-num-15:before,
.p-page-content h3.title-num-16:before,
.p-page-content h3.title-num-17:before,
.p-page-content h3.title-num-18:before,
.p-page-content h3.title-num-19:before,
.p-page-content h3.title-num-20 h3.title-num-21:before,
.p-page-content h3.title-num-22:before,
.p-page-content h3.title-num-23:before,
.p-page-content h3.title-num-24:before,
.p-page-content h3.title-num-25:before {
  display: inline-block;
  padding: 8px 16px;
  color: #fff;
  background: #005689;
}
.p-page-content h3.title-num-1:before {
  content: "1";
}
.p-page-content h3.title-num-2:before {
  content: "2";
}
.p-page-content h3.title-num-3:before {
  content: "3";
}
.p-page-content h3.title-num-4:before {
  content: "4";
}
.p-page-content h3.title-num-5:before {
  content: "5";
}
.p-page-content h3.title-num-6:before {
  content: "6";
}
.p-page-content h3.title-num-7:before {
  content: "7";
}
.p-page-content h3.title-num-8:before {
  content: "8";
}
.p-page-content h3.title-num-9:before {
  content: "9";
}
.p-page-content h3.title-num-10:before {
  content: "10";
}
.p-page-content h3.title-num-11:before {
  content: "11";
}
.p-page-content h3.title-num-12:before {
  content: "12";
}
.p-page-content h3.title-num-13:before {
  content: "13";
}
.p-page-content h3.title-num-14:before {
  content: "14";
}
.p-page-content h3.title-num-15:before {
  content: "15";
}
.p-page-content h3.title-num-16:before {
  content: "16";
}
.p-page-content h3.title-num-17:before {
  content: "17";
}
.p-page-content h3.title-num-18:before {
  content: "18";
}
.p-page-content h3.title-num-19:before {
  content: "19";
}
.p-page-content h3.title-num-20:before {
  content: "20";
}
.p-page-content h3.title-num-21:before {
  content: "21";
}
.p-page-content h3.title-num-22:before {
  content: "22";
}
.p-page-content h3.title-num-23:before {
  content: "23";
}
.p-page-content h3.title-num-24:before {
  content: "24";
}
.p-page-content h3.title-num-25:before {
  content: "25";
}
.p-page-content .lkc-internal-wrap {
  margin: 32px auto 0px auto;
  position: relative;
  background-color: #f9fcff;
  padding: 24px 16px;
  border: 1px solid #136ac2;
  max-width: none;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-page-content .lkc-internal-wrap {
    max-width: 500px;
  }
}
.p-page-content .lkc-internal-wrap:before {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  padding-left: 16px;
  padding-right: 16px;
  display: inline-block;
  content: "合わせて読みたい";
  text-align: center;
  background-color: #136ac2;
  color: #fff;
  font-weight: bold;
}
.p-page-content .lkc-internal-wrap .lkc-info,
.p-page-content .lkc-internal-wrap .lkc-url {
  display: none !important;
}
.p-page-content .lkc-internal-wrap .lkc-excerpt {
  padding-top: 16px;
  font-size: 14px;
  line-height: 1.5;
}
.p-page-content .lkc-internal-wrap .lkc-more {
  text-align: right;
}
.p-page-content .lkc-internal-wrap .lkc-more .lkc-more-text {
  border-bottom: 1px solid #136ac2;
  font-size: 14px;
  color: #136ac2;
}
.p-page-content .merit-box,
.p-page-content .demerit-box {
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
  position: relative;
  padding: 8px;
  margin-top: 4em;
}
.p-page-content .merit-box::before, .p-page-content .merit-box::after,
.p-page-content .demerit-box::before,
.p-page-content .demerit-box::after {
  position: absolute;
}
.p-page-content .merit-box::before,
.p-page-content .demerit-box::before {
  content: "";
  width: calc(100% + 6px);
  top: -48px;
  left: -3px;
  height: 48px;
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
}
.p-page-content .merit-box::after,
.p-page-content .demerit-box::after {
  border-radius: 50%;
  background-color: #fff;
  top: -38px;
  left: 50%;
  width: 28px;
  height: 28px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  transform: translateX(-50%);
  line-height: 28px;
}
.p-page-content .merit-box {
  border: 3px solid #bcd8e0;
  margin-bottom: 4em;
}
.p-page-content .merit-box::before {
  background-color: #bcd8e0;
}
.p-page-content .merit-box::after {
  content: "i";
  color: #bcd8e0;
}
.p-page-content .demerit-box {
  border: 3px solid #e9bcaf;
}
.p-page-content .demerit-box::before {
  background-color: #e9bcaf;
}
.p-page-content .demerit-box::after {
  content: "!";
  color: #e9bcaf;
}
@media screen and (min-width: 768px) {
  .p-page-content .p-cnv__inner {
    max-width: 800px;
    padding: 70px 40px 30px 40px;
    line-height: 30px;
  }
  .p-page-content .p-cnv-tel__balloon h2 {
    font-size: 24px;
  }
  .p-page-content .p-page-content-table tbody {
    display: block;
  }
  .p-page-content .p-page-content-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .p-page-content .p-page-content-table tbody tr:not(:first-of-type) td {
    border-left: none;
  }
  .p-page-content .p-page-content-table tbody tr th {
    width: 20%;
    border-left: none;
  }
  .p-page-content .p-page-content-table tbody tr td {
    width: 80%;
  }
  .p-page-content .p-page-content-table tbody tr td:last-of-type {
    border-bottom: none;
  }
  .p-page-content .p-page-content-table tbody tr:last-child {
    border-bottom: 1px solid #005689;
  }
}
.p-page-content .article-box-blue {
  background-color: #cee2e8;
  padding: 1rem;
  border: solid 1px #8d9ecd;
  border-radius: 6px;
}
.p-page-content .article-box-red {
  background-color: #f4ded7;
  padding: 1rem;
  border: solid 1px #e49fa0;
  border-radius: 6px;
}
.p-page-content .article-box-yellow {
  background-color: #fffbda;
  padding: 1rem;
  border: solid 1px #ddc400;
  border-radius: 6px;
}
.p-page-content .article-box-info {
  background-color: #cee2e8;
  padding: 1rem;
  border: solid 1px #8d9ecd;
  border-radius: 6px;
}
.p-page-content .article-box-alert {
  background-color: #f4ded7;
  padding: 1rem;
  border: solid 1px #e49fa0;
  border-radius: 6px;
}
.p-page-content .article-box-alert::before {
  display: flex;
  padding: 0;
  content: "!";
  font-size: 10px;
}

.p-point .p-point__ttl-large {
  display: inline-block;
}

.js-view {
  display: inline-block;
  visibility: visible;
  opacity: 1;
}

.article-list-container .article-list ul .article-list-item .article-list-item-thum {
  width: 150px;
}

.info-sidebar_search {
  width: 100%;
}

#s {
  margin-right: 0;
}

#searchsubmit {
  padding: 10px;
  width: 30%;
}

.searchform {
  margin-bottom: 60px;
}

.p-menu {
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
}
.company-greet ul {
  display: flex;
  flex-direction: row-reverse;
}
.company-greet ul li {
  list-style-type: none;
  padding-left: 0;
}
.company-greet ul li::before {
  display: none;
}
.company-greet ul li:first-child {
  width: 40%;
  margin-left: 40px;
}
.company-greet ul li:last-child {
  width: calc(60% - 40px);
}

@media screen and (max-width: 767px) {
  .company-greet ul {
    display: block;
  }
  .company-greet ul li:first-child, .company-greet ul li:last-child {
    width: 100%;
  }
  .company-greet ul li:first-child {
    margin-left: 0;
  }

  .googlemaps {
    text-align: center;
  }
}
.p-cnv-tel__sub {
  line-height: 1.875;
}

.p-page-content .p-cnv__inner h2 {
  padding-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.875;
}
.p-page-content .p-cnv__inner .p-cnv__body {
  font-size: 14px;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-page-content .p-cnv__inner .p-cnv__body {
    font-size: 38px;
  }
}

.table-c {
  border-left: 1px solid #f0f0f0;
  margin-bottom: 3rem;
  background: white;
  width: 100%;
}
.table-c th {
  background-color: #fafafa;
  font-weight: normal;
  padding: 0.5em 1em;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
  border: 1px solid #f0f0f0;
}

@media only screen and (max-width: 767px) {
  .table-c {
    font-size: 24px;
  }
  .table-c th {
    width: 100%;
    float: none;
    display: block;
  }
}
.table-c td {
  padding: 0.5em 1em;
  text-align: left;
  border: 1px solid #f0f0f0;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .table-c td {
    width: 100%;
    float: none;
    display: block;
  }
}
/*# sourceMappingURL=style.css.map */

.person-wrap {
  background: #cdebf9;
  border-radius: 5px;
  padding: 20px;
  position: relative;
  min-height: 220px;
}

@media only screen and (max-width: 767px) {
  .person-wrap {
    padding: 30px;
  }
}

.person-wrap .group {
  width: calc(100% - 198px);
  color: #115882;
  background: #fff;
  border: 1px solid #115882;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {
  .person-wrap .group {
    width: 100%;
    padding: 10px 0;
    font-size: 20px;
    margin-bottom: 20px;
  }
  .person-wrap .person-info-box {
    display: flex;
    flex-direction: row-reverse;
  }
}

.person-wrap .person-info-box img {
  position: absolute;
  right: 20px;
  top: 20px;
}

@media only screen and (max-width: 767px) {
  .person-wrap .person-info-box img {
    position: relative;
    width: 45%;
    top: initial;
    right: inherit;
  }
}

.person-wrap .person-info-box .name-box {
  font-weight: bold;
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {
  .person-wrap .person-info-box .name-box {
    width: 55%;
    padding-left: 18px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 45px;
    line-height: 1.4;
  }
}

.person-wrap .name-box .division {
  font-size: 13px;
  display: inline-block;
  margin-right: 8px;
}

@media only screen and (max-width: 767px) {
  .person-wrap .name-box .division {
    font-size: 32px;
  }
}

.person-wrap .msg {
  width: calc(100% - 198px);
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .person-wrap .msg {
    width: 100%;
  }
}

.fukidashi-wrap {
  display: flex;
  margin: 16px 0;
}

@media only screen and (max-width: 767px) {
  .fukidashi-wrap {
    justify-content: space-between;
  }
}

.person-box {
  width: 18%;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .person-box {
    width: 25%;
    text-align: center;
  }
}

.person-box .name-box {
  line-height: 1.4;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .person-box .name-box {
    font-size: 29px;
  }
}

.person-box .name-box .division {
  display: block;
  font-size: 13px;
}

@media only screen and (max-width: 767px) {
  .person-box .name-box .division {
    font-size: 19px;
  }
}

.dialogue {
  width: 82%;
}

@media only screen and (max-width: 767px) {
  .dialogue {
    width: 72%;
  }
}

.dialogue .fukidashi {
  background: #fffad8;
  padding: 10px;
  width: 100%;
  margin-bottom: 0;
  position: relative;
  border: 2px solid #ffc63b;
  border-radius: 5px;
}

@media only screen and (max-width: 767px) {
  .dialogue .fukidashi {
    padding: 20px;
  }
}

.dialogue .fukidashi:after {
  content: "";
  background: #fffad8;
  position: absolute;
  z-index: -1;
  transform: rotate(45deg);
  border: 2px solid #ffc63b;
  top: 15px;
  width: 15px;
  height: 15px;
  left: -9px;
}

@media only screen and (max-width: 767px) {
  .dialogue .fukidashi:after {
    top: 65px;
    width: 25px;
    height: 25px;
    left: -12px;
  }
  .home .dialogue .fukidashi:after {
    z-index: 0;
    left: -14px;
  }
}

.dialogue .fukidashi:before {
  content: "";
  background: #fffad8;
  position: absolute;
  z-index: 1;
  transform: rotate(45deg);
  top: 18px;
  width: 13px;
  height: 13px;
  left: -7px;
}

@media only screen and (max-width: 767px) {
  .dialogue .fukidashi:before {
    width: 25px;
    height: 25px;
    left: -9px;
    top: 67px;
  }
}

/* homeテンプレート */
.home {
}
.home .row {
  margin: 20px 0;
}
.home .box__inner {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1040px;
}
.home .person-wrap .person-info-box img {
  width: auto;
}
@media only screen and (max-width: 767px) {
  .home .box__inner {
    max-width: none;
  }
  .home .person-wrap .person-info-box img {
    width: 45%;
  }
  .home .person-wrap .msg {
    font-size: 32px;
  }
  .home p {
    font-size: 32px;
  }
  .home .p-visual__text {
    font-size: 40px;
  }
  .home .p-cnv-small__text {
    font-size: 30px;
  }
  .home .p-cnv__body {
    font-size: 28px;
  }
  .home .p-director__body p {
    font-size: 28px;
  }
  .home .p-team__text {
    font-size: 26px;
  }
  .home .p-solution__subttl {
    font-size: 46px;
  }
  .home .p-point__body {
    font-size: 34px;
  }
  .home .p-voice-item__text {
    font-size: 28px;
  }
  .home .p-contact__annotation {
    font-size: 28px;
  }
  .home .p-contact__body {
    font-size: 28px;
  }
}
