/*
 * 丸山工務店 カスタムCSS
 * 旧：TCDテーマオプション「カスタムCSS」欄（全ページの<head>に直書き）
 * functions.php の maruyama_custom_css 系の処理で、旧カスタムCSSと同じ位置に読み込みます。
 * ※このファイルを編集すると、更新日時で自動的にキャッシュが切り替わります。
 */

@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

body,
a {
color: #505050;
}

header .l-inner {
width: 100%;
max-width: 100%;
}

h2.flt {
font-size: 60px;
font-family: "din-2014", sans-serif;
font-weight: 400;
font-style: normal;
text-align: center;
margin-bottom: 15px;
color: #000;
line-height: 1 !important;
}

h2.flt-blue::first-letter {
color: #2f639d;
}

h2.flt-black::first-letter {
color: #011c3a;
}

h2.flt-yellow::first-letter {
color: #c9a334;
}

.l-inner {
max-width: 1280px;
}

.c-logo {
margin-left: 48px;
}

.p-btn {
min-width: 280px;
height: 60px;
font-size: 18px;
line-height: 60px;
}

.p-btn::after {
content: url(/files/arrow_white.webp);
vertical-align: middle;
margin-left: 25px;
}

.p-menu-btn {
color: #fff;
background-color: #2f639d;
}

.p-header-slider__item-img {
padding-bottom: 71.695%;
}

.subttl {
font-size: 16px;
text-align: center;
margin-bottom: 30px;
color: #222;
line-height: 1 !important;
}

.home .slick-slider .slick-list,
.home .slick-slider .slick-track {
padding-bottom: 10px;
}

.home .slick-next,
.home .slick-prev {
font-size: 0;
line-height: 0;
top: 40%;
width: 20px;
height: 20px;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
cursor: pointer;
border: none;
}

.home .slick-prev {
left: -20px !important;
}

.home .slick-next {
right: 20px !important;
}

.home .slick-prev::before {
content: "\e90f";
}

.home .slick-next:before,
.home .slick-prev:before {
font-size: 60px;
line-height: 1;
color: #cccccc7d;
}

.home .slick-next::before {
content: "\e910";
}

.br480 {
display: none;
}

#side-btn {
display: block;
position: fixed;
right: 0;
top: 100px;
z-index: 100;
}

#side-btn a {
display: block;
width: 60px;
height: 87px;
margin-bottom: 5px;
}

.p-page-header_desc {
-moz-osx-font-smoothing: grayscale;
z-index: 1;
width: 100%;
margin-bottom: 0;
line-height: 1.3;
text-align: center;
padding-left: auto;
padding-right: auto;
color: #4f5150 !important;
padding-top: 0;
font-size: 24px !important;
}

#js-page-header_desc .t-container {
font-weight: 700;
color: #111;
background-color: rgb(255 255 255 / 50%);
width: 330px;
display: inline-block;
padding: 15px 0;
background-repeat: no-repeat;
}

#js-page-header_desc .t-container span.fadein-act {
display: block;
animation: fadein-act 0.85s cubic-bezier(0.2, 1, 0.2, 1);
}

@keyframes fadein-act {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}

.p-page-header__inner {
width: fit-content !important;
}

.cursive {
width: fit-content;
position: absolute;
top: -15px;
left: -30px;
text-transform: capitalize;
font-size: 42px;
color: #fff;
font-family: "Zapfino", "Brush Script MT", "Snell Roundhand", "Monotype Corsiva";
font-style: italic;
text-shadow: 1px 2px 3px gray;
}

@media screen and (max-width: 767px) {
.cursive {
left: 0;
font-size: 30px;
}
}

.fade01 {
opacity: 0;
-webkit-transform: translate(0, 60px);
-webkit-transition: 1s;
-moz-transform: translate(0, 60px);
-moz-transition: 1s;
-ms-transform: translate(0, 60px);
-ms-transition: 1s;
-o-transform: translate(0, 60px);
-o-transition: 1s;
transform: translate(0, 60px);
transition: 1s;
}

.fade02 {
opacity: 1;
-webkit-transform: translate(0, 0);
-moz-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}

@media screen and (max-width: 767px) {
#side-btn {
display: none;
}
.p-cb__item,
.p-cb__item:last-child {
margin-bottom: 0;
}
}

#gnav-sns {
display: flex;
justify-content: space-evenly;
}

#gnav-sns li {
margin-right: 8px;
}

#gnav-sns a.head-right-fb::before {
content: url(/files/head_right_fb.webp);
}

#gnav-sns a.head-right-line::before {
content: url(/files/head_right_line.webp);
}

#gnav-sns a.head-right-insta::before {
content: url(/files/head_right_insta.webp);
}

#gnav-sns a.head-right-blog::before {
content: url(/files/head_right_blog.webp);
}

#gnav-sns-sp {
display: none;
}

#gnav-sns-sp a.head-sp {
width: 40px;
height: 40px;
display: block;
text-align: center;
border: 0;
background: 0 0;
line-height: 35px;
padding-right: 7px;
}

.nav-bnr {
display: none;
}

@media screen and (max-width: 1800px) {
.p-global-nav > ul > li > a {
padding-right: 12px;
padding-left: 12px;
}
}

@media screen and (max-width: 1600px) {
#gnav-sns a.head-right-fb::before {
content: '';
display: inline-block;
width: 36px;
height: 36px;
background-image: url(/files/icon_fb_topright.webp);
background-size: contain;
background-repeat: no-repeat;
}
#gnav-sns a.head-right-insta::before {
content: '';
display: inline-block;
width: 36px;
height: 36px;
background-image: url(/files/icon_instagram_topright.webp);
background-size: contain;
background-repeat: no-repeat;
}
#gnav-sns a.head-right-blog::before {
content: '';
display: inline-block;
width: 36px;
height: 36px;
background-image: url(/files/icon_blog_topright.webp);
background-size: contain;
background-repeat: no-repeat;
}
}

@media screen and (max-width: 1365px) {
.p-global-nav {
font-size: 10px;
}
}

@media screen and (max-width: 1199px) {
#gnav-sns {
display: none;
}
#gnav-sns-sp {
display: flex;
justify-content: space-evenly;
top: 10px;
right: 64px;
position: absolute;
}
.l-header__logo {
padding-left: 0;
}
.nav-bnr {
display: flex;
justify-content: space-evenly;
height: auto;
padding: 5% 0;
background-image: url(/files/sp_bg.jpg);
background-size: cover;
}
.nav-bnr a {
width: 44%;
max-width: 165px;
display: block;
}
.nav-bnr a img {
width: 100%;
}
}

@media screen and (max-width: 767px) {
.c-logo {
margin-left: 0;
}
.l-inner {
padding: 0 5px;
}
}

@media screen and (max-width: 480px) {
.br480 {
display: block;
}
}

#headwrap {
display: flex;
width: 100%;
height: fit-content;
flex-direction: row-reverse;
}

#slidewrap {
width: 61.459%;
position: relative;
}

#top-event-bnr {
position: absolute;
right: 10px;
top: 33vw;
display: none;
}

#top-event-bnr span {
color: #fff;
font-weight: 700;
font-size: 14px;
}

#top-event-bnr a {
display: flex;
width: 340px;
height: 100px;
background-color: #fff;
border-radius: 5px;
box-sizing: border-box;
justify-content: space-between;
}

#top-event-bnr #top-event-ttl {
color: #000;
line-height: 1.25;
padding: 10px 0 10px 15px;
font-weight: 400;
}

#top-event-bnr #top-event-img {
min-width: 100px;
height: 100px;
opacity: 1;
position: relative;
}

#top-event-bnr #top-event-cat {
color: #fff;
position: absolute;
border: 2px solid #fff;
padding: 5px;
border-radius: 3px;
font-size: 14px;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
background-color: rgb(0 0 0 / 46%);
}

