@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
*/

/*------------------*
 *  共通
 *------------------*/
body {
	font-family: "M PLUS 1p","M PLUS 2",
    sans-serif;
}

.page-id-10 #content {
	padding-top: 0px;
	margin-bottom: 0px;
}
h2.section-title {
	margin-top: 18px;
}
.section-title_en {
	font-family: "M PLUS 2", sans-serif;
	margin-bottom: 0 !important;
}
.section-title_en span,
.section-title_en strong {
	font-weight: 500;
}
.m-0 {
	margin: 0 !important;
}
.weight500 span,
.weight500 strong {
	font-weight: 500;
}
.post_content .section-box-title {
	margin-bottom: -55px !important;
}
.btn-primary a {
	padding: 19px 26px;
}
.tb-show {
	display: none;
}
.sp-show {
	display: none;
}
/* SWELL余白 */
.u-mb-60 {
	margin-bottom: 10em!important;
}
/*------------------*
 *  ヘッダー
 *------------------*/
.l-header {
	box-shadow: none;
}
.l-header__logo {
	display: flex;
	flex-direction: column;
}
.l-header__logo .c-headLogo__link {
	font-weight: bold;
	font-family: "M PLUS Rounded 1c", sans-serif;
}
.l-header__logo .c-headLogo {
	margin: 0;
}
.c-catchphrase {
	order: -1;
	color: #6785BE;
}
.-series .l-header__logo .c-catchphrase {
	font-size: 12px;
}
.l-header .menu-item:hover {
	opacity: 0.8;
}
.l-header .menu-item:hover {
	opacity: 0.8;
}
.c-gnav {
    font-weight: bold;
    font-size: 1.8em;
}
.c-gnav .menu-item i:before {
	font-size: 23px;
}
.c-gnav .menu-item:last-child .ttl {
	font-size: 24px;
	font-family: "Noto Sans", sans-serif;
}
.c-gnav .menu-item:last-child i {
	margin-right: 8px;
}
@media screen and (min-width: 960px){
    .l-header__inner.l-container,
    .l-fixHeader__inner.l-container {
        max-width: 100%;
    }
}
/* 通常のナビバー色の変更 */
@media (min-width: 960px) {
.-parallel .l-header__gnav .c-gnav > li > a::after {
background-color: #fff;
}
}
/* 追従のナビバー色の変更 */
.c-gnav a::after {
background: #ffffff;
}

/*------------------*
 *  FV
 *------------------*/
#fv .wp-block-cover__inner-container {
	max-width: 1200px;
}
#fv span strong {
	text-shadow: 0 0 4px #6785BE;
}
/*------------------*
 *  ロゴのループ
 *------------------*/
#logo-carousel-free-137 {
/* 	width: 1080px; */
	top: 50%;
	left: 50%;
	transform: translate(-50%, -30%);
	width: 100%;
	padding: 0 10px;
	box-sizing: content-box;
}
/*------------------*
 *  About
 *------------------*/
#about.swell-block-fullWide {
	padding-top: 0px !important;
}
.about-text {
	max-width: 438px;
	margin: auto;
	text-align: left;
}
/*------------------*
 *  SPECIAL
 *------------------*/
#special {
	margin-top: 100px;
}
.card-title {
	font-family: "M PLUS 2", sans-serif;
}

.section-box {
  position: relative;
  border: 2px solid #6785BE;
  border-radius: 36px;
	padding: 120px 60px 60px;
}
.section-box::before,
.special-box::after {
  content: "";
  position: absolute;
  background: #fff;
}
.section-box::before {
  top: -3px;
  left: 50%;
  width: 370px;
  height: 30px;
  transform: translateY(-50%) translateX(-50%);
  border-top-left-radius: 20px;
  box-shadow: -3px -3px 0 3px #fff;
}
/* .section-box::after {
  bottom: -3px;
  right: -3px;
  width: 30px;
  height: 30px;
  border-bottom-right-radius: 20px;
  box-shadow: 3px 3px 0 3px #fff;
} */
.section-box.wp-block-columns {
	gap: 4.2em !important;
}
/*------------------*
 *  feature
 *------------------*/
