@charset "UTF-8";
/* CSS Document */

:root {
     --sm-font: clamp(0.8rem, 0.3rem + 1.4vw, 1.2rem);
     --md-font: clamp(0.4rem, 0.5rem + 1.4vw, 1.3rem);
     --lg-font: clamp(1.2rem, 1.7rem + 1.7vw, 1.8rem);
}
 html {
     line-height: 1.4;
     scroll-behavior: smooth;
}
 body {
     font-size: 16px;
     font-family: 'Noto Serif JP', Georgia, 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', HGS明朝E, メイリオ, Meiryo, serif;
    /* font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Arial, sans-serif !important;
     */
     background-color: #fff;
     background-image: url(../img/bg_01.jpg);
     background-position: center top;
     background-size: cover;
     background-attachment: fixed;
     overflow-x: hidden;
     word-break: break-all;
}
 @media screen and (max-width: 768px) {
	html, body {
		width: 100%;
		overflow-x: hidden; 
	}
}
.pc-only {
	 display: block;
}
 .sp-only {
	 display: none;
}
 @media screen and (max-width: 768px) {
     .pc-only {
         display: none;
    }
	 .sp-only {
		 display: block;
	}
}
.image-inner-full-fv {
     max-width: 1100px;
     width: 100%;
}
.image-inner-full {
     max-width: 980px;
     width: 100%;
}
 .image-inner-content {
     max-width: 860px;
     width: 100%;
}
 .image-button {
     max-width: 800px;
     width: 100%;
}
 .image-center {
     margin: 0 auto;
     text-align: center;
}

