@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ヘッダー */

.w-header.pc_ {

    position: absolute;
    z-index: 100;
    left: 0;
	margin-left: 0!important;
}

.fix-header-pc {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transform: translateY(-200%); /* 初期状態は画面外に配置 */
    transition: transform 0.5s ease-in-out; /* スムーズにアニメーション */
    z-index: 9999; /* 他の要素の上に表示するための設定 */
}

.fix-header-pc.visible {
    transform: translateY(0); /* visibleクラスが付いたらスライドイン */
}

@media(max-width: 800px) {
	.fix-header-pc {
		display: none;
	}
}


.l-header__inner.l-container {
	margin-left: 0!important;
}

.header-img {
position: absolute;
    width: 22%;
    left: 50%;
    top: -66%;
    transform: translateX(-50%);
}
.header-img-ex {
position: absolute;
width: 20%;
left: 0px;
top: -72%;
transform: translateX(-26%);
}

.flex-header, .fix-header-pc {
	padding: 0.5em 0!important;
}

.shrink {
	letter-spacing: -1px;
}

.l-fixHeader__inner.l-container {
	margin-left: 0;
}

.btn-gra a{
background: linear-gradient(to right, #1A2F6E, #C28EBE)!important;
}

.flex-1 {
	flex: 0.8;
}
.flex-2 {
	flex: 1.5;
}
.flex-4 {
	flex: 1.3;
}
.flex-5 {
	flex: 1;
}

@media(max-width: 1333px) {
	.shrink, .shrink-ex2 {
		letter-spacing: 0.5px!important;
	}
	.shrink-ex2 {
		font-size: 1em!important;
	}
	.header-img {
		top: -34%;
	}
}
@media(max-width: 1233px) {
	.shrink, .shrink-ex2 {
		letter-spacing: 0px!important;
	}
	.shrink{
		font-size: 0.7em!important;
	}
	.shrink-ex2 {
		font-size: 1em!important;
	}
	
}

@media(max-width: 1208px) {
	.shrink, .shrink-ex2 {
		letter-spacing: -1px!important;
	}
	.shrink{
		font-size: 0.5em!important;
	}
	.shrink-ex2 {
		font-size: 0.8em!important;
	}
	.header-img {
		top: -15%;
	}
}
@media(max-width: 1108px) {
	.flex-4 {
		flex: 1.6
	}
	.flex-2 {
		flex: 1.6;
	}
	.header-img {
		top: 0%;
	}
	.btn-gra {
		font-size: 0.8em;
	}
}

/* 
.flex_1 {
	flex: 2;
}
.flex_2 {
	flex: 2;
}
.flex_3 {
	flex: 2;
}
.flex_4 {
	flex: 2;
}
.flex_5 {
	flex: 1.2;
}
.flex_6 {
	flex: 2.5;
}
.flex_7 {
	flex: 1.8;
} */
/* 
.fix-header-pc .swell-block-columns {
    --swl-clmn-mrgn--x: 0.5rem!important;
}
 */
.rich-column-ex {
	margin-bottom: 0;
}

.rich-column-ex p {
	letter-spacing: 0.5px;
}




/* スマホヘッダー */

#header {
	z-index: 999;
}

.sp-headerimg {
	position: fixed;
    top: -6%;
    left: 50%;
    transform: translatex(-50%);
    width: 50%;
    z-index: 999;
}

@media screen and (min-width: 440px) and (max-width: 689px) {
	.sp-headerimg {
    top: -7%;
    width: 34%;
	}
}

@media screen and (min-width: 690px) and (max-width: 768px) {
    .sp-headerimg {
    top: -6%;
    width: 28%;
    }
}
@media screen and (min-width: 769px) and (max-width: 959px) {
    .sp-headerimg {
    top: -6%;
    width: 24%;
    }
}

@media(max-width: 959.8px) {
.l-header__logo {
	display: none;
}
}

/* お問い合わせ */


.flex-box {
display: flex;
justify-content: space-between;
}

.flex-box-line {
display: flex;
justify-content: space-between;
align-items: center;
}

.flex-item {
 flex-basis: 46%;
}

.flex-botan {
	display: flex;
	align-items: center;
	gap: 0.5em;
}

.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.Form-Item {
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
}


.Form-Item-Label {
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-size: 16px;
}

.Form-Item-Label-Required {
  border-radius: 14px;
  margin-left: 12px;
  padding: 3px 10px; 
  text-align: center;
  background: #ff574b;
  color: #fff;
  font-size: 10px;
  font-weight: 500;
}
.Form-Item-Label-NO-Required {
  border-radius: 14px;
  margin-left: 12px;
  padding: 3px 10px; 
  text-align: center;
  background: #a7a7a7;
  color: #fff;
  font-size: 10px;
  font-weight: 500;
}

.Form-Item-Input, .Form-Item-Select {
  border: 1px solid #C28EBE;
  border-radius: 6px;
  padding-left: 0.5em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  background: #ffffff;
  font-size: 16px;
  margin-top: 10px;
}

.Form-Item-Textarea {
  border: 1px solid #C28EBE;
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  background: #ffffff;
  font-size: 16px;
  margin-top: 10px;
}