#news-bnr {
position: absolute;
right: 10px;
top: 39vw;
}

#news-bnr span {
color: #fff;
font-weight: 700;
position: absolute;
}

#news-bnr span .gt {
position: relative;
top: -2px;
}

#news-bnr a {
display: block;
width: 540px;
height: 50px;
background-color: #fff;
border-radius: 5px;
padding: 20px;
box-sizing: border-box;
color: #000;
}

#catchphrase {
width: 34.892%;
background: center/contain no-repeat url(/files/top_bg_text.webp);
background-position: 0 40%;
margin: 0 1.995vw 0 1.49625vw;
}

#catchphrase div.cph2-wrap {
margin: 11vw 0 4vw;
height: 242px;
display: block;
}

#catchphrase div.cph2-wrap h2 {
font-size: 2.6vw;
line-height: 1.5;
margin: 0;
}

#catchphrase p {
font-size: 1.25vw;
line-height: 2;
}

#catchphrase .top_bg_img {
display: flex;
justify-content: space-around;
position: relative;
}

#catchphrase .top_bg_img div {
position: relative;
z-index: 100;
}

#catchphrase .top_bg_img .top_bg_img01 {
top: 30px;
}

#catchphrase .top_bg_img .top_bg_img02 {
top: 90px;
}

#js-index-content01__link {
display: none;
}

.p-index-content01 {
height: 260px;
padding: 25px 0 0 !important;
}

.p-header-content__title span {
display: none !important;
}

#top-circle-point {
float: right;
width: 61.459%;
display: inline-block;
}

#top-circle-point ul {
display: flex;
justify-content: center;
}

#top-circle-point ul > li {
margin: 0 24px;
}

@media screen and (max-width: 1919px) {
#catchphrase .top_bg_img div img {
width: 100%;
}
}

@media screen and (max-width: 1700px) {
#top-event-bnr {
top: 32vw;
}
}

@media screen and (max-width: 1500px) {
#top-event-bnr {
top: 30vw;
}
#news-bnr {
top: 38vw;
}
}

@media screen and (max-width: 1280px) {
#top-event-bnr {
top: 28vw;
}
#catchphrase .top_bg_img {
display: none;
}
#top-circle-point {
float: none;
width: 100%;
}
#top-circle-point ul {
margin: 0 auto;
}
}

@media screen and (max-width: 1110px) {
#top-event-bnr {
top: 25vw;
}
#news-bnr {
top: 36vw;
}
}

@media screen and (max-width: 991px) {
.p-header-content__inner {
top: 18%;
padding: 0 16px;
text-align: left;
}
.p-header-content__title span {
display: inline !important;
font-weight: 700;
line-height: 1.8;
color: #fff !important;
text-shadow: 2px 2px 2px #939393;
}
.p-header-slider,
.p-header-slider__item-img {
height: 600px;
}
.p-index-content01 {
margin-bottom: 0;
}
#top-circle-point ul {
width: 100%;
}
#headwrap {
display: block;
}
#slidewrap {
width: 100%;
position: relative;
}
#catchphrase {
width: 98%;
text-align: center;
}
#catchphrase div.cph2-wrap,
#catchphrase p {
display: none;
}
#top-event-bnr {
top: 66%;
}
#news-bnr {
top: 87%;
}
}

@media screen and (max-width: 767px) {
#top-circle-point ul > li {
width: 30%;
height: auto;
margin: 0 1%;
}
#top-circle-point ul > li img {
width: 100%;
}
.p-index-content01 {
height: auto;
}
#news-bnr a {
font-size: 14px;
}
}

@media screen and (max-width: 562px) {
#news-bnr a {
width: 340px;
}
}

.p-cb {
padding-top: 50px !important;
}

.p-entry__body {
margin-bottom: 0;
}

#features {
width: 100%;
background: linear-gradient(90deg, #fff 0, #fff 34%, #f7f6f2 34%, #f7f6f2 100%);
padding: 0 0 110px;
margin-bottom: 85px;
}

#features > h2 {
margin: 0 0 15px 110px;
text-align: left;
line-height: 0.8;
}

#features > p {
margin: 0 0 30px 110px;
text-align: left;
line-height: 1;
}

#features-wrap {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin-bottom: 0;
}

#features-wrap .features-img {
margin-left: 40px;
width: 76.97vw;
}

#features-wrap .features-img img {
width: 100%;
}

#features-wrap .features-dtl {
padding: 25px 10% 0 5.25%;
box-sizing: border-box;
width: 85.804vw;
}

#features-wrap .features-dtl h3 {
color: #505050;
font-size: 38px;
font-weight: 700;
line-height: 1.8;
}

#features-wrap .features-dtl .features-desc {
font-size: 18px;
color: #505050;
line-height: 1.8;
margin-bottom: 52px;
}

#features-wrap .features-dtl .features-btn {
text-align: right !important;
}

#features-wrap .features-dtl .features-btn a {
color: #fff;
text-decoration: none;
}

@media screen and (max-width: 1535px) {
#features-wrap .features-dtl {
padding: 25px 2% 0 2%;
}
}

@media screen and (max-width: 1919px) {
#features-wrap .features-dtl h3 {
font-size: 24px;
}
#features-wrap .features-dtl p {
font-size: 16px !important;
}
}

@media screen and (max-width: 991px) {
#features {
background: #f7f6f2;
}
#features > h2 {
margin-left: 0;
text-align: center;
}
#features > p {
margin: 0 0 30px 0;
text-align: center;
}
#features-wrap {
flex-wrap: wrap;
}
#features-wrap .features-img {
margin: 0 auto;
}
#features-wrap .features-dtl {
margin: 0 10px;
width: 100%;
}
#features-wrap .features-dtl .features-btn {
text-align: center !important;
}
}

@media screen and (max-width: 767px) {
h2.flt {
font-size: 36px;
}
.subttl {
font-size: 12px;
}
}

@media screen and (max-width: 480px) {
#features-wrap .features-dtl h3 {
font-size: 18px;
}
#features-wrap .features-dtl .features-btn {
text-align: center !important;
}
}

.p-index-content03__item {
width: 32%;
}

#event {
background-image: url(/files/event_bg.webp);
padding: 0 5px 50px;
}

#event-wrap {
max-width: 1500px;
margin: 0 auto 50px;
}

#event-wrap .event-cat {
z-index: 1;
position: absolute;
width: 120px;
height: 40px;
overflow: hidden;
color: #fff;
padding-top: 11px;
font-size: 18px;
text-align: center;
}

#event-wrap .event-item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 32%;
position: relative;
margin: 52px 12px 0 0;
}

#event-wrap .event-dtl {
background-color: #fff;
padding: 20px 20px 38px 20px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1 0 auto;
height: auto;
box-sizing: border-box;
position: relative;
}

#event-wrap .event-ttl {
font-size: 18px;
line-height: 1.4;
margin-bottom: 10px;
}

#event-wrap .event-cont {
font-size: 18px;
line-height: 1.4;
}

#event-wrap .event-arrow {
width: auto;
transform: none;
vertical-align: unset;
position: absolute;
bottom: 10px;
right: 20px;
}

#event .event-btn {
text-align: center;
padding-bottom: 120px;
}

#bicycle {
position: absolute;
top: -200px;
right: 2px;
z-index: 10;
}

#event-wrap .event-prog {
background: #2f639d;
color: #fff;
width: 80px;
height: 80px;
position: absolute;
z-index: 1;
right: -8px;
top: -52px;
border-radius: 50%;
outline: none;
-webkit-transition: background 0.2s ease, color 0.2s ease;
transition: background 0.2s ease, color 0.2s ease;
}

#event-wrap .event-prog span {
font-size: 18px;
position: absolute;
display: inline-block;
left: 0;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 80px;
text-align: center;
}

