@charset "UTF-8";
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
    font-family: ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Hiragino Sans,メイリオ,Meiryo,ＭＳ Ｐゴシック,MS PGothic,sans-serif;
    font-size: 100%;
    font-style: normal;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
}

body {
    background: #e5e7ee;
    color: #303335;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    -webkit-text-size-adjust: 100%;
    font-weight: 500;
}


ol, ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#contents{
    width: 100%;
}


/*--------------------------

メインビジュアル

---------------------------*/



#contactmain img{ 
    flex: none;
    height: auto;
    margin: 0px 0px -10px 0px;
    width: 100%;
    max-width: 100%;

}




/*--------------------------

お悩みゾーン

---------------------------*/


.onayami {
    background-color:#ccd1df ;
    text-align: center;
    padding: 110px 0px 50px;
    position: relative;
}

.onayami:before{
    position: absolute;
    content: "";
    width: 194px;
    height: 54px;
    background-color: #ccd1df;
    bottom: -53px;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}


.section_inner {
    width: 100%;
    position: relative;
    z-index: 10;
    margin: 0px auto;
}


.fushime_title {
    font-size: 35px;
    letter-spacing: 0.05em;
    font-weight: 700;
    text-align: center;
}


.onayami_imgzone {
    display: flex;
    justify-content: center;
    margin-top: 57px;
    gap: 82px;
}

figure {
    margin: 20px 0 0;
}


.onayami_txt {
    margin-top: 0px;
    background-color:#fff;
    width: 295px;
    font-size: 20px;
    line-height: 1.75;
    text-align: left;
    letter-spacing: 0.05em;
    border: none;
    padding: 25px 24px 26px 28px;
}