#feature-title .wp-block-group__inner-container {
 display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  gap: 15px;
}
.featue-content {
	gap: 40px;
}
.featue-content .wp-block-media-text__content {
	align-self: start;
	padding: 0;
}
.feature-last {
	margin-top: 10em !important;
}
.feature-last #feature-title {
	position: relative;
}
.feature-last .feature-icon {
	position: absolute;
	top: -55px;
	left: 60px;
}
/*------------------*
 *  delivery
 *------------------*/
.delivery-image {
	position: relative;
	display: block;
	background-image: url("https://souta-shoten.com/hanpukai/wp-content/uploads/2025/07/delivery-bg-scaled-1.png");
	background-repeat: no-repeat;
}
.delivery-image::after {
  content: "";
  position: absolute;
  top: 45px;
  right: 10%;
  width: 225px;
  height: 225px;
  background-image: url("https://souta-shoten.com/hanpukai/wp-content/uploads/2025/07/delivery-img06.png");
  background-size: cover;
  background-position: center;
  border-radius: 50%;
}
.delivery-content {
	gap: 60px;
}
.post_content .delivery-border {
	border-bottom: solid 2px #6785BE;
}
/*------------------*
 *  message
 *------------------*/
.message-content {
	gap: 45px;
}
/*------------------*
 *  campaign
 *------------------*/
.campaign-box::before {
  width: 700px;
}
/*------------------*
 *  postage
 *------------------*/
.postage-image {
	position: relative;
}
.postage-image::after {
  content: "";
  position: absolute;
  top: 16%;
  right: 18%;
  width: 113px;
  height: 84px;
  background-image: url("https://souta-shoten.com/hanpukai/wp-content/uploads/2025/07/postage-icon02.png");
  background-size: cover;
  background-position: center;
  border-radius: 50%;
}
/*------------------*
 *  flow
 *------------------*/
.flow-box {
	padding: 65px 60px 15px;
}
.flow-step {
	border-radius: 50%;
}
.flow-box .wp-block-columns {
	gap: 10px !important;
}
.post_content .flow-box-title {
	margin-bottom: -23px !important;
}
.flow-box::before {
	width: 430px;
}
.wp-elements-137cc3e0dac67d55e9731a14166d59e9 span {
	font-weight: medium;
}
/*------------------*
 *  voice
 *------------------*/
.voice-textbox {
	padding: 8px;
	/*background-color: #F9FCFF;
    box-shadow:
    0px 1.07px 0.36px -0.71px rgba(0, 0, 0, 0.1),
    0px 2px 4px rgba(0, 0, 0, 0.05),
    0px 4px 8px rgba(0, 0, 0, 0.025);
	border-bottom: solid 1px #ddd;*/
}
/*------------------*
 *  faq
 *------------------*/
.swell-block-accordion__item+.swell-block-accordion__item.faq-item {
	margin-top: 16px;
}
.faq-item {
	background: #fff;
	border: solid 1px #EEEEEE;
	box-shadow: 0px 4px 0px #E6EBEF;
    padding: 25px 38px;
	border-radius: 4px;
}
.faq-item .swell-block-accordion__title,
.faq-item .swell-block-accordion__body {
	background: #fff;
	padding: 0px;
}
.faq-item .swell-block-accordion__title::before {
  content: "Q";
  display: inline-block;
  font-weight: bold;
  font-size: 24px;
  background-color: #000;
  color: #fff;  
  padding: 10px 12px;
  line-height: 24px;
  text-align: center;
  border-radius: 2px;  
  margin-right: 23px;
}
.faq-item .swell-block-accordion__body {
	padding-top: 14px;
	margin-top: 25px;
	border-top: solid 1px #ddd;
}
/*------------------*
 *  footer
 *------------------*/
.footer-content {
	padding: 45px 0;
	background-color: #D9D9D9;
}

@media screen and (max-width: 1380px) {
	.delivery-image::after {
		top: -3%;
		right: 4%;
		width: 150px;
		height: 150px;
	}
	.postage-image::after {
		display: none;
	}
}

@media screen and (max-width: 1080px) {
  #fv .wp-block-column:first-of-type {
    flex-basis: 40% !important;
  }
	.special-heading span {
		font-size: clamp(0.1px, 6vw, 26px) !important;
	}
	#feature-title .wp-block-group__inner-container {
		flex-direction: column;
	}
	.feature-last {
		margin-top: 5em!important;
	}
	.feature-last .feature-icon {
		position: static;
	}
	.feature-last .feature-icon img {
		width: 130px;
	}
	.feature-last .wp-block-spacer {
		display: none;
	}
	
	.flow-box {
		padding-right: 20px;
		padding-left: 20px;
	}
	.flow-box .wp-block-columns {
		justify-content: center;
	}
}

