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

/* =============================================
 設定
============================================= */
:root {
 --main-color: #fc3465; /* メインカラー */
 --sub-color: #384c71; /* サブカラー */
 --light-color: #ffd8e1;
 --text-color: #3d3d3d;
 --white-color: #fff;
 --font-family-en: "Lato", sans-serif;
}

/* =============================================
 フォント
============================================= */
.lato-regular {
 font-family: "Lato", sans-serif;
 font-weight: 400;
 font-style: normal;
}

/* =============================================
 swellのスタイル打ち消し
============================================= */
h2.reset {
 background: none;
 padding: 0;
 margin-bottom: 0;
 border: none;
}
h2.reset::before {
 border: none;
}

h3.reset {
 margin: 0;
 padding: 0;
}

h3.reset::before {
 content: none;
}

.w-beforeFooter {
 margin: 0 auto;
}

/* =============================================
 共通パーツ
============================================= */
.text-center {
 text-align: center;
}

.br-pc {
 display: block;
}

.br-sp {
 display: none;
}

@media screen and (max-width: 599px) {
 .br-pc {
  display: none;
 }
 .br-sp {
  display: block;
 }
}

.pc {
 display: block !important;
}

.sp {
 display: none !important;
}

@media screen and (max-width: 599px) {
 .pc {
  display: none !important;
 }

 .sp {
  display: block !important;
 }
}

.is-style-default li, .is-style-check_list li, .is-style-index li, .is-style-good_list li, .is-style-bad_list li, .is-style-num_circle li {
margin: 0 0 0.5em;
}

/* headerNav PC */
.headerNav_contactBtn a svg.__icon {
 margin-top: 8px;
}

.headerNav_contactBtn a:hover {
 opacity: 0.5;
}

@media screen and (max-width: 599px) {
 .alignfull {
  padding-left: 0;
  padding-right: 0;
 }
}

/* footer copyright */
.l-footer .copyright {
 font-family: var(--font-family-en);
 letter-spacing: 0.02em;
}

/* 投稿アイキャッチ上のラベル */
.c-postTitle__date {
 color: var(--light-color);
}

.p-postList__thumb .c-postThumb__cat {
 left: 0;
 right: unset;
}

@media screen and (max-width: 599px) {
 .p-postList__thumb .c-postThumb__cat {
  transform: none;
 }
}

/* 下層サイドバー */
.sidebarTitle {
 font-family: "Lato", sans-serif;
 font-weight: 700;
 font-style: normal;
 letter-spacing: 0.04em;
 color: var(--main-color);
}

/* =============================================
 トップページ
============================================= */
/* 共通パーツ */
h2.topCommonTitleEn {
 font-family: var(--font-family-en);
 font-weight: 400;
 font-size: 48px;
 text-align: center;
 letter-spacing: 0.1em;
}

h3.topCommonTitleJp {
 font-size: 20px;
 letter-spacing: 0.1em;
 font-weight: 500;
 text-align: center;
}

@media screen and (max-width: 599px) {
 h2.topCommonTitleEn {
  font-size: 38px;
 }

 h3.topCommonTitleJp {
  font-size: 16px;
 }
}

/* メインビジュアル
// ====================================================*/
.top #content {
 padding-top: 0;
}

.p-mainVisual__inner {
 height: 80vw;
}

.mainVisual {
 height: 80vh;
 max-height: 900px;
 position: relative;
 background-image: url(/wp/wp-content/uploads/mv-scaled.webp);

 /* ↓ Flexboxのための設定を追記 */
 display: flex;
 align-items: center; /* 子要素を垂直方向の中央に配置 */
 justify-content: center; /* 子要素を水平方向の中央に配置 */

 /* ↓ .topAboutの高さ分の余白を設定 */
 padding-bottom: 245px !important; /* ここに.topAboutの高さを指定 */
 box-sizing: border-box; /* paddingを含めて高さを計算する */
 padding-top: 0 !important;
}

.top .swell-block-fullWide.has-bg-img {
 background-position: 45% !important;
}

/* .mainVisual .swell-block-fullWide__inner {
 position: static;
 padding: 0;
 width: 90%;
 max-width: 900px;
} */

.mainVisual .mainVisualWrap {
 position: static;
 padding: 0;
 width: 90%;
 max-width: 900px;
}

.mainVisualText {
 width: 50%;
 text-align: center;
 margin-left: -80px;
}

.mainVisualText p {
 color: var(--sub-color);
 font-weight: 700;
}

.mainVisualText .subCopy {
 font-size: 18px;
 line-height: 1.8;
 letter-spacing: 0.04em;
 margin-bottom: 10px;
}

.mainVisualText .mainCopy {
 font-size: 26px;
 line-height: 1.8;
 letter-spacing: 0.08em;
 margin-bottom: 30px;
}

.mainVisualText .mainCopy rt {
 font-size: 12px;
 padding-bottom: 1px;
}

.toCheckBtn a {
 display: inline-block;
 font-weight: 700;
 color: var(--sub-color);
 border: 1px solid var(--sub-color);
 border-radius: 10px;
 background: rgba(255, 255, 255, 0.3);
 padding: 15px 30px;
}