.post-type-archive-event #event-wrap .event-dtl {
background-color: #fcfcfc;
}

.post-type-archive-event #event-wrap .event-item {
margin: 52px 12px 10px 0;
}

@media screen and (max-width: 1919px) {
#catchphrase .top_bg_img div img {
width: 100%;
}
#bicycle {
right: 0;
}
}

@media screen and (max-width: 1365px) {
#event-wrap .event-item {
width: 48.5%;
}
}

@media screen and (max-width: 899px) {
#event-wrap .event-item {
width: 48.2%;
}
}

@media screen and (max-width: 767px) {
#event-wrap .event-item {
width: 100%;
}
#bicycle {
width: 25%;
top: -160px;
}
#event {
padding: 0 10px 50px;
}
#event-wrap .event-arrow {
width: auto;
transform: none;
vertical-align: unset;
position: absolute;
bottom: 14px;
right: 8px;
}
#event-wrap .event-cont,
#event-wrap .event-ttl {
font-size: 16px;
}
#event .event-btn {
padding-bottom: 40px;
}
}

@media screen and (max-width: 480px) {
#event-wrap .event-cont,
#event-wrap .event-ttl {
font-size: 12px;
}
#event-wrap .event-cat {
width: 90px;
height: 30px;
padding-top: 9px;
font-size: 12px;
}
#event-wrap .event-prog {
width: 80px;
height: 80px;
}
#event-wrap .event-prog span {
font-size: 18px;
width: 80px;
}
}

#works {
background: linear-gradient(90deg, #ffff 0, #ffff 34%, #eff4f8 34%, #eff4f8 100%);
padding: 100px 5px;
position: relative;
}

#works > h2 {
margin: 40px 0 15px 110px;
text-align: left;
}

#works > p {
margin: 0 0 30px 110px;
text-align: left;
}

#works-wrap {
max-width: 1752px;
margin: 40px auto;
}

#works-wrap .works-item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 23.973%;
position: relative;
box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.2);
margin: 0 12px 0;
}

#works-wrap .works-item:last-child {
margin-right: 0;
}

#works-wrap .works-dtl {
background-color: #fff;
padding: 20px 10px 25px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1 0 auto;
height: 170px;
box-sizing: border-box;
position: relative;
}

#works-wrap .works-dtl p,
#works-wrap .works-ttl {
font-size: 18px;
margin-bottom: 0;
line-height: 1.6;
}

#works-wrap .works-arrow {
width: auto;
transform: none;
vertical-align: unset;
position: absolute;
bottom: 25px;
right: 20px;
}

#works-wrap .works-arrow img {
display: inline !important;
}

#works .works-btn {
text-align: center;
padding-top: 40px;
margin: 0;
}

#cleaning {
position: absolute;
right: 146px;
top: -234px;
}

@media screen and (max-width: 1199px) {
#cleaning {
right: 0;
}
}

@media screen and (max-width: 767px) {
#cleaning {
top: -70px;
width: 25%;
right: 16px;
}
#works-wrap .works-dtl p,
#works-wrap .works-ttl {
font-size: 12px;
}
#works-wrap .works-arrow {
bottom: 9px;
right: 9px;
}
#works {
padding-top: 40px;
}
#works-wrap {
margin-bottom: 0;
}
}

@media screen and (max-width: 480px) {
#works > h2 {
margin: 40px 0 15px 0;
text-align: center;
}
#works > p {
margin: 0 0 30px 0;
text-align: center;
}
}

#voice {
background: linear-gradient(90deg, #f7f6f2 0, #f7f6f2 85%, #fff 85%, #fff 100%);
padding: 100px 5px 70px;
}

#voice-wrap {
margin: 0 0 50px;
}

#voice-wrap .voice-cat {
z-index: 1;
position: absolute;
width: 120px;
height: 40px;
overflow: hidden;
color: #fff;
padding-top: 11px;
font-size: 18px;
text-align: center;
}

#voice-wrap .voice-item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 32%;
position: relative;
padding: 0 5px;
}

#voice-wrap .voice-item a > img {
object-fit: cover;
height: 540px;
}

#voice-wrap .voice-dtl {
padding: 20px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1 0 auto;
height: 140px;
box-sizing: border-box;
position: relative;
}

#voice-wrap .voice-ttl {
font-size: 18px;
line-height: 1.4;
margin-bottom: 0;
}

#voice-wrap .voice-cont {
font-size: 18px;
line-height: 1.4;
position: absolute;
bottom: 20px;
}

#voice .voice-btn {
text-align: center;
}

#voice .voice-btn .p-btn {
background-color: #fff;
color: #c9a334;
}

#voice .voice-btn .p-btn::after {
content: url(/files/arrow_ocher.webp);
}

#voice .voice-btn .p-btn:hover {
background-color: #c9a334;
color: #fff;
}

#voice .voice-btn .p-btn:hover::after {
content: url(/files/arrow_white.webp);
}

.home #voice .slick-next,
.home #voice .slick-prev {
top: 30% !important;
}

@media screen and (max-width: 1919px) {
#voice-wrap .voice-cont {
font-size: 16px;
}
}

@media screen and (max-width: 1199px) {
#voice-wrap {
justify-content: space-evenly;
}
#voice-wrap .voice-item {
width: 48.5%;
}
#voice-wrap .voice-item a > img {
object-fit: cover;
height: 420px;
}
}

@media screen and (max-width: 767px) {
#voice-wrap .voice-item {
width: 100%;
}
#voice-wrap .voice-cont,
#voice-wrap .voice-ttl {
font-size: 12px;
}
#voice-wrap .voice-item a > img {
object-fit: cover;
height: 280px;
}
#voice-wrap {
margin: 0;
}
#voice-wrap .voice-dtl {
height: 110px;
}
}

@media screen and (max-width: 480px) {
#voice-wrap .voice-dtl {
padding: 20px 2px;
}
}

#concept {
background-color: #2f639d;
padding: 100px 0;
position: relative;
}

#concept .subttl,
#concept h2 {
color: #fff;
}

#concept-wrap {
margin: 50px 9.1146vw 50px 10.41665vw;
justify-content: space-evenly;
}

#concept-img {
width: 49.31%;
}

#concept-img .slick-arrow:before {
content: "" !important;
}

#concept-dtl {
width: 50.69%;
position: relative;
}

#concept-dtl > ul {
color: #fff;
position: absolute;
left: -40px;
margin-top: 60px;
}

#concept-dtl > ul > li {
border-bottom: 1px solid #fff;
margin-bottom: 35px;
}

#concept-dtl > ul > li > a {
color: #fff;
display: block;
position: relative;
}

#concept-dtl > ul > li h3 {
font-weight: 700;
font-size: 36px;
padding: 0 0 10px 20px;
margin: 0;
box-sizing: border-box;
}

#concept-dtl > ul > li p {
font-size: 18px;
padding: 0 50px 30px 90px;
}

#concept-dtl > ul > li p::after {
content: url(/files/arrow_white.webp);
position: absolute;
right: 0;
bottom: 50%;
}

#concept-dtl .concept-circle-point {
border: none;
width: 100%;
}

#concept-dtl .concept-circle-point ul {
display: flex;
justify-content: center;
width: fit-content;
margin: 0 auto;
}

#concept-dtl .concept-circle-point ul > li {
margin: 0 24px;
}

#concept .concept-btn {
text-align: center;
}

#concept .concept-btn .p-btn {
background-color: #fff;
color: #c9a334;
}

#concept .concept-btn .p-btn::after {
content: url(/files/arrow_ocher.webp);
}

#concept .concept-btn .p-btn:hover {
background-color: #c9a334;
color: #fff;
}

#concept .concept-btn .p-btn:hover::after {
content: url(/files/arrow_white.webp);
}

#concept img.concept-closet {
position: absolute;
right: 2%;
bottom: 0;
width: 25%;
}