.main-block {
     padding: 2% 0px;
     margin: 0 auto;
     width: 100%;
}
 .main-block-top-bottom {
     padding: 4% 0;
}
 .block-04 {
     background-color: #ffffff;
     background-image: url(../img/bg_06.jpg);
     background-position: center top;
     background-size: cover;
     background-attachment: fixed;
}
 .midashi_wrapper {
     width: 100%;
     padding: 0 0 3%;
}
 .midashi_inner {
     width: 100%;
     margin: 0;
     padding: 0;
     background-image: url(../img/midashi_bg.jpg);
     background-position: center top;
}
 .form-bg-block {
     width: 100%;
     background-image: url(../img/bg_form.webp);
     background-repeat: no-repeat;
     background-size: cover;
     background-position: center top;
}
 .form-bg-block-inner-block {
     width: 100%;
     padding: 2%;
	 margin-top: 2%;
}
 .form-bg-block-inner-block-first {
	 margin-top: 0;
}
 @media screen and (max-width: 768px) {
	 .form-bg-block-inner-block {
		 margin-top: 0;
	}
}
 .inner-block {
     max-width: 980px;
     padding: 40px 0px;
     text-align: left;
     margin: 0 auto;
     background-color: rgba(255, 255, 255, 1);
}
 .inner-block-bottom {
     padding: 40px 0 50px;
}
 .content-box {
     max-width: 860px;
     border: 6px double rgb(155, 151, 151);
     padding: 20px;
}
 .inner-nocolor {
     background-color: transparent;
}
 .inner-but {
     background-color: transparent;
     padding: 0;
}
 .inner-block > p {
     padding: 0 68px;
     margin: 0;
     font-size: 22px;
     line-height: 1.7;
}
 @media screen and (max-width: 768px) {
     .inner-block > p {
         font-size: 18px;
         
    }
}
 @media screen and (max-width: 390px) {
     .inner-block > p {
         padding: 0 3vw !important;
         
    }
}
 @media screen and (max-width: 375px) {
     .inner-block > p {
         padding: 0 2vw !important;
         
    }
}
 @media screen and (max-width: 360px) {
     .inner-block > p {
         padding: 0 !important;
         
    }
}
 .content-box > p {
     padding: 0;
}

 @media screen and (max-width: 980px) {
     .inner-block {
         padding: 10px 5px;
    }
	 .inner-block-bottom {
		 padding: 10px 5px 20px;
	}
     .content-box {
         padding: 20px;
    }
     .inner-block > p {
         padding: 0 14px;
         margin: 0;
         line-height: 1.7;
    }
     .content-box > p {
         padding: 0;
    }
     .main-block {
         padding: 10px 10px;
    }
     .black-side {
         padding: 4% 10px;
    }
}

 .no-pading-top {
     padding-top: 0;
}
 .no-pading-bottom {
     padding-bottom: 0;
}
 .block2 {
     width: 100%;
     padding: 40px 5px;
     background-color: rgb(248, 166, 255);
     background-image: url(../img/bg_block_02.jpg);
     background-position: center top;
     background-size: cover;
}
 .block3 {
     background-image: url(../img/bg_block_03.jpg);
     background-position: center top;
     background-size: cover;
}
 .block4 {
     background-image: url(../img/bg_block_04.jpg);
     background-position: center top;
     background-size: cover;
}
 .block5 {
     background-image: url(../img/bg_block_05.jpg);
     background-position: center top;
     background-size: cover;
}
 .block6 {
     background-image: url(../img/bg_block_06.jpg);
     background-position: center top;
     background-size: cover;
}
 .block7 {
     background-image: url(../img/bg_block_07.jpg);
     background-position: center top;
     background-repeat: repeat-y;
}
 @media screen and (max-width: 768px) {
     .block2 {
         padding: 20px 5px;
    }
}

 .form_block {
     max-width: 980px;
     width: 100%;
     position: relative;
     margin: 0 auto;
     padding: 0;
     font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Arial, sans-serif !important;
}
 .form_inner {
     padding: 0;
}
 .form_layout {
     padding: 0px 10px;
     width: 100%;
     max-width: 900px;
     display: block;
     margin: 0px auto 0px;
}
 .form_label {
     font-weight: bold;
     margin-top: 15px;
     margin-bottom: 3px;
}
 input[type='email'], input[type='text'], textarea {
     width: 100%;
     padding: 30px 6px;
     margin: 0 auto 14px;
     font-size: 34px;
     border: 4px solid rgb(204, 204, 204);
     border-radius: 6px;
	 text-align: center;
}
 @media screen and (max-width: 768px) {
	 input[type='email'], input[type='text'], textarea {
		 padding: 5vw 0;
		 font-size: 16px;
	}
}
 input[type='image'] {
     width: 100%;
     margin: 0 auto;
}
 @media screen and (max-width: 768px) {
     .form_block {
         padding: 0px !important;
         margin: 0 auto;
    }
     .form_inner {
         padding: 0;
    }
     .form_layout {
         padding: 4px 10px 0;
    }
     input[type='email'] {
         width: 100%;
         padding: 20px 5px;
         font-size: 14px;
    }
     .btn_img {
		width: 92vw !important;
		margin: 0 auto !important;
		margin-left: -1.7vw !important;
    }
}
 .prof-block {
     width: 100%;
     padding: 2% 5px;
     background-color: #000;
     background-image: url(../img/bg_04.jpg);
     background-size: cover;
     background-position: center top;
     background-repeat: no-repeat;
     background-attachment: fixed;
}
 .prof-inner {
     width: 100%;
     max-width: 980px;
     margin: 0 auto;
     color: white;
     padding: 30px;
     background-color: #141414;
}
 .prof-inner > p {
     padding: 0;
     margin: 0;
     font-size: 22px;
     line-height: 1.7;
}
 @media screen and (max-width: 980px) {
     .prof-inner {
         padding: 10px;
    }
     .prof-inner > p {
         padding: 0 14px;
         font-size: 18px;
         margin: 0;
         line-height: 1.7;
    }
     .prof-block {
         padding: 2% 10px;
    }
}
 .tx_01 {
     color: rgb(240, 0, 0);
     font-weight: bold;
}
 .tx_02 {
     color: rgb(240, 0, 0);
     background-color: rgb(245, 228, 0);
     font-weight: bold;
}
 .tx_03 {
     color: rgb(240, 0, 0);
     border-width: 1px;
     border-bottom: solid;
     font-weight: bold;
}
 .tx_04 {
     font-weight: bold;
}
 .tx_05 {
     background-color: rgb(245, 228, 0);
     font-weight: bold;
}
 .tx_06 {
     border-width: 1px;
     border-bottom: solid;
     font-weight: bold;
}
 .tx_07 {
     color: rgb(0, 92, 122);
     font-weight: bold;
}
 .tx_08 {
     font-size: 44px;
}
 .tx_09 {
     color: #d5a70b;
     font-weight: bold;
}
 .tx_under {
     text-decoration: underline;
}
.no-wrap{
	white-space: nowrap;
}
 .md-text {
     font-size: 30px;
     font-weight: bold;
}
 @media screen and (max-width: 768px) {
     .md-text {
         font-size: 21px;
         font-weight: bold;
    }
}
 footer {
     width: 100%;
     background-color: rgb(0, 0, 0);
     margin: 0 auto;
     padding: 20px 5px;
}
 address {
     width: 100%;
     max-width: 980px;
     color: white;
     font-size: 14px;
     text-align: center;
     margin: 0 auto;
     padding: 10px 0;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     gap: 20px;
}
 .address-link-wrapper {
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: row;
     gap: 10px;
}
 .address-link-devider {
     display: block;
}
 @media screen and (max-width: 768px) {
     address {
         font-size: 12px;
    }
     .address-link-wrapper {
         flex-direction: column;
         gap: 16px;
    }
     .address-link-devider {
         display: none;
    }
}
 address a {
     color: white;
     text-decoration: none;
     overflow-wrap: break-word;
     word-break: keep-all;
}
 address a:hover {
     color: rgb(204, 204, 204);
     text-decoration: underline;
}
 address a:visited {
     color: white;
}
 @media screen and (max-width: 768px) {
     address a {
         text-align: center;
    }
}
 .copyright {
     text-align: center;
}

 @media screen and (max-width: 786px) {
	.mt_0{
		margin-top: 0 !important;
	}
	.mb_0{
		margin-bottom: 0 !important;
	}
}
 .side_img {
     display: block;
     height: 1px;
     width: 1px;
     visibility: visible;
     margin: 0 0 0 580px;
}
 .side2 {
     margin: 0 0 0 620px;
}
 .side3 {
     margin: 0 0 0 480px;
}
 .side_img > img {
     width: 320px;
}
 @media screen and (max-width: 980px) {
     .side_img {
         display: block;
         width: 100%;
         height: auto;
         max-width: 140px;
         margin: 20px 14px;
         float: right;
    }
     .side_img > img {
         width: 100%;
         max-width: 240px;
    }
}
/*ボタンアニメーション*/
 .btn_animation {
     animation-duration: 3s;
     animation-timing-function: ease;
     animation-iteration-count: infinite;
     transform-origin: middle center;
	 animation: anime 0.5s ease 0s infinite alternate;
}
@keyframes anime {
  from {
	transform: scale(0.9,0.9);
  }
  to {
	transform: scale(1,1);
	}
}

 .voice_wrap {
     box-sizing: border-box;
     width: 100%;
     max-width: 900px;
     position: relative;
     margin: 0px auto;
}
 .voice_inner {
     background-color: #302201;
     padding: 2px;
     border-radius: 10px;
}
 .voice_01_content {
     background-image: url(../img/bg_block_09.jpg);
     background-size: cover;
     background-attachment: fixed;
}
 .voice_01_wrapper {
     background-color: #232323;
     padding: 10px;
}
 .voice_01 {
     border-radius: 5px;
     padding: 30px;
     width: 100%;
     max-width: 900px;
     display: block;
     background-color: #fff;
     border: 3px double #ccc;
}
 @media screen and (max-width: 786px) {
	 .voice_01 {
		 padding: 10px;
	}
}
 .voice_01 > p {
     padding: 0;
     margin: 0;
     font-size: 22px;
     line-height: 1.7;
}
 @media screen and (max-width: 786px) {
	 .voice_01 > p {
		 font-size: 18px;
	}
}