.toCheckBtn a:hover {
 color: var(--white-color);
 border: 1px solid var(--sub-color);
 background: var(--sub-color);
 transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

@media screen and (min-width: 960px) and (max-width: 1019px) {
 .mainVisualText {
  margin-left: -40px;
 }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
 .mainVisual {
  padding-bottom: 300px !important;
 }

 .mainVisual .mainVisualWrap {
  width: 60%;
  margin-left: 0;
 }

 .mainVisualText {
  margin-left: auto;
  margin-right: auto;
  min-width: 400px;
 }

 .mainVisualText .subCopy {
  font-size: 16px;
  margin-bottom: 10px;
 }

 .mainVisualText .mainCopy {
  font-size: 24px;
  margin-bottom: 20px;
 }

 .mainVisualText .mainCopy rt {
  font-size: 10px;
  padding-bottom: 1px;
 }
}

@media screen and (max-width: 599px) {
 .mainVisual {
  background-image: none;
  display: block;
  padding-bottom: 0 !important;
  height: auto;
  max-height: none;
 }

 .mainVisual .mainVisualWrap {
  width: 100vw;
  aspect-ratio: 375 / 397;
  position: relative;
  background-image: url(/wp/wp-content/uploads/mv_sp.webp);
  background-size: cover;
 }

 .mainVisualText {
  width: 60%;
  min-width: 240px;
  margin-left: 0;
  position: absolute;
  bottom: 30px;
 }

 .mainVisualText .subCopy {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 5px;
 }

 .mainVisualText .mainCopy {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 15px;
 }

 .mainVisualText .mainCopy rt {
  font-size: 8px;
 }

 .toCheckBtn a {
  font-size: 12px;
  padding: 5px 20px;
  border-radius: 5px;
 }
}

/* about
// ====================================================*/
.topAbout {
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 padding: 60px 0 50px;
}

.topAbout::before {
 display: block;
 content: "";
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 background-color: #ffbfcee6;
 mix-blend-mode: overlay;
}

.topAbout__inner {
 width: 100%;
 max-width: 900px;
 display: flex;
 justify-content: center;
 align-items: center;
 margin: 0 auto;
 position: relative;
}

#text-5 .topAbout .topCommonTitle {
 margin-top: -10px !important;
}

.topAbout h2.topCommonTitleEn {
 color: var(--text-color);
 opacity: 0.2;
}

.topAbout__text {
 font-size: 14px;
 margin-left: 80px;
}

.topAbout__text p {
 font-size: 14px;
 line-height: 2;
 margin-bottom: 10px;
}

.topAbout__text p:last-child {
 margin-bottom: 0;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
 .topAbout {
  padding: 40px 0 30px;
 }

 .topAbout__text {
  margin-left: 40px;
 }
}

@media screen and (max-width: 599px) {
 .topAbout {
  position: static;
  background-color: #ffd8e126; /* #FFD8E1の15％ */
  padding: 30px 0 40px;
 }

 .topAbout::before {
  position: static;
  mix-blend-mode: normal;
 }

 .topAbout__inner {
  display: block;
 }

 #text-5 .topAbout .topCommonTitle {
  margin-bottom: 30px;
 }

 .topAbout__text {
  text-align: center;
  font-size: 12px;
  margin-left: 0;
 }

 .topAbout__text p {
  font-size: 12px;
  line-height: 1.8;
  margin-bottom: 15px;
 }
}

/* カテゴリーカード #text-3
// ====================================================*/
#text-3 {
 padding: 50px 0;
 margin-top: 0;
}

#text-3 h2.c-secTitle {
 display: none;
}

.categoryCard .swell-block-bannerLink {
 position: relative;
}

.categoryCard .swell-block-bannerLink::before {
 content: "";
 position: absolute;
 box-sizing: border-box;
 pointer-events: none;
 top: 5px;
 left: 5px;
 right: 5px;
 bottom: 5px;
 border: 1px solid var(--white-color);
 z-index: 2;
}

.categoryCard .c-bannerLink__title {
 font-size: 20px;
 line-height: 1.4;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
 .categoryCard {
  gap: 1em;
 }
}

@media screen and (max-width: 599px) {
 .categoryCard {
  gap: 1em;
 }

 .categoryCard .c-bannerLink__title {
  font-size: 16px;
 }
}

.categoryCard .c-bannerLink__description {
 margin-top: 0;
}

/* pick up #text-2
// ====================================================*/
#text-2 {
 margin-top: 0;
}

#text-2 .topCommonTitle {
 margin-top: -20px !important;
}

#text-2 h2.c-secTitle {
 display: none;
}

.pickup .topCommonTitle .topCommonTitleEn {
 color: var(--white-color);
}

#text-2 .p-postListWrap {
 margin-bottom: 0;
}

.pickup-more a {
 border-radius: 0;
 font-size: 14px;
}