@media screen and (max-width: 1919px) {
#concept-dtl > ul > li h3 {
font-size: 24px;
}
}

@media screen and (max-width: 1199px) {
#concept-wrap {
margin: 50px 20px 50px;
}
#concept img.concept-closet {
position: relative;
display: block;
margin: 30px auto 0;
right: 0;
width: 50%;
}
}

@media screen and (max-width: 991px) {
#concept-img {
display: none;
}
#concept-dtl {
height: fit-content;
width: fit-content;
}
#concept-dtl > ul {
position: relative;
left: 0;
}
#concept-dtl > ul > li h3 {
padding-left: 0;
}
#concept-dtl > ul > li p {
padding-left: 35px;
line-height: 1.25;
}
#concept {
padding: 50px 0;
}
#concept .subttl {
margin-bottom: 0;
}
#concept-wrap {
margin: 0 20px;
}
}

@media screen and (max-width: 767px) {
#concept-dtl .concept-circle-point ul > li {
margin: 0 1%;
}
}

@media screen and (max-width: 480px) {
#concept-wrap {
margin: 0 10px;
}
#concept-dtl > ul > li h3 {
font-size: 20px;
}
#concept-dtl > ul > li p {
font-size: 16px;
}
#concept-dtl .concept-circle-point ul > li {
width: fit-content;
}
#concept-dtl .concept-circle-point ul > li > img {
width: 100%;
}
}

#plan {
padding-top: 100px;
margin-bottom: 100px;
background: linear-gradient(155deg, #fff 0, #fff 18%, #eff4f8 18%, #eff4f8 85%, #fff 85%, #fff 100%);
}

#plan-wrap article {
width: 50%;
}

#plan-wrap article img {
width: 100%;
}

#plan-wrap article:last-child {
padding: 80px 0 0 140px;
}

#plan-wrap article .plan-cont {
font-size: 18px;
color: #222;
line-height: 2;
margin-bottom: 120px;
}

#plan .plan-btn {
text-align: center;
}

#plan .plan-btn .p-btn {
background-color: #fff;
color: #c9a334;
}

#plan .plan-btn .p-btn::after {
content: url(/files/arrow_ocher.webp);
}

#plan .plan-btn .p-btn:hover {
background-color: #c9a334;
color: #fff;
}

#plan .plan-btn .p-btn:hover::after {
content: url(/files/arrow_white.webp);
}

@media screen and (max-width: 1199px) {
#plan-wrap article:last-child {
padding: 40px 0 0 70px;
}
}

@media screen and (max-width: 991px) {
#plan-wrap article:last-child {
padding: 20px 0 0 35px;
}
}

@media screen and (max-width: 767px) {
#plan-wrap article {
width: 92.1875%;
margin: 0 auto;
}
#plan-wrap article .plan-cont {
margin-bottom: 40px;
}
#plan .plan-btn {
margin-bottom: 60px;
}
#plan {
margin-bottom: 60px;
padding-top: 50px;
}
}

#about-us {
padding-top: 60px;
}

#about-us img {
width: 100%;
}

@media screen and (max-width: 767px) {
#about-us-img {
height: fit-content;
margin-bottom: 37px;
}
}

#blog {
background: linear-gradient(90deg, #f7f6f2 0, #f7f6f2 66%, #fff 66%, #fff 100%);
padding: 150px 5px 100px;
margin-top: -37px;
}

#blog-wrap {
max-width: 1848px;
margin: 40px auto 70px;
}

#blog-wrap .blog-item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 24.351%;
position: relative;
box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.2);
margin: 0 8px 0;
padding: 20px;
box-sizing: border-box;
background-color: #fff;
}

#blog-wrap .blog-dtl {
background-color: #fff;
padding-top: 20px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1 0 auto;
height: 115px;
box-sizing: border-box;
position: relative;
}

#blog-wrap .blog-date {
margin-bottom: 5px;
color: #999;
font-size: 14px;
}

#blog-wrap .blog-ttl {
font-size: 18px;
margin-bottom: 0;
line-height: 1.5;
color: #505050;
font-weight: 400;
}

#blog-wrap .blog-dtl .blog-cat {
font-size: 14px;
color: #333;
margin-bottom: 0;
line-height: 1.6;
}

#blog-wrap .blog-arrow {
width: auto;
transform: none;
vertical-align: unset;
position: absolute;
bottom: 0;
right: 10px;
font-size: 14px;
color: #333;
}

#blog-wrap .blog-arrow img {
display: inline !important;
}

#blog .blog-btn {
text-align: center;
}

#blog .blog-btn .p-btn {
background-color: #c9a334;
color: #fff;
}

#blog .blog-btn .p-btn::after {
content: url(/files/arrow_white.webp);
}

#blog .blog-btn .p-btn:hover {
background-color: #2f639d;
color: #fff;
}

#blog .blog-btn .p-btn:hover::after {
content: url(/files/arrow_white.webp);
}

@media screen and (max-width: 1439px) {
#blog-wrap .blog-ttl {
font-size: 16px;
line-height: 1.25;
}
}

@media screen and (max-width: 767px) {
#blog {
padding: 50px 5px;
}
}

@media screen and (max-width: 480px) {
#blog-wrap .blog-date {
font-size: 10px;
}
#blog-wrap .blog-arrow,
#blog-wrap .blog-ttl {
font-size: 12px;
}
}

#bnr {
width: 100%;
padding: 65px 10px;
}

#bnr-wrap {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
justify-content: center;
margin-bottom: 0;
flex-wrap: wrap;
}

#bnr-wrap li {
margin: 0 15px;
width: 35.919vw;
}

#bnr-wrap li > a > img {
width: 100%;
}

@media screen and (max-width: 991px) {
#bnr-wrap li {
width: 69.628vw;
}
#bnr-wrap li:first-child {
margin-bottom: 20px;
}
}

@media screen and (max-width: 480px) {
#bnr-wrap li {
width: 100%;
}
}

#movie {
background-color: #f2f3f9;
padding: 80px 5px;
}

#movie-wrap {
margin: 10px auto 40px;
max-width: 1280px;
}

#movie-wrap .movie-item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 22.581%;
position: relative;
padding: 0 5px;
}

#movie-wrap .movie-ttl {
font-size: 18px;
line-height: 1.4;
margin: 20px 0 0 4px;
}

#movie .movie-btn {
text-align: center;
}

@media screen and (max-width: 991px) {
#movie-wrap .movie-item {
width: 45%;
}
#movie-wrap .movie-item:nth-child(1),
#movie-wrap .movie-item:nth-child(2) {
margin-bottom: 20px;
}
#movie-wrap .movie-ttl {
font-size: 12px;
}
}

#news {
padding: 100px 0 120px;
}

#news-wrap {
max-width: 1280px;
margin: 0 auto;
}

#news-wrap ul {
border-top: 1px dotted #000;
}

#news-wrap ul > li {
border-bottom: 1px dotted #000;
text-align: center;
}

#news-wrap ul > li > a {
line-height: 100px;
font-size: 18px;
color: #505050;
text-align: left;
display: block;
max-width: 700px;
margin: 0 auto;
}

#news-wrap ul > li > a time {
font-size: 14px;
color: #444;
}

#news-wrap ul > li > a span {
color: #fff;
background-color: #2f639d;
padding: 5px 20px;
font-size: 14px;
margin: 0 15px;
}

@media screen and (max-width: 1280px) {
#news-wrap {
margin: 0 10px;
}
}

@media screen and (max-width: 767px) {
#news-wrap ul > li > a {
line-height: 2;
}
#news {
padding: 50px 0 60px;
}
}

@media screen and (max-width: 480px) {
#news-wrap ul > li > a,
#news-wrap ul > li > a span {
font-size: 12px;
}
}