/* SWELL、iPad */
@media screen and (max-width: 960px) {
  .u-mb-60 {
	margin-bottom: 7em!important;
 }
	.tb-show {
		display: block;
	}
	.tb-none {
		display: none;
	}
	.order {
	order: -1;
   }
	.tb-none {
		display: none;
	}
	
	.special-box .swell-block-columns__inner {
		justify-content: center;
	}
	.special-box {
		padding-right: 30px;
		padding-left: 30px;
    }
	.special-heading span {
		font-size: clamp(0.1px, 4vw, 23px) !important;
	}
	
	#featue h3 {
		line-height: 1.2;
	}
	#featue .swell-block-column p {
		line-height: 1.8;
	}
	
	.delivery-content {
		margin-bottom: 2em;
	}
	.delivery-content .wp-block-image img {
		max-width: 250px;
	}
	#delivery h2 span {
		font-size: 23px !important;
	}
	.delivery-textbox h3,
	.delivery-textbox p  {
		text-align: center !important;
	}
	#delivery .swell-block-columns__inner {
		row-gap: 0px;
	}
	#delivery .delivery-text {
		margin-top: 1em !important;
	}
	
	#campaign h2 {
		font-size: 26px;
	}
	.campaign-box {
		padding-right: 30px;
		padding-left: 30px;
	}
	.campaign-box::before {
		width: 70%;
	}
	
	#postage h2 span {
		font-size: 30px !important;
	}
}

/* WPブロック、iPad */
@media screen and (max-width: 781px) {
}

/* スマホ */
@media screen and (max-width: 600px) {
	.section-title02 span,
	.section-title02 strong {
		font-size: clamp(0.1px, 6vw, 34px) !important;
	}
   .section-title_en span,
   .section-title_en strong {
		font-size: clamp(0.1px, 5vw, 24px) !important;
   }
	.about-heading span {
		font-size: clamp(0.1px, 5vw, 26px) !important;
	}
	.sp-none {
	display: none;
   }
	.u-mb-60 {
		margin-bottom: 5em!important;
	}
	.swl-fz16 {
		font-size: clamp(14px, 3vw, 16px) !important;
	}
	.sp-show {
		display: block;
	}
	
	
	 #fv .has-large-font-size {
		font-size: clamp(0.1px, 6vw, 30px) !important;
	}
	
   .section-box {
		border-radius: 20px;
	}
	
	.special-number span strong {
		font-size: clamp(0.1px, 7vw, 34px) !important;
	}
	.special-heading span {
		font-size: clamp(0.1px, 5vw, 26px) !important;
	}
	.post_content .special .section-box-title {
		margin-bottom: -45px !important;
	}
	.special-box {
		padding-top: 60px;
	}
	.special-box::before {
		width: 70%;
	}
	
	#featue h3 span {
		font-size: clamp(0.1px, 5vw, 26px) !important;
	}
	
	.delivery-image::after {
		display: none;
	}
	.delivery-textbox h3 span:first-child {
		font-size: clamp(0.1px, 14vw, 96px) !important;
	}
	.delivery-textbox h3 span:last-child {
		font-size: clamp(0.1px, 6vw, 32px) !important;
	}
	.delivery-textbox p  {
		text-align: left !important;
	}
	.delivery-textbox p span {
		font-size: clamp(0.1px, 4vw, 18px) !important;
	}
	
	.cta-button h4 span {
	  font-size: clamp(0.1px, 5vw, 24px) !important;
	}
	.btn-primary a {
	   font-size: clamp(14px, 4vw, 16px) !important;
	}
	
	.message-heading span {
	  font-size: clamp(0.1px, 5vw, 28px) !important;
	}
	.message-textbox p,
	.message-textbox p span {
		font-size: 14px !important;
	}
	 #message .message-name span {
		font-size: 18px !important;
	}
	
	#campaign h2 span {
		font-size: clamp(0.1px, 6vw, 26px) !important;
	}
	.campaign-box {
		padding-top: 90px;
	}
	.campaign-text span {
		font-size: clamp(0.1px, 5vw, 26px) !important;
	}
	.campaign-box::before {
		width: 90%;
	}
	
	#postage h2 span {
		font-size: clamp(0.1px, 5vw, 28px) !important;
	}
	.postage-heading span strong {
		font-size: clamp(0.1px, 5vw, 24px) !important;
	}
	
	.faq-item {
		padding: 15px 10px;
	}
	.faq-item .swell-block-accordion__title::before {
		margin-right: 10px;
		padding: 5px 8px;
		font-size: 14px;
	}
}
/* 追加分　*/
@media(min-width: 768px){
	a[href^="tel:"]{
	  pointer-events: none;
	}
  }
  