@media screen and (min-width: 960px) and (max-width: 1019px) {
 #text-2 .p-postList.-type-card {
  justify-content: space-between;
 }

 #text-2 .-type-card .p-postList__item {
  width: 32%;
 }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
 #text-2 .p-postList {
  flex-wrap: nowrap;
 }
}

/* news #text-7
// ====================================================*/
#text-7 {
 margin-top: 40px;
}
#text-7 h2.c-secTitle {
 display: none;
}

.topNew .topCommonTitleEn {
 color: var(--light-color);
}

/* footerProfile #text-4
// ====================================================*/
#text-4 {
 margin-top: 0;
}

#text-4 .textwidget .swell-block-fullWide {
 background-image: url(/wp/wp-content/uploads/footerProfile_bg.svg);
 background-size: 34px 34px;
}

#text-4 .c-widget__title {
 display: none;
}

#text-4 .footerProfile {
 padding: 40px 0 !important;
}

.footerProfile__main {
 margin-bottom: 0;
}

.footerProfile__text {
 font-size: 14px;
 margin-bottom: 30px;
 line-height: 2;
}

.footerProfile__text h3 {
 margin-bottom: 10px;
}

.footerProfile .wp-block-buttons {
 margin-bottom: 20px;
}

.footerLogo_sns ul {
 display: flex;
 justify-content: center;
 padding-left: 0;
}

.footerLogo_sns ul li {
 list-style: none;
 margin-right: 40px;
}

.footerLogo_sns ul li:last-child {
 margin-right: 0;
}

.footerLogo_sns ul li {
 list-style: none;
}

.footerLogo_sns li a {
 display: inline-block;
}

.footerLogo_sns li a:hover {
 opacity: 0.6;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
 .footerProfile__main {
  margin-bottom: 20px;
  flex-wrap: nowrap !important;
 }

 .footerProfile .footerProfile__main .footer__icon {
  flex-basis: 30% !important;
 }
}

@media screen and (max-width: 599px) {
 .footerProfile__main {
  margin-bottom: 20px;
 }

 .footerProfile__text {
  text-align: center;
 }
}

/* footerLogo #text-6
// ====================================================*/
#text-6 {
 margin-top: 0;
}

#text-6 .c-widget__title {
 display: none;
}

.footerLogo a {
 display: inline-block;
}

.footerLogo p {
 font-size: 14px;
 margin-bottom: 30px;
}

.footerNavi ul {
 display: flex;
 justify-content: center;
 font-size: 12px;
 padding-left: 0;
}

.footerNavi li {
 list-style: none;
}

.footerNavi li::after {
 content: "｜";
 padding: 0 5px;
}

.footerNavi li:last-child::after {
 display: none;
}

.footerNavi li a {
 color: var(--text-color);
}

.footerNavi li a:hover {
 color: var(--main-color);
}

@media screen and (min-width: 600px) and (max-width: 959px) {
 .footerNavi ul {
  flex-wrap: wrap;
 }
}

@media screen and (max-width: 599px) {
 .footerNavi ul {
  flex-wrap: wrap;
 }
}

/* =============================================
 問い合わせ
============================================= */
/* contact */
.form-required {
 font-size: 12px;
 font-weight: 700;
 line-height: 10px;
 margin-left: 4px;
 padding: 4px;
 color: var(--white-color);
 background-color: var(--main-color);
}

.message-caption {
 font-size: 12px;
 line-height: 10px;
 color: var(--text-color);
}

.box {
 -moz-appearance: none;
 -webkit-appearance: none;
 appearance: none;
 background-color: transparent;
 background-image: none;
 border-radius: 0;
 color: inherit;
 font-family: inherit;
 font-size: 16px;
 width: 100%;
 margin-bottom: 30px;
}

.box label {
 display: inline-block;
 margin-bottom: 8px;
}

.box input {
 display: block;
 width: 100%;
 border: 1px solid var(--text-color);
 border-radius: 0;
 padding: 8px;
 background-color: var(--white-color);
}

.box textarea {
 width: 100%;
 border: 1px solid var(--text-color);
 border-radius: 0;
 padding: 8px;
 background-color: var(--white-color);
}

input::-webkit-input-placeholder {
 color: #d3d3d3;
}

input:-moz-placeholder {
 color: #d3d3d3;
}

input::-moz-placeholder {
 color: #d3d3d3;
}

input:-ms-input-placeholder {
 color: #d3d3d3;
}

.form__caution {
 font-size: 10px;
 margin-bottom: 40px;
}

.submit-btn {
 -webkit-appearance: none;
 cursor: pointer;
 display: inline-block;
 text-decoration: none;
 font-size: 18px;
 color: #fff;
 background-color: #54c16d;
 width: 200px;
 margin: 0 auto;
 padding: 16px 24px !important;
 border: none;
 border-radius: 4px !important;
 box-shadow: 2px 3px 6px #d3d3d3;
}

.submit-btn:hover,
.submit-btn:focus {
 outline: none;
}

.submit-btn::-moz-foucus-inner {
 border: none;
 padding: 0;
}

.end-message {
 display: none;
 font-size: 16px;
}

.false-message {
 display: none;
 font-size: 16px;
}