#bnrs {
width: 100%;
padding: 65px 20px 61px;
background-image: url(/files/bnr_bg.webp);
position: relative;
}

#bnrs h2 {
text-align: center;
color: #505050;
font-size: 30px;
margin-bottom: 40px;
}

#bnrs p {
text-align: center;
color: #505050;
font-size: 16px;
margin-bottom: 70px;
}

#bnrs .bnrs-wrap {
max-width: 1360px;
margin: 0 auto;
}

#bnrs .bnrs-sub-wrap ul {
display: flex;
justify-content: space-between;
margin-left: 0;
flex-wrap: wrap;
}

#bnrs .bnrs-sub-wrap ul > li {
list-style-type: none;
width: 32.604%;
}

#bnrs .bnrs-lion01 {
position: absolute;
left: 0;
bottom: 0;
}

#bnrs .bnrs-lion02 {
position: absolute;
right: 0;
bottom: 0;
}

@media screen and (max-width: 1365px) {
#bnrs .lions {
display: none;
}
}

@media screen and (max-width: 480px) {
#bnrs .bnrs-sub-wrap ul > li {
width: 100%;
}
#bnrs .bnrs-sub-wrap ul > li:nth-child(1),
#bnrs .bnrs-sub-wrap ul > li:nth-child(2) {
margin-bottom: 20px;
}
#bnrs {
padding: 65px 21px 64px;
}
#bnrs p {
text-align: center;
color: #505050;
font-size: 16px;
margin-bottom: 0;
}
#bnrs .bnrs-wrap {
max-width: 1360px;
margin: -18px auto 4px;
}
}

#js-footer-link.p-footer-link {
height: 260px;
}

#js-footer-link span.p-article07__title {
display: none;
}

.p-info {
border-bottom: none;
padding-bottom: 0;
background: 0 0 !important;
}

.p-footer-nav {
border-bottom: none;
background: 0 0 !important;
justify-content: space-between;
}

.p-footer-wrap {
background: #2f639d;
color: #fff;
display: flex;
justify-content: space-between;
padding: 64px 10px 46px;
}

.p-footer-nav li + li::before {
content: '';
}

.p-social-nav {
margin-bottom: 10px;
text-align: left;
}

.p-social-nav__item--instagram a::before {
content: url(/files/icon_instagram.webp);
}

.p-social-nav__item--tiktok a::before {
content: url(/files/icon_tiktok.webp);
}

.p-social-nav__item--facebook a::before {
content: url(/files/icon_fb.webp);
}

.p-social-nav__item--twitter a::before {
content: url(/files/icon_x.webp);
}

.p-social-nav__item--pinterest a::before {
content: url(/files/icon_pinterest.webp);
}

.p-social-nav__item--youtube a::before {
content: url(/files/icon_youtube.webp);
}

.p-social-nav__item--line a::before {
content: url(/files/icon_line.webp);
}

.p-social-nav__item--blog a::before {
content: url(/files/icon_blog.webp);
}

.p-copyright {
background: 0 0 !important;
}

#js-footer-link > div {
height: auto;
}

.p-footer-wrap .c-logo {
margin-left: 0 !important;
}

.p-footer-wrap .item--about {
margin-left: 6vw;
}

.p-footer-wrap span.p-article07__title {
display: none;
}

.p-footer-wrap .p-footer-link__list {
margin-top: 59px;
}

#pp-pagetop {
position: absolute;
right: 0;
margin-top: -38px;
background: 0 0;
border: none;
padding-top: 1px;
}

#pp-pagetop::after {
content: url(/files/to_top.webp);
width: 90px;
height: 38px;
}

#pp-pagetop:hover {
background: 0 0;
cursor: pointer;
}

.p-footer-wrap .footer-add-menu {
display: flex;
justify-content: space-between;
}

.p-footer-wrap .footer-add-menu .p-btn {
min-width: 200px;
height: 50px;
font-size: 14px;
line-height: 50px;
background: #fff;
color: #2f639d;
border: 1px solid #2f639d;
}

.p-footer-wrap .footer-add-menu .p-btn:hover {
background-color: #c9a334;
color: #fff;
}

.p-footer-wrap .footer-add-menu .p-btn::after {
content: url(/files/arrow_blue.webp);
vertical-align: middle;
margin-left: 25px;
}

.p-footer-wrap .footer-add-menu .p-btn:hover::after {
content: url(/files/arrow_white.webp);
}

.p-footer-nav {
margin-bottom: 10px;
}

@media screen and (max-width: 1600px) {
.p-footer-wrap .item--about {
margin-left: 1vw;
}
}

@media screen and (max-width: 1480px) {
.p-footer-nav {
justify-content: center;
}
.p-footer-wrap {
display: block;
text-align: center;
}
.p-footer-wrap .p-social-nav {
text-align: center;
}
.p-footer-wrap .footer-add-menu {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.p-footer-wrap .footer-add-menu .p-btn {
margin: 0 10px 10px;
}
.p-footer-wrap .p-footer-link__list-item {
margin: 0 auto;
}
.p-footer-wrap .p-footer-link__list {
margin-top: 36px;
}
}

@media screen and (max-width: 767px) {
.p-footer-nav {
justify-content: space-between;
}
}

.p-entry {
background: 0 0;
}

.p-event-list__item {
width: 32%;
margin-bottom: 4%;
margin-right: 1.8%;
}

.p-event-list__item:nth-child(3n) {
margin-right: 0;
}

.p-event-list {
justify-content: flex-start;
}

#line-account p {
line-height: 2;
margin-bottom: 20px;
}

.single-event .p-entry header {
position: relative;
}

.single-event .p-entry__title {
margin-top: 32px;
text-align: center;
border-top: 2px solid #acabab;
border-bottom: 2px solid #acabab;
padding: 30px 0;
position: relative;
}

.single-event .event-held {
position: absolute;
width: auto;
height: auto;
display: flex;
align-items: center;
text-align: center;
color: #fff;
font-weight: 700;
font-size: 20px;
z-index: 1;
left: 10px;
top: -18px;
padding: 4px 10px;
}

.single-event .event-cat {
position: absolute;
width: auto;
height: auto;
display: flex;
align-items: center;
text-align: center;
color: #fff;
font-weight: 700;
font-size: 20px;
z-index: 1;
left: 125px;
top: -18px;
padding: 4px 10px;
}

.single-event .event-lbl {
display: inline-block;
width: 100%;
line-height: 1.4;
}

.single-event .summary {
display: flex;
background-color: #f7f8f9;
padding: 40px 0 30px 70px;
margin-bottom: 80px;
}

.single-event .summary-items {
font-size: 18px;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
width: 80%;
box-sizing: border-box;
margin-left: 80px;
}

.single-event .summary-item {
width: 45%;
margin-bottom: 20px;
}

.single-event .event-ttl {
padding: 1rem 2rem;
border-left: 5px solid #2f639d;
color: #2f639d;
margin-bottom: 40px;
font-size: 18px;
}

.single-event .dtl {
display: flex;
flex-wrap: wrap;
}

.single-event .dtl .dtl-item {
width: 50%;
}

.single-event .dtl dl {
display: flex;
justify-content: flex-start;
}

.single-event .dtl dd {
font-size: 16px;
padding-top: 10px;
width: 70%;
}

.single-event .point {
font-size: 16px;
margin-bottom: 80px;
}

.single-event .etc-ttl {
margin-bottom: 25px;
}

.single-event .etc-items {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: nowrap;
margin: 0 0 150px 0;
justify-content: space-between;
}

.post-type-archive-event .etc-item {
width: 32%;
margin: 0 2% 2% 0;
border: none;
background-color: #f7f8f9;
padding: 15px 20px 25px;
box-sizing: border-box;
}

.post-type-archive-event .etc-item:nth-child(3n) {
margin-right: 0;
}