.slider-logo{
    max-width: 920px;
    margin: 0 auto;
}

.slider-logo .swell-block-columns__inner{
line-height: 0; 
}

.slider-voice .slick-track {
	display: inline-block;
}

.slider-voice .slick-slide {
	height: auto !important;
	background-color: #F9FCFF;
    box-shadow:
    0px 1.07px 0.36px -0.71px rgba(0, 0, 0, 0.1),
    0px 2px 4px rgba(0, 0, 0, 0.05),
    0px 4px 8px rgba(0, 0, 0, 0.025);
	border-bottom: solid 1px #ddd;
}

.slider-voice .slick-dots{
	bottom: -35px;
	}

 .voice-textbox .more-text {
		line-height: 1.5;
		margin-bottom: 0.5em;
	  }

	  .voice-textbox .more-btn {
		color: #6785be;
		font-size: 12px;
	  }

	  .voice-textbox2 .more-btn {
		display: none;             
	  }

	  .voice-textbox2 .more-btn.open {
		display: block;             
	  }

	  .voice-textbox2 .more-text {
		display: -webkit-box;             
		-webkit-box-orient: vertical;      /* 垂直方向に配置 */
		overflow: hidden;                  /* 溢れた部分を隠す */
		text-overflow: ellipsis;           /* 「...」を表示 */
		-webkit-line-clamp: 4;             /* 最大行数 */
		line-height: 1.5;
	  }

	  .voice-textbox2 .more-text.open {
		display: block;             
		overflow: visible; 
		text-overflow: inherit; 
		-webkit-line-clamp: inherit;
	  }

@media not all and (min-width: 960px) {

    .slider-logo{
        max-width: 95%;
        margin-left: 5%;
    }

    .c-headLogo {
        height: 40px;
    }

    .l-header__inner .c-catchphrase {
        display: block;
        margin-top: 1em;
    }

    .btn-sp, .sns-sp{
    text-align: center;
}

    .btn-sp a{
        background: #6785be;
    border-radius: 80px;
    display: inline-block;
    line-height: 1.5;
    margin: 1.75em 0 1em;
    padding: .75em 2em;
    min-width: 40%;
    position: relative;
    text-decoration: none;
    width: auto;
    color: #fff;
    font-weight: 700;
    transition: box-shadow .25s;
    box-shadow: 0 2px 2px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.2);
    border: none;
}

.btn-sp a::before, .sns-sp a::before{
 content: none;
}

.sns-sp a{
display: inline-block;
line-height: 1.5;
margin: .75em 0;
padding: 0;
border: none;
}

.sns-sp i{
    font-size: 24px;
    }

	/* お申し込みボタン スマホ用ヘッダー */
	/*.l-header__customBtn{
		width: 90px;
		height: 38px;
		border-radius: 50px;
		box-shadow: 0 2px 2px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.2);
	}

	.l-header__customBtn:hover{
		box-shadow: 0 4px 12px rgba(0, 0, 0, .1), 0 12px 24px -12px rgba(0, 0, 0, .2);
	}

	.l-header__customBtn i{
		display: none;
	}

	.c-iconBtn__label {
		font-size: 12px;
		font-weight: 500;
	}*/

	/* お申し込みフッターボタン スマホ用 */
	.order-btn{
		position: fixed;
		bottom: 5px;
        right: 5px;
		z-index: 1;
	}

	.order-btn a:hover, .order-btn a:hover img{
		opacity: 1;
	}

}

@media screen and (max-width: 600px) {
	#voice.section-title02 span, #voice.section-title02 strong {
	font-size: 20px !important;
}

}