.Form-Btn {
  border-radius: 40px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 240px;
  display: block;
  letter-spacing: 0.05em;
  background: #fff;
  color: #1A2F6E;
  font-weight: bold;
  font-size: 20px;
  color: #1A2F6E;
  color: #1A2F6E;
  border: 1px solid #1A2F6E;
}

.line-botan {
  border-radius: 40px;
  padding-top: 15px;
  padding-bottom: 15px;
	margin-right: 3vw;
	margin-left: auto;
  width: 240px;
  display: block;
  letter-spacing: 0.05em;
  background: #06c152;
  color: #fff;
  font-weight: normal;
  font-size: 16px;
  border: none;
}


.Form-normal {
	width: 46%;
}
.Form-wide {
	width: 100%;
}
.Form-shrink {
	width: 35%;
}

.Form-Last-Item {
	margin-top: 30px;
	border-top: 1px solid #a7a7a7;
}

.Form-midasi {
	font-weight: bold;
	font-size: 22px;
	margin-bottom: 10px;
}

.Form-explanation {
	font-weight: 400;
	font-size: 15px;
	margin-bottom: 17px;
}

.Form-Item-Sub {
	font-weight: 400;
	font-size: 13px;
}


.sonota1-field, .sonota2-field, .sonota3-field, .sonota4-field, .line-flex, .Form-NO-Vision {
	display: none;
}

.Form-privacy {
	cursor: pointer;
	 color: #0000EE;
 text-decoration: underline;
}

/* .Form-btn::after {
  content: ">";
  font-size: 18px;
  margin-left: 10px;
  color: #000080; /* ネイビー色 */
} */



@media screen and (max-width: 750px) {
   .flex-box {
    flex-direction: column;
	gap: 1em;
   }
	 .flex-box-line {
    flex-direction: column;
	gap: 1.5em;
    align-items: initial;
   }
	.line-botan {
	margin-right: auto;
	margin-left: 0;
}
	.Form-Item {
  padding-top: 0;
  }
	.Form-normal, .Form-shrink {
		width: 100%;
	}
	.flex-botan-pc {
		display: none;
	}
	.flex-botan-sp {
		display: flex;
		flex-direction: column;
	}
	.Form-Item-Sub {
		font-size: 11px;
	}
	.Form-Last-Item {
		padding-top: 30px;
	}
	.Form-sousin {
		margin-top: 20px;
	}
	.Form-check {
		letter-spacing: 0.5px;
	}
}



@media screen and (min-width: 751px) {
.flex-botan-sp {
		display: none;
	}
}
/* よくある質問 */


.accordion-container {
  margin: 50px auto 0;
  max-width: 1200px;
}

.accordion-list:not(:first-child) {
  margin-top: 1em;
}

.accordion-q {
  color: #1A2F6E;
  font-size: 1.2em;
}
.accordion-a {
	color:#9F3697;
	font-size: 1.2em;
	font-weight: bold;
}

.accordion-title {
  background: #fff;
  cursor: pointer;
  min-height: 5rem;
  font-size: 1.1em;
  padding: 20px 50px 20px 30px;
  position: relative;
  display: flex;
  align-items: baseline;
  column-gap: 1em;
  font-weight: bold;
}

.accordion-title:before {
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  height: 2px;
  width: 15px;
  background: var(--accordion-title-before-background, #9F3697);
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}
.accordion-title:after {
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  height: 2px;
  width: 15px;
  background: var(--accordion-title-after-background, #9F3697);
  transition: all .3s ease-in-out;
}

.accordion-title.open:before {
  transform: rotate(180deg);
}
.accordion-title.open:after {
  opacity: 0;
}

.accordion-text {
  background: white;
  color: #333;
  font-size: 1.1em;
  min-height: 5rem;
  display: none;
  padding: 0px 40px 20px 30px;
}

.flex-a {
	display: flex;
	column-gap: 1em;
	align-items: baseline;
	padding-top: 20px;
	position: relative;
}

.flex-a::after {
  position: absolute; /* positionをabsoluteに指定 */
  content: "";
  background-image: repeating-linear-gradient(
    to right,
    #C28EBE,
    #C28EBE 3px, /* ダッシュの長さを5pxに設定 */
    transparent 3px, /* ダッシュの間隔を5pxに設定 */
    transparent 6px
  );
  width: 100%; /* 線の幅 */
  height: 1px; /* 線の太さ */
  top: 0px; /* 線のタテ位置 */
  left: 50%;  /* 線のヨコ位置 */
  transform: translateX(-50%); /* 線のヨコ位置調整 */
}

.accordion-text p {
	font-size: 0.9em;
}

@media(max-width: 600px) {
  .accordion-title {
    min-height: 4rem;
    font-size: 0.9em;
padding: 20px 50px 20px 15px;
  }
  .accordion-text {
    min-height: 4rem;
    font-size: 0.9em;
padding: 20px 15px 20px 15px;
  }
  .accordion-q {
    font-size: 1.05em;
  }
  .accordion-text {
    font-size: 0.9em;
    min-height: 4rem;
  }  
}
.flex_7{
    right: 5%;
    position: absolute;
}