.post-type-archive-event .etc-item .p-article01__content {
padding: 16.6px 0 0;
line-height: 1.8;
}

.single-event .etc-item {
width: 32%;
margin: 0;
border: none;
background-color: #f7f8f9;
padding: 15px 20px 25px;
}

.single-event .etc-item__content {
padding: 16.6px 0 0;
}

#event a.etc-item-fin::before,
.post-type-archive-event a.etc-item-fin::before,
.single-event a.etc-item-fin::before {
content: "好評にて終了";
text-align: center;
white-space: pre;
color: #fff;
position: absolute;
font-size: 1.1vw;
top: 37%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
z-index: 1;
line-height: 2;
}

#event a.etc-item-fin,
.post-type-archive-event a.etc-item-fin,
.single-event a.etc-item-fin {
background-color: #000;
}

#event a.etc-item-fin img,
.post-type-archive-event a.etc-item-fin img,
.single-event a.etc-item-fin img {
opacity: 0.5;
}

.single-event .event-entry h2 {
border-top: 1px solid #acabab;
border-bottom: 1px solid #acabab;
padding: 30px 15px;
margin-bottom: 40px;
}

.single-event .gmap iframe {
width: 100%;
}

.single-event .wpcf7 {
width: 100%;
margin: 0 auto 100px !important;
}

.single-event .wpcf7 form table {
width: 100%;
}

.single-event .wpcf7 .wpcf7-checkbox.wpcf7-form-control {
display: flex;
flex-wrap: wrap;
}

.single-event .wpcf7 .wpcf7-list-item-label,
.single-event .wpcf7 select {
font-size: 16px;
line-height: 1.5;
}

.single-event .wpcf7 .wpcf7-acceptance.wpcf7-form-control {
text-align: center;
}

.single-event .wpcf7 #event-name {
background-color: #fafafa;
}

.single-event .wpcf7 #event-place {
background-color: #fafafa;
}

.single-event .wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous {
background-color: #2f639d;
}

.single-event .wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-previous:hover {
background-color: #0d345f;
}

.post-type-archive-event .event-term,
.single-event .event-term {
padding: 8px 10px;
color: #fff;
margin-bottom: 12px;
display: inline-block;
}

.post-type-archive-event .p-article05__content {
padding: 19px 0 12px;
}

.wpcf7 form.sent .wpcf7-response-output {
font-size: x-large;
font-weight: 700;
background-color: #46b450;
color: #fff;
padding: 20px 10px;
}

.single-event #event-chiiki .p-entry__chiiki-item {
width: 50%;
}

.single-event #event-chiiki .p-entry__chiiki-item p {
margin-bottom: 30px;
}

.single-event #event-chiiki .p-entry__chiiki-item p img {
width: 100%;
}

.single-event #event-chiiki .p-entry__chiiki-item .event-btn .p-btn {
width: 100%;
}

.single-event #event-bnr .p-entry__chiiki--lower {
margin-bottom: 100px;
}

.single-event #event-bnr .p-entry__chiiki-item {
width: 100%;
display: flex;
justify-content: space-evenly;
}

.single-event .free {
border: 2px solid #2f639d;
padding: 7% 9%;
font-size: 18px;
border-radius: 8px;
position: relative;
margin-bottom: 80px;
}

.single-event .free-ttl {
position: absolute;
display: inline-block;
top: -13px;
left: 0;
right: 0;
padding: 0 10px;
line-height: 1;
background: #fff;
color: #515151;
font-weight: 700;
font-size: 2em;
margin: 0 auto;
width: 84%;
text-align: center;
}

#bryes {
display: block;
}

#brno {
display: none;
}

@media screen and (max-width: 1280px) {
#news-wrap {
margin: 0 10px;
}
.single-event .event-cat {
left: 109px;
}
.single-event .event-lbl.small-font {
font-size: 16px;
}
#bryes {
display: none;
}
#brno {
display: block;
}
.single-event .free-ttl {
position: absolute;
display: inline-block;
top: -22px;
left: 0;
right: 0;
padding: 0 10px;
line-height: 1.6;
background: #fff;
color: #515151;
font-weight: 700;
font-size: 16px;
margin: 0 auto;
width: 84%;
}
}

@media screen and (max-width: 1199px) {
.single-event #event-bnr .p-entry__chiiki-item {
display: block;
}
.single-event #event-bnr .bnr-item {
width: fit-content;
margin: 0 auto;
}
.single-event #event-bnr .bnr-item:nth-child(1) {
margin-bottom: 20px;
}
.single-event #event-bnr .bnr-item a > img {
width: 100%;
}
.post-type-archive-event .etc-item {
width: 49%;
}
.post-type-archive-event .etc-item:nth-child(2n) {
margin-right: 0;
}
.post-type-archive-event .etc-item:nth-child(3n) {
margin-right: 2%;
}
}

@media screen and (max-width: 767px) {
.single-event .dtl {
display: block;
}
.single-event .dtl dd {
width: 100%;
}
.single-event .dtl .dtl-item {
width: 100%;
}
.single-event .dtl dl {
display: block;
}
.single-event .dtl dt h2 {
margin-bottom: 0;
}
.single-event .etc-items {
display: block;
}
.single-event .etc-item {
width: 100%;
}
.single-event .summary {
padding: 40px 10px;
display: block;
}
.single-event .summary-items {
display: block;
width: 100%;
margin-left: 14px;
}
.single-event .summary-item {
width: 100%;
}
.single-event table.inquiry {
width: 95%;
}
.inquiry td,
.inquiry th,
.single-event .inquiry tr {
display: block;
width: 100%;
line-height: 2.5em;
}
.single-event .inquiry th {
background-color: #ebedf5;
}
.single-event .inquiry th p {
margin-bottom: 0;
}
.single-event .wpcf7 select {
max-width: 100%;
width: 100%;
}
.single-event .p-entry {
margin: 0 auto 35px;
}
.single-event .p-entry__title {
padding: 35px 5px 20px;
}
.post-type-archive-event .etc-item {
width: 100%;
margin-right: 0;
}
.post-type-archive-event a.etc-item-fin::before {
font-size: 18px;
}
}

#movie-list .p-article05__title {
margin-bottom: 0;
}

#movie-list .p-event-list__item a {
padding: 0;
}

#movie-list .p-article05__content {
padding: 10px 2% 0;
height: 78px;
}

#movie-list .p-article05 {
border: none;
}

#movie-list .movie-time {
display: inline-block;
background-color: #f0f8ff;
padding: 8px 10px 5px;
}

.single-voice .voice-catch {
display: flex;
flex-wrap: nowrap;
}

.single-voice .voice-catch .voice-dtl h2 {
padding: 60px 10px 60px 60px;
background-color: rgb(255 250 233 / 70%);
margin: 30px -50px 30px 0;
z-index: 100;
position: relative;
}

.single-voice .voice-catch .voice-dtl p {
padding: 30px 30px 20px 20px;
line-height: 1.8;
}

.single-voice section article {
margin-bottom: 30px;
}

.single-voice .qa-items {
display: flex;
flex-wrap: nowrap;
}

.single-voice .qa-img {
width: 45%;
}

.single-voice .qa-img img {
width: 100%;
}

.single-voice .qa-cont {
padding: 40px;
width: 55%;
box-sizing: border-box;
}

.single-voice .etc {
margin: 90px 0;
}

.single-voice .etc-ttl {
margin-bottom: 25px;
}

.single-voice .etc-items {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
}

.single-voice .etc-item {
width: 32%;
}

.single-voice .etc-item .etc-thumbnail img {
width: 100%;
}

.single-voice .etc-item h4 {
margin-top: 16px;
}