.onayami_txt > span {
    font-weight: 700;
    background: linear-gradient(transparent 60%, #74acdf 60%);
}

.onayami_img img{
    vertical-align: middle;
    border-style: none;
    backface-visibility: hidden;
   width: 150px;
   height: auto;
  }

  .onayami_img2 img{
    vertical-align: middle;
    border-style: none;
    backface-visibility: hidden;
   width: 133px;
   height: auto;
   margin-top: 5px;
  }


.fukidashititle {
    text-align: center;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.45;
    background-color:#0f2350;
    max-width: 900px;
    position: relative;
    letter-spacing: 0.05em;
    border-radius: 55px;
    margin: 80px auto 0px;
    padding: 22px 10px;
    color: #fff;
}

.fukidashititle::after {
    content: url(images/sakisankaku.png);
    position: absolute;
    bottom: -38px;
    left: 50%;
    transform: translateX(-50%);
}

.fukidashilead {
    font-size: 17px;
    line-height: 1.78;
    letter-spacing: 0.05em;
    max-width: 760px;
    margin: 50px auto 0px;
}

.fukidashilead > span {
    background: linear-gradient(transparent 70%, #74acdf 55%);
}


/*--------------------------

特徴ゾーン

---------------------------*/


.tokucho {
    content: "";
    text-align: center;
    padding: 110px 0px 110px;
}


.tokucholist {
    margin: 80px 0 0;
}


.tokuchoitem {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    gap: 50px;
    margin-top: 90px;
    align-items: center;
}

.tokuchosidezon {
    width: 490px;
}


.tokuchonumber {
    margin: 0;
    font-size: 50px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .05em;
    color: #6c96e4;
}


.tokuchotitle {
    margin: 0;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: .05em;
    margin-top: 10px;
}

.tokuchotext {
    font-size: 16px;
    line-height: 1.88;
    letter-spacing: .05em;
    margin-top: 20px;
    text-align: left;
    }


.tokuchoimg {
    margin: 0;
    text-align: center;
}

.tokuchoimg>img {
    width: 452px;
    height: auto;
}


.tokuchoitem-02 {
    flex-direction: row-reverse;
}


/*--------------------------

問い合わせへのアンカーリンク

---------------------------*/
.anchorsection {
    position: relative;
    margin: 0;
}

.anchorzone {
    background-color: #0f2350;
    padding: 80px 0;
}

.section_inner {
    width: 1160px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}


.anchorzonetitle {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: .05em;
    position: relative;
}

.anchorzonetitle:before,.anchorzonetitle:after {
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    position: absolute;
}


.anchorzonetitle:before {
    background-image: url(images/anchorhidari.png);
    width: 115px;
    height: 179px;
    bottom: -251px;
    left: 112px;
}


.anchorzonetitle>span {
    background: linear-gradient(transparent 67%, #74acdf 60%);
    color: #fff;
}


.anchorzonetitle:after {
    background-image: url(images/anchormigi.png);
    width: 160px;
    height: 173px;
    bottom: -246px;
    right: 76px;
}


.anchorbtn {
    max-width: 600px;
    margin: 36px auto 0;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 9px 1px rgba(88, 75, 22, .2);
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
}


.anchorbtn>a {
    min-height: 130px;
    max-width: 600px;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}

.anchortext {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #000;
    margin-left: 10px;
}

.anchortext>span {
    font-size: 26px;
}


 .anchorbtn>a {
    min-height: 130px;
    max-width: 600px;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}


.anchorbtn img {
    vertical-align: middle;
    border-style: none;
    backface-visibility: hidden;
    width: 66px;
    height: auto;
}

/*--------------------------

よくある質問
---------------------------*/

.question {
    content: "";
    text-align: center;
    padding: 110px 0px 110px;
}


.faq {
    position: relative;
    margin-top: 50px;
}

.faq-item {
  background-color: #ccd1df;
    box-shadow: 0 0 9px 1px rgba(108, 93, 27, .12);
    margin-top: 9px;
}

.faq-question {
 cursor: pointer;
    position: relative;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    gap: 28px;
    font-weight: 700;
    padding: 33px 50px 33px 90px;
    color: #000;
}

.faq-label {
 font-size: 38px;
    color: #0f2350;
    margin-top: -5px;
    line-height: 1;
}

.faq-text {
      font-size: 18px;
    letter-spacing: .05em;
    margin-top: 0;
}

.faq-question::after {
  content: "＋";
  position: absolute;
  right: 20px;
  top: 30%;
  font-size: 30px;
  color: #6c96e4;
  transition: transform 0.3s ease;
}

.faq-item.open .faq-question::after {
  content: "－";
}

.faq-answer {
  display: none;
    font-size: 16px;
  color: #000;
  line-height: 1.7;
  padding: 0px 50px 30px 90px;
}

.faq-answer-inner {
  display: flex;
  font-size: 16px;
  line-height: 1.6;
 margin-left: 10px;
  gap: 28px;
  align-items: center;
}

.faq-item.open .faq-answer {
  display: block;
}

.faq-label2 {
 font-size: 38px;
    color: #000;
    line-height: 1;
	font-weight:bold;
}

.faq-text2 {
      font-size: 16px;
    letter-spacing: .05em;
    margin-top: 0;
}

/*--------------------------

問い合わせ
---------------------------*/
.toiawase {
    max-width: 1110px;
    width: 100%;
    margin: 0 auto 90px auto;
    padding: 60px 0 40px 0;
    background: #fff;
    border: 5px solid #000;
    border-radius: 20px;
}


.toiawasetxt{
    max-width: 845px;
    width: 100%;
    margin: 60px auto 20px auto;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
}

.wpcf7{
   margin-top: 50px;
}

.shrink {
    animation-name: shrink;
}

.formtable {
    margin: 0 auto;
    border-collapse: collapse;

}

.required-mark {
     background-color: #e91e63;
    color: #fff;
    padding: 3px 8px;
    font-weight: 600;
    font-size: 14px;
    margin-left: 10px;
}

.optional-mark {
   background-color: #949494;
    color: #fff;
    padding: 3px 8px;
    font-weight: 600;
    font-size: 14px;
    margin-left: 10px;
}

.formtable th {
    font-size: 16px;
    padding-bottom: 15px;
    padding-right: 10px;
    padding-top: 14px;
    text-align: left;
    font-weight: 600;
    position: relative;
    width: 270px;
   border-top: solid 1px #ccc;
}

.icon_style {
    margin: 0 0 0 10px;
    padding: 0;
    display: inline-block;
    max-height: 18px;
    vertical-align: middle;
    position: relative;
    top: -2px;  
}

.formtable td {
    font-size: 16px;
    padding: 25px 0;
    text-align: left;
    vertical-align: middle;
  border-top: solid 1px #ccc;
}



.formtable_area_hight.formtable_area_width {
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px 8px;
    width: 562px;
    height: 180px;
    margin: 2px;
    box-shadow: 0px 0px 5px #CCC inset;
    box-sizing: border-box;
}



input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}



.formtable_text_hight {
    height: 40px;
}

.formtable_text {
    font-size: 16px;
}

.formtable_text_width {
    width:360px;
   border:1px solid #ccc;
    box-shadow: 0px 0px 5px #CCC inset;
}

.form_sousin {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 480px;
  height: 80px;
  background: linear-gradient(330deg, #e9571e 25%, #e91e63 75%);
  border: none;
  color: #fff;
  font-weight: bold;
  font-size: 19px;
  border-radius: 100vh;
  box-shadow: 3px 3px 8px -5px #777;
  cursor: pointer;
  z-index: 1;
}

.form_sousin::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;    /* 左端から */
  right: 0;
  bottom: 0;
  background-color: #e91e63;
  transform: scaleX(0);
  transform-origin: left center; /* ← ここを変更 */
  transition: transform 0.5s cubic-bezier(.165,.84,.44,1);
  z-index: 0;
}

.form_sousin:hover::before {
  transform: scaleX(1);
}

.form_sousin span {
  position: relative;
  z-index: 1;
}




.form_sousin:hover {
    opacity: 1 !important;
}




button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
}

.wpcf7 form .wpcf7-response-output {
  width:846px;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #e91e63!important;
}


/*--------------------------

フッターの上
---------------------------*/

.footernoue {
    margin: 120px 0 0;
    background: #0f2350;
}

.footernoue {
    margin-top: 0;
}

.footernoue_inner {
    width: 1100px;
    margin: 0 auto;
    padding: 134px 0;
    position: relative;
    display: flex;
    justify-content: center;
    gap: 160px;
}

.footernoue_body {
    text-align: center;
    align-self: center;
}

.footernoue_lead {
    width: fit-content;
    margin: 0 auto;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.93;
    position: relative;
    color: #fff;
}

.footernoue_body > :first-child {
    margin-top: 0;
}

.footernoue_lead > span {
    display: inline-block;
    padding: 0 10px;
    vertical-align: middle;
    letter-spacing: normal;
    background-image: linear-gradient(to bottom, transparent 60%, #74acdf 60%, #74acdf 90%, transparent 90%);
    letter-spacing: 0.05em;
}

.footernoue_txt {
    margin: 35px 0 0;
    font-size: 16px;
    line-height: 1.88;
    letter-spacing: 0.05em;
    color: #fff;
}

.footernoue_tel {
    font-size: 16px;
    text-align: center;
    letter-spacing: 0.05em;
    margin-top: 90px;
    color: #fff;
}

.footernoue_tel > a {
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    color: inherit;
	pointer-events: none;
}

.footernoue_tel > a:before {
    content: "";
    width: 35px;
    height: 357px;
    bottom: 67px;
    right: 347px;
    background-image: url(images/sumaho.png);
   background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    position: absolute;
}

.UA-pc .only-uaSp {
    display: none !important;
}


.footernoue_tel > span {
    color: #fff;
    margin-left: 20px;
}


/*--------------------------

フッター

---------------------------*/
.footer{
    background-color: #fff;
    width:100%;
    margin:0 auto;
}


.footer_inner {
    width: 1100px;
    margin: 0 auto;
    padding: 60px 30px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    gap: 0 200px;
}




.footer__logo{
    margin-left:25px;
}

.footer__logo img{
    width:100%;
    height: auto;
}



a:hover, button:hover {
        opacity: 0.6;
    }


.footer_nav {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0 40px;
    margin-right: 253px;
	margin-top: 7px;
}


#foot-link li {
    display: inline-block;
    padding: 0 10px;
    border-right: 1px solid #000;
    font-size: 13px;
    line-height: 1;
}

 #foot-link a {
    color: #000;
    text-decoration: none;
}

 #foot-link li:last-child {
    border-right: none;
}


.copyright {
  background-color: #fff;
}

.copyright_inner {
    width: 1100px;
    margin: 0 auto;
    padding: 10px 0;
}

.copyright_txt {
    text-align: center;
    font-size: 12px;
    color: #000;
}


.copyright_inner > :first-child {
    margin-top: 0;
}