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

/*.l-header .l-header__menuBtn{
	display: none !important;
}*/
.l-footer__widgetArea, .w-footer__box{
	padding-bottom: 0 !important;
}
/* 受託LPヘッダー */
#header .c-headLogo__img{
	padding: 6px 0;
}
@media (width < 960px){
	#header .c-headLogo__img{
		padding: 2px 0;
	}
}
#header .l-header__inner, #fix_header .l-fixHeader__inner{
	padding: 8px 0;
}

.c-gnav .menu-item:has(.header-cta){
	margin-left: 80px;
	background: #291c52;
	color: #fff;
	border: solid 1px #291c52;
}
.c-gnav .menu-item:has(.header-cta):hover{
	background: #fff;
	color: #291c52;
	border: solid 1px #291c52;
}
.c-gnav .menu-item:has(.header-cta) > a{
	position: relative;
	padding: 0 80px;
}
.c-gnav > li.menu-item:has(.header-cta):hover > a::after{
	content: none;
}
@media (width < 1332px){
	#header .l-header__logo{
      margin-left: 40px;
	}
}

@media (width < 960px){
	#header .l-header__logo{
      margin-left: 0;
	}
}

@media (width < 1324px){
	#header #gnav{
		margin-right: 8px;
	}
}



/* 受託LP　CTAボタン */
.cta{
	background: #291c52;
	border: solid 1px #291c52;
}
.cta:hover{
	background: #fff;
	border: solid 1px #291c52;
}
.cta > a{
	position: relative;	
	color: #fff !important;
}
.cta:hover > a{
	color: #291c52 !important;
}


/* 受託LP　CTAボタン arrow */
.cta-arrow {
  position: absolute;
  display: inline-block;
  width: 18px;
  height: 1px;
  margin: 4.8px 0;
  background-color: #fff;
  top: 6px;
  right: -65px;
  transition: right 0.6s ease;
}

.cta-arrow::before,
.cta-arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 8px;
  height: 1px;
  background-color: #fff;
  transform-origin: calc(100% - 0.5px) 50%;
}

.cta-arrow::before {
  transform: rotate(45deg);
}

.cta-arrow::after {
  transform: rotate(-45deg);
}

.c-gnav .menu-item:has(.header-cta):hover .cta-arrow, .cta:hover .cta-arrow{
	right: -70px;
}
.c-gnav .menu-item:has(.header-cta):hover .cta-arrow, .c-gnav .menu-item:has(.header-cta):hover .cta-arrow::before, .c-gnav .menu-item:has(.header-cta):hover .cta-arrow::after, .cta:hover .cta-arrow, .cta:hover .cta-arrow::before, .cta:hover .cta-arrow::after{
	background-color: #291c52;
}

/* 受託LP　フォント DIN-BLACK */
.din-black{
	font-family: "ff-din-paneuropean-cond", sans-serif;
	font-weight: 900;
	font-style: normal;
}

/* コメント欄 */
.comment-form .required{
	color: red;
}

/* コメント欄の順番入れ替え */
.comment-form{
	display:grid;
	grid-template-columns: 1fr;
	gap: 15px;
}
.comment-form-author{
	grid-area: 1 / 1 / 2 / 2;
}
.acf-comment-fields{
	grid-area: 2 / 1 / 3 / 2;
}
.comment-form-comment{
	grid-area: 3 / 1 / 4 / 2;
}
.comment-form-attachment{
	grid-area: 4 / 1 / 5 / 2;
}

/* コメント欄のフォームを一番上に */
.p-commentArea{
	display: grid;
}
#respond{
	grid-area: 1 / 1 / 2 / 2;
}


/* コメント欄の画像サイズ最大値制限 */
.p-commentArea .comment-content img{
	max-width: 120px;
}

/* 承認後コメントの星表示 */
.comment-star-rating {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 1.2em;
}

.comment-star-rating .fa {
  position: relative;
  font-family: "FontAwesome";
  font-weight: 900;
  color: #ccc;
}

.comment-star-rating .fa::before {
  content: "\f005"; /* ★ フル */
}

.comment-star-rating .fa.full::before {
	color: #fbb034;
    background: linear-gradient(315deg, #fbb034 0%, #ffdd00 74%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.comment-star-rating .fa.half::before {
  content: "\f123"; /* ☆ 半分 */
	color: #fbb034;
    background: linear-gradient(315deg, #fbb034 0%, #ffdd00 74%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.comment-star-rating .fa.empty::before {
  content: "\f006"; /* ☆ 空 */
  color: #ccc;
}

.comment-star-rating .rating-number {
  margin-left: 4px;
  font-size: 0.9em;
  color: #888;
}

/* 星評価のクリアボタン */
.btn-star-clear.clear-button{
	display: none;
}

.acf-input input{
	padding: .25em .5em !important;
    background: #fff;
	font-size: 16px !important;
	line-height: 1.75 !important;
}

/* コメント欄の全体デザイン */
.p-commentArea{
	padding: 0;
	background: #fdfdfd ;
}
.p-commentArea__title{
	margin-bottom: 1em;
}
.comment-respond p{
	margin-bottom: 0;
}
#respond{
	padding: 2em;
	margin-bottom: 60px;
    background: #f7f7f7;
    border-radius: 10px;
}
.acf-label{
	margin-bottom: 0 !important;
}
.acf-input{
	margin-top: -5px !important;
}
.acf-fields.-clear>.acf-field{
	margin: 0 !important;
}
.comment-respond #submit{
	width: 100%;
}
.comment-form-attachment__file-size-notice{
	font-size: 14px;
}
.comment-form-attachment__file-types-notice{
	margin-bottom: 25px;
	font-size: 14px;
}
label[for="siteguard_captcha"]{
	margin-top: -15px;
}
label[for="siteguard_captcha"] + br{
	display: none;
}
.c-commentList .comment{
	padding: 2em;
    background: #f7f7f7;
    border-radius: 10px;
}
.comment-review-title{
	font-weight: bold;
}
.acf-radio-list.acf-bl{
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
}
.acf-radio-list.acf-bl > li{
	width: 72px;
	height: 40px;
	padding-top: 5px;
	font-size: 30px;
}
@media (width < 768px){
	.acf-radio-list.acf-bl{
		flex-wrap: wrap;
	}
}
.comment-content p:first-child{
	display: inline;
	font-size: 20px;
}
.p-commentArea > * ,.comment-form > *{
  min-width: 0;
  min-height: 0;
}
.acf-fields.-clear>.acf-field{
	margin-top: 15px !important;
}
div.field_type-star_rating_field ul.star-rating li{
	margin-bottom: 5px !important;
}
.comment-content>*{
	margin-bottom: 5px !important;
}
.dco-image-attachment{
	margin-top: 10px;
}

/* バリデーション用　送信ボタンの非有効化 */
#submit.disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}


/* Site Reviewsデザイン */
[data-field="name"] {
	grid-area: 1 / 1 / 2 / 2;
}

.glsr[data-shortcode="site_reviews_form"], .glsr-review{
	padding: 2em;
    background: #f7f7f7;
    border-radius: 10px;
}
.glsr-input, .glsr-textarea{
	background: #fff;
}
.glsr [data-field="submit-button"] .wp-block-button{
	width: 100%;
}
.glsr [data-field="submit-button"] button.glsr-button{
	justify-content: center;
}

.glsr-review .glsr-tag-value{
	line-height: 1;
}
.glsr-review .glsr-review-content{
	padding: 1em;
	background: #fff;
    border-radius: 10px;
}
.glsr-review-author{
	font-size: 14px;
}
.glsr-hidden-text {
    line-height: 1.75;
}