@media screen and (max-width: 767px) {
.single-voice .qa-cont {
padding: 15px 10px;
}
.single-voice .voice-catch .voice-dtl h2 {
padding: 30px 10px;
margin: 20px 0;
font-size: 1.2em;
}
.single-voice .etc-items,
.single-voice .qa-items,
.single-voice .voice-catch {
display: block;
}
.single-voice .catch-item,
.single-voice .etc-item,
.single-voice .qa-item,
.single-voice .qa-item div {
width: 100%;
}
}

.single-plan .p-entry__title {
margin-top: 32px;
text-align: center;
border-top: 2px solid #acabab;
border-bottom: 2px solid #acabab;
padding: 30px 0;
position: relative;
}

.single-plan .p-entry__inner {
padding: 10px 10% 50px;
}

.single-plan .p-entry__body p {
line-height: 1.8;
}

.single-plan .plan-dtl {
background-color: #f9f8f4;
padding: 4.7%;
margin-bottom: 50px;
}

.single-plan .plan-dtl-items {
display: flex;
justify-content: space-between;
margin-bottom: 30px;
flex-wrap: wrap;
}

.single-plan .plan-dtl-items dl {
display: flex;
width: 45%;
height: 75px;
border-bottom: 1px dotted #aaa;
margin-bottom: 0;
}

.single-plan .plan-dtl-items dl:nth-child(1),
.single-plan .plan-dtl-items dl:nth-child(2) {
border-top: 1px dotted #aaa;
}

.single-plan .plan-dtl-items dl dt {
font-weight: 400;
align-items: center;
display: flex;
width: 130px;
padding-left: 10px;
box-sizing: border-box;
}

.single-plan .plan-dtl-items dl dd {
margin-bottom: 0;
display: flex;
align-items: center;
width: calc(100% - 130px);
padding-left: 10px;
box-sizing: border-box;
}

.single-plan .plan-dtl p {
text-align: center;
margin-bottom: 0;
}

.single-plan .plan_midashi::before {
content: "";
position: relative;
background: #dfc4a7;
width: 50px;
height: 50px;
border-radius: 50%;
top: 39px;
left: 25px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
z-index: -1;
display: inline-block;
}

.single-plan .plan-items {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
}

.single-plan .plan-item {
width: 23%;
}

.single-plan .plan-item figure {
margin-bottom: 13px;
}

.single-plan .perth-items {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}

.single-plan .perth-item {
width: 48%;
margin: 0 1%;
}

.single-plan .perth-item figure {
margin-bottom: 13px;
}

.single-plan .etc {
margin: 90px 0;
}

.single-plan .etc-ttl {
margin-bottom: 25px;
}

.single-plan .etc-items {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
}

.single-plan .etc-item {
width: 32%;
}

.single-plan .etc-item .etc-thumbnail img {
width: 100%;
}

.single-plan .etc-item h4 {
margin-top: 16px;
}

.single-plan .etc-item a.etc-thumbnail {
padding: 10px;
border: 2px solid #eee1d0;
}

@media screen and (max-width: 1199px) {
.single-plan .p-entry__inner {
padding: 10px 0 50px;
}
}

@media screen and (max-width: 767px) {
.single-plan .perth-item,
.single-plan .plan-item {
width: 100%;
}
.single-plan .etc-items {
display: block;
}
.single-plan .etc-item {
width: 100%;
}
.single-plan .p-entry {
margin: 0 auto 50px;
}
.single-plan .p-entry__body p {
line-height: 1.6;
}
.single-plan .plan-dtl-items {
display: block;
}
.single-plan .plan-dtl-items dl {
width: 100%;
}
.single-plan .plan-dtl-items dl:nth-child(2) {
border-top: none;
}
.post-type-archive-plan .p-event-list__item {
width: 100%;
}
.single-plan .plan_midashi span {
display: none;
}
}

.daiku.p-interview-list__item {
border: 2px solid #dbf0fa;
background: #fff;
}

.daiku.p-interview-list__item header {
padding: 35px 70px 0;
}

.daiku.p-interview-list__item img {
width: 100%;
height: auto;
}

.daiku.p-interview-list__item h3 {
text-align: center;
position: relative;
display: block;
padding: 0;
margin: 20px 0;
}

.daiku.p-interview-list__item h3:before {
content: '';
position: absolute;
bottom: -2px;
display: inline-block;
width: 55px;
height: 3px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #bbe3f6;
border-radius: 2px;
}

.daiku.p-interview-list__item .staff-position {
text-align: center;
margin-bottom: 20px;
}

.daiku.p-interview-list__item .staff-message {
line-height: 2;
padding: 0 22px 30px;
}

.plan-point {
margin-top: 50px;
}

.work-tag #work-tag-more {
border-bottom: 1px solid #505050;
cursor: pointer;
padding: 0 10px 5px;
}

.list-tag-more {
padding: 0 5px;
display: flex;
border: 0;
}

.list-tag-more .more-on,
.work-tag #work-tag-more .more-on {
display: block;
}

.list-tag-more .more-off,
.work-tag #work-tag-more .more-off {
display: none;
}

.list-tag-more.opened .more-on,
.work-tag #work-tag-more.opened .more-on {
display: none;
}

.list-tag-more.opened .more-off,
.work-tag #work-tag-more.opened .more-off {
display: block;
}

.expansion {
margin-bottom: 25px;
display: none;
}

.list-tag-items {
margin-top: 10px;
display: none;
padding: 0 4px;
}

.expansion .work-tag-title {
background: #fff;
}

.addland {
color: #957308;
padding: 0 10px;
margin: 10px 0;
}

.list-items {
margin-bottom: 0;
}

.list-item {
background: #fff;
height: auto;
opacity: 1;
position: relative;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transition-property: opacity;
-webkit-transition: 0.5s;
-moz-transition-property: opacity;
-moz-transition: 0.5s;
-ms-transition-property: opacity;
-ms-transition: 0.5s;
-o-transition-property: opacity;
-o-transition: 0.5s;
transition-property: opacity;
transition: 0.5s;
}

.list-item-content {
padding: 10px 6px 10px 10px !important;
}

.list-item-title {
color: #505050;
font-size: 16px;
line-height: 1.5;
margin-bottom: 0;
font-weight: 400;
}

.list-item-title::after {
content: "";
}

.list-cat-item {
padding: 10px 5px;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
position: relative;
}

.list-cat-item span,
.list-tag-items span,
.list-tag-more span {
padding: 0 5px;
margin: 0 0 5px 5px;
border-radius: 0;
font-size: 14px;
background: 0 0;
color: #3d75bd !important;
border-bottom: 1px solid #3d75bd;
}

.list-cat-item span a,
.list-tag-items span a,
.list-tag-more span a {
color: #3d75bd !important;
}

.work-item-btn {
display: flex;
justify-content: flex-end;
padding: 10px 20px 20px;
}

.work-item-btn button {
color: #fff;
background-color: #2f639d;
border: none;
font-size: 14px;
padding: 10px 20px;
border-radius: 4px;
}

.work-item-btn .works-arrow {
display: none;
}

.p-pager {
justify-content: center;
}

@media screen and (max-width: 1600px) {
.list-item {
width: calc((100% - 95px) / 4);
}
.list-item:nth-of-type(5n) {
margin-right: 27px;
}
.list-item:nth-of-type(4n) {
margin-right: 0;
}
}

@media screen and (max-width: 1280px) {
.list-item {
width: calc((100% - 63px) / 3);
}
.list-item:nth-of-type(4n) {
margin-right: 27px;
}
.list-item:nth-of-type(3n) {
margin-right: 0;
}
}

@media screen and (max-width: 767px) {
.list-item {
width: calc((100% - 15px) / 2);
margin: 0 10px 35px 0;
}
.list-item:nth-of-type(3n),
.list-item:nth-of-type(5n) {
margin-right: 0;
}
.list-item:nth-of-type(2n) {
margin-right: 0;
}
.list-item:nth-of-type(2n-1) {
margin-right: 10px;
}
.work-item-btn {
padding: 10px;
}
.work-item-btn button {
display: none;
}
.work-item-btn .works-arrow {
display: block;
}
.list-item-content {
padding: 10px 5px !important;
}
.list-cat-item span,
.list-tag-items span,
.list-tag-more span {
font-size: 12px;
}
}

.single-works .cat-item {
display: flex;
flex-wrap: wrap;
}

.single-works .cat-item span {
margin: 0 2px 2px;
}

.single-works .etc {
margin: 90px 0;
}

.single-works .etc-ttl {
margin-bottom: 25px;
}

.single-works .etc-items {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
}

.single-works .etc-item {
width: 32%;
}

.single-works .etc-item .etc-thumbnail img {
width: 100%;
}

.single-works .etc-item h4 {
margin-top: 16px;
line-height: 1.4 !important;
}

@media screen and (max-width: 767px) {
.post-type-archive-voice .p-event-list__item {
width: 49%;
}
.post-type-archive-voice .p-event-list__item:nth-child(3n) {
margin-right: 1.8%;
}
.post-type-archive-voice .p-event-list__item:nth-child(2n) {
margin-right: 0;
}
.single-works .etc-items {
display: block;
}
.single-works .etc-item {
width: 100%;
margin-right: 0;
}
}

.p-global-nav .menu-item-has-children > a > .p-global-nav__toggle::before {
border-color: #fff;
}

.p-global-nav .sub-menu {
background-color: #175b97;
}

.box_author {
margin-bottom: 10px;
}

.archive .p-blog-list__item,
.blog .p-blog-list__item {
width: 31.3%;
}

@media only screen and (max-width: 767px) {
.archive .p-blog-list__item,
.blog .p-blog-list__item {
width: 46%;
}
.single-post .p-entry {
margin: 0;
}
.single-post .p-entry__body p > img {
display: block;
margin: 0 auto;
}
}

.lionmaru_01 {
position: absolute;
top: -50px;
left: 30px;
}

.lionmaru_02 {
position: absolute;
top: -46px;
right: 20px;
}

@media only screen and (max-width: 767px) {
.lionmaru_01 {
width: 24vw;
}
.lionmaru_02 {
width: 15vw;
}
}

.p-widget .p-dropdown__list li {
margin: 0;
}

@media screen and (max-width: 787px) {
#event a.etc-item-fin::before,
.post-type-archive-event a.etc-item-fin::before,
.single-event a.etc-item-fin::before {
font-size: 6vw;
top: 30%;
}
}

.p-footer-wrap .p-footer-nav {
display: grid !important;
grid-template-columns: repeat(4, 1fr) !important;
gap: 20px 30px !important;
margin-bottom: 30px !important;
width: 100%;
}

.p-footer-wrap .p-footer-nav > li {
width: auto !important;
text-align: left !important;
margin: 0 !important;
line-height: 2 !important;
}

.p-footer-wrap .p-footer-nav > li > a {
display: block !important;
font-weight: 700 !important;
font-size: 14px !important;
border-bottom: 1px dashed rgba(255, 255, 255, 0.3) !important;
padding-bottom: 6px !important;
margin-bottom: 10px !important;
color: #fff !important;
text-decoration: none !important;
line-height: 2 !important;
}

.p-footer-wrap .p-footer-nav .sub-menu {
display: block !important;
position: static !important;
background: 0 0 !important;
padding: 0 !important;
margin: 0 !important;
box-shadow: none !important;
opacity: 1 !important;
visibility: visible !important;
transform: none !important;
line-height: 2 !important;
}

.p-footer-wrap .p-footer-nav .sub-menu li {
margin-bottom: 6px !important;
text-align: left !important;
line-height: 2 !important;
}

.p-footer-wrap .p-footer-nav .sub-menu li a {
font-size: 12px !important;
font-weight: 400 !important;
color: rgba(255, 255, 255, 0.8) !important;
padding: 0 0 0 5px !important;
display: inline-block !important;
transition: all 0.3s ease;
line-height: 2 !important;
}

.p-footer-wrap .p-footer-nav .sub-menu li a:hover {
color: #fff !important;
transform: translateX(5px);
}

.p-footer-nav li + li::before {
margin: 0;
}

@media screen and (min-width: 1025px) {
.p-footer-wrap .item--menu {
flex: 1;
margin: 0 auto;
max-width: 60%;
}
}

@media screen and (max-width: 1024px) {
.p-footer-wrap .p-footer-nav {
grid-template-columns: repeat(3, 1fr) !important;
}
}

@media screen and (max-width: 767px) {
.p-footer-wrap .p-footer-nav {
grid-template-columns: repeat(2, 1fr) !important;
gap: 15px 10px !important;
}
.p-footer-wrap .p-footer-nav > li > a {
font-size: 14px !important;
}
.p-footer-wrap .p-footer-nav .sub-menu li a {
font-size: 12px !important;
}
.p-footer-wrap .footer-add-menu {
flex-direction: column;
align-items: center;
gap: 10px;
}
.p-footer-nav li {
width: 100%;
}
footer .p-article07 {
width: 100% !important;
}
}

/* ==========================================================================
   フッター（PC表示）：バナー・コピーライトを左列（会社情報の下）へ移動
   2026.11 追加
   ・対象は横並びレイアウトになる 1481px 以上（1480px 以下は従来どおり縦積み）
   ・HTMLは変更せず、CSSグリッドで配置だけを変更
     ［会社情報］［メニュー　　　　　］
     ［バナー　］［　　　　　　　　　］
     ［ｺﾋﾟｰﾗｲﾄ］
   ========================================================================== */
@media screen and (min-width: 1481px) {
  .p-footer-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "about menu"
      "bnr   menu";
    column-gap: 3vw;
    align-items: start;
  }
  .p-footer-wrap .item--about {
    grid-area: about;
  }
  .p-footer-wrap .item--menu {
    grid-area: menu;
    max-width: none;
    margin: 0 6vw 0 0;
  }
  .p-footer-wrap .item--bnr {
    grid-area: bnr;
    margin-left: 6vw;
  }
  .p-footer-wrap .item--bnr .p-footer-link__list {
    display: block;
    margin-top: 30px;
  }
  .p-footer-wrap .item--bnr .p-footer-link__list-item {
    margin: 0 0 15px;
  }
  .p-footer-wrap .item--bnr .p-copyright {
    min-height: 0;
    margin-top: 10px;
    padding: 0;
    line-height: 1.8;
    text-align: left;
  }
}

/* 1481〜1600px は会社情報の左余白が 1vw になるため揃える */
@media screen and (min-width: 1481px) and (max-width: 1600px) {
  .p-footer-wrap .item--menu {
    margin-right: 1vw;
  }
  .p-footer-wrap .item--bnr {
    margin-left: 1vw;
  }
}


/* ==========================================================================
   イベント詳細（スマホ・タブレット）：カテゴリ表示（受付中・構造見学会などのラベル）が欠ける不具合の修正
   2026.11 追加
   【原因】
   ・ラベルはタイトルの上線に重ねるため、上に 18px はみ出す配置（top: -18px）
   ・991px以下では外枠 .l-contents が display: block ＋ overflow: clip（親テーマ）になる
   ・タイトル（h1）の上余白 32px が外枠の外まで突き抜けるため、外枠の上端＝灰色の上線の位置になり、
     線より上にはみ出したラベルの上半分が切り取られていた
   【対策】
   ・記事（.p-entry）に 1px の上余白（padding）を付けて余白の突き抜けを止める
     → 上余白 32px が外枠の内側に収まり、ラベルが上線に重なる位置で欠けずに表示される（見た目の余白はほぼ同じ）
   ========================================================================== */
@media screen and (max-width: 991px) {
  .single-event .p-entry {
    padding-top: 1px;
  }
}
