@charset "UTF-8";

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
汎用
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
body {background: #fdf9e9;}

main {position: relative; display: block;}

/*画像 .img img*/
.img {position: relative;}
.img > img {width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; transform-origin: center; transition: .5s ease;}

/*clearfix*/
.cf:after {content: ""; display: block; clear: both; visibility: hidden;}

/*汎用flex*/
.flex {display: flex;}

/*コンテナ*/
.container {margin: 0 auto;}

/*--------------------------------------------------------------------------
パララックス＆ホバーアニメーション
--------------------------------------------------------------------------*/

/*------------------------------------
下から上に upflow
------------------------------------*/
.upflow {visibility: hidden;}
.fadeInUp {-webkit-animation-fill-mode: both; -ms-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: 1s; -ms-animation-duration:1s; animation-duration:1s; -webkit-animation-name: fadeInUp; animation-name: fadeInUp; visibility: visible!important;}
@keyframes fadeInUp {0% {opacity: 0; transform: translateY(50px);} 100% {opacity: 1; transform: translateY(0);}}
@-webkit-keyframes fadeInUp {0% {opacity: 0; -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px);} 100% {opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0);}}

/*------------------------------------
左から右に leftflow
------------------------------------*/
.leftflow {visibility: hidden;}
.fadeInLeft {-webkit-animation-fill-mode :both; -ms-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: 1s; -ms-animation-duration: 1s; animation-duration: 1s; -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; visibility: visible!important;}
@keyframes fadeInLeft {0% {opacity: 0; transform: translateX(-50px);} 100% {opacity: 1; transform: translateX(0);}}
@-webkit-keyframes fadeInLeft {0% {opacity: 0; -webkit-transform: translateX(-50px); -ms-transform: translateX(-50px); transform: translateX(-50px);} 100% {opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0);}}

/*------------------------------------
右から左に rightflow
------------------------------------*/
.rightflow {visibility: hidden;}
.fadeInRight {-webkit-animation-fill-mode: both; -ms-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: 1s; -ms-animation-duration: 1s; animation-duration: 1s; -webkit-animation-name: fadeInRight; animation-name: fadeInRight; visibility: visible!important;}
@keyframes fadeInRight {0% {opacity: 0; transform: translateX(50px);} 100% {opacity: 1; transform: translateX(0);}}
@-webkit-keyframes fadeInRight {0% {opacity: 0; -webkit-transform: translateX(50px); -ms-transform: translateX(50px); transform: translateX(50px);} 100% {opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0);}}

/*------------------------------------
Meiryo
------------------------------------*/
header .global-nav a span,
#front .tuition-fee table * {font-family: Meiryo; font-weight: normal;}

/*--------------------------------------------------------------------------
部品
--------------------------------------------------------------------------*/
/*------------------------------------
汎用見出し
------------------------------------*/
.g-h {font-weight: 700; line-height: 1.25; text-align: center; padding: 3.25em 0 1.5em;}

/*------------------------------------
汎用TOP見出し
------------------------------------*/
.page-heading {position: relative; width: 100%;}

.page-heading .inner {position: relative; width: 100%; height: 100%;}
.page-heading .img {position: relative; width: 100%; height: 100%; overflow: hidden; z-index: 1;}
.page-heading .img:before {content: ""; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgb(138 127 83 / 25%); z-index: 2;}
.page-heading .img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: "object-fit: cover; object-position: 50% 50%;";}
.page-heading .txt {position: absolute; left: 0; transform: translateY(-50%); width: 100%; text-align: center; z-index: 2;}
.page-heading .txt .page-title {flex-direction: column; align-items: center;}
.page-heading .txt .page-title span {color: #fff;}

/*------------------------------------
wrapper
------------------------------------*/
.wrapper.type01 {background: #fdf9e9;}
.wrapper.type02 {background: #fbe9d6;}

/*ポートフォリオ*/
.portfolio-listing {justify-content: space-between;}
.portfolio-listing .entry .img {width: 100%; padding-top: 63%;}
.portfolio-listing .entry .img img {top: 0; left: 0;}
.portfolio-listing .entry .post-data {margin: 10px 0 8px; justify-content: space-between; align-items: center;}
.portfolio-listing .entry .post-data time {color: #ff9a64;}
.portfolio-listing .entry .post-data .news-cat {padding: 0px 20px; border: 1px solid #ff9a64; border-radius: 30px; box-sizing: border-box; color: #ff9a64;}

/*------------------------------------
MORE
------------------------------------*/
.more-wrap {text-align: center;}
.more {width: 330px; max-width: 80%; display: inline-block; background: #ff9a64; border-radius: 30px; box-shadow: 4px 4px 1px #825842; box-sizing: border-box; color: #fff;}
.more:hover {box-shadow: 2px 2px 1px #825842;}

/*------------------------------------
Reflection
------------------------------------*/
.reflect {position: relative; overflow: hidden; }
.reflect:after {content: ""; background-color: rgba(255,255,255,0.5); height: 100%; width: 60%; display: block; position: absolute; top: 0; left: -4.5em; transform: skewX(-45deg) translateX(0); -webkit-animation: reflection 5s ease-in-out infinite; animation: reflection 5s ease-in-out infinite;}
.reflect.delay:after {animation-delay: .2s;}
@-webkit-keyframes reflection {
	0% {-webkit-transform: skewX(-45deg) translateX(-100%); opacity: 0;}
	70% {-webkit--webkit-transform: skewX(-45deg) translateX(-100%); opacity: 0.5;}
	80% {-webkit-transform: skewX(-45deg) translateX(-100%); opacity: 1;}
	100% {-webkit-transform: skewX(-45deg) translateX(400%); opacity: 0;}
}
@keyframes reflection {
	0% {transform: skewX(-45deg) translateX(-100%); opacity: 0;}
	70% {transform: skewX(-45deg) translateX(-100%); opacity: 0.5;}
	80% { transform: skewX(-45deg) translateX(-100%); opacity: 1;}
	100% {transform: skewX(-45deg) translateX(400%); opacity: 0;}
}

/*------------------------------------
postlink
------------------------------------*/
.postlink {width: 240px; max-width: 100%; margin: 0 auto; justify-content: space-between;}
.postlink * {color: #ff9a64;}

/*------------------------------------
ページネーション
------------------------------------*/
.pagination {margin-top: 10px; justify-content: center;}
.page-numbers {margin-right: 10px;}
.next.page-numbers {margin-right: 0;}
a.page-numbers {color: #ff9a64; transform: scaleY(1.0); transition: 0.3s all ease;}
a.page-numbers:hover {opacity: 0.8; transform: scaleY(0.8); transform-origin: center;}

/*------------------------------------
年代アーカイブ
------------------------------------*/
.archive .archive-title {margin-bottom: 25px; padding-bottom: 10px; border-bottom: 1px dotted #ff9a64; box-sizing: border-box; color: #ff9a64;}
.archive .year-list {flex-wrap: wrap;}
.archive .year-list li a {display: block; margin-top: 5px; padding: 5px 20px; background: #fff; border: 1px solid #ff9a64; border-radius: 30px; box-sizing: border-box; color: #ff9a64;}
.archive .year-list li.current a {background: #ff9a64; color: #fff;}

/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
header {width: 100%; position: fixed; top: 0; z-index: 101; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;}

header .global-nav a {flex-direction: column; justify-content: center; align-items: center;}
header .global-nav a:hover{box-shadow: 1px 1px 1px #ff9a64; opacity: 0.7;}
header .global-nav a span {color: #ff9a64;}
header .global-nav a img {margin-top: 5px; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;}
header .global-nav a img[src$=".svg"] {width: auto;}
header .global-nav a.classroom img {height: 9px;}
header .global-nav a.profile img {height: 13px;}
header .global-nav a.lesson img {height: 8px;}
header .global-nav a.fee img {height: 7px;}
header .global-nav a.gallery img {height: 13px;}
header .global-nav a.contact img {height: 8px;}
.thin header .global-nav a img {height: 0; margin-top: 0;}

header .inner {align-items: center;}
header .site-title {position: relative;}
header .site-title a {display: inline-flex; align-items: center;}
header .site-title img {width: auto; display: block; opacity: 1; transform: scale(1);}
.thin header .site-title img {opacity: 0; transform: scale(0);}
header .site-title span {color: #ff9a64; opacity: 0; position: absolute; transform: scale(0); white-space: nowrap;}
.thin header .site-title span {color: #ff9a64; opacity: 1; transform: scale(1);}

/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
footer {position: relative; background: #fbe9d6/*#f3f3f3*/;}
footer .inner {position: relative;}
footer .site-logo img {width: 100%; height: auto;}
footer .site-name, footer .site-map .site-map-title {font-weight: 700;}
footer .address {margin-bottom: 3px;}
footer .office-info .contact a {align-items: center;}
footer .office-info .contact a:hover {opacity: 0.7;}
footer .office-info .contact a:before {content:""; margin-right: 5px; display: inline-flex; align-items: center;}
footer .office-info .contact.tel a:before {background-image: url(../img/common/icon/tel02.svg); background-repeat: no-repeat;}
footer .office-info .contact.mail a:before {background-image: url(../img/common/icon/mail02.svg); background-repeat: no-repeat;}
footer .site-map * {line-height: 2.5;}
footer .site-map li a{display: inline-flex; align-items: center;}
footer .site-map li a:before {font-family: "Font Awesome 5 Free"; content: '\f054'; font-weight: 900; width: 13px; height: 13px; margin-right: 3px; padding: 0 0 0 1px; display: inline-flex; justify-content: center; align-items: center; background: #ff9a64; border-radius: 50%; box-sizing: border-box; color: #fff; font-size: 8px;}

footer .socials .socials-list li:not(:last-child) {margin-right: 1em;}
footer .socials .socials-list li a {display: block;}

footer .copyright {background: #000; color: #fff; line-height: 1; text-align: center;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
フロントページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
#front {}

/*------------------------------------
HERO HERDER
------------------------------------*/
#front .page-heading .deco {width: 100%; position: absolute; top: 0; left: 0; z-index: 1;}
#front .page-heading #top-slider {width: 100%; height: 100%; overflow: hidden;}
#front .page-heading .img:before {background: transparent;}
#front .page-heading #top-slider .slick-list .img img {object-position: 50% 50%; font-family: "object-fit: cover; object-position: 50% 50%;"; transform: scale(1,1); transition: 0s;}
#front .page-heading #top-slider .slick-list .slick-active .img img {transform: scale(1.2,1.2); transition: ease 16s;}
#front .page-heading #top-slider .slick-list .slick-continue .img img {transform: scale(1.4,1.4); transition: ease 16s;}

#front .page-heading #top-slider .slick-list .img:before {content: ""; width: 0; height: 5px; display: block; position: absolute; left: 0; top: calc(100% - 5px); background: #ff9a64; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease;}
#front .page-heading #top-slider .slick-list .slick-active .img:before {animation: progress 8.8s; animation-fill-mode: forwards;}
@keyframes progress {0% {width: 0;} 100% {width: 100%;}}

#front .page-heading #top-slider .img .message-box.flex {flex-direction: column; position: absolute; top: 20%; left: 10%;}
#front .page-heading #top-slider .img .message-box span {margin-bottom: 10px; padding: 10px 30px; background: rgb(255 255 255 / 0.2); font-size: 20px;}

#front .page-heading #top-slider .img .contact-box {position: absolute; left: 10%; bottom: 10%; border-radius: 30px; z-index: 2;}
#front .page-heading #top-slider .img .contact-box .label {background: #fff; border-radius: 30px 0 0 30px; box-sizing: border-box; font-weight: bold;}
#front .page-heading #top-slider .img .contact-box a {background: #ff6573; border-radius: 0 30px 30px 0; box-shadow: 3px 3px 5px #bbb; box-sizing: border-box; color: #fff;}
#front .page-heading #top-slider .img .contact-box a:hover {box-shadow: 1px 1px 2px #bbb;}

#front .page-heading .scroll-down {visibility: visible;}

/*------------------------------------
section title
------------------------------------*/
.sec-title-img img {width: 50px; margin: 0 auto; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease;}
.sec-title-img img:hover {transform: rotate(360deg);}
.sec-title {flex-direction: column; align-items: center;}
.sec-title img[src$=".svg"].en {width: auto; margin: 10px 0 8px;}
.sec-title .ja {font-weight: bold;}

.sec-sec-title {flex-direction: column; align-items: flex-start;}
.sec-sec-title img[src$=".svg"].en {width: auto;}
.sec-sec-title .ja {font-weight: bold;}

/*------------------------------------
wrapper
------------------------------------*/
#front .wrapper {position: relative;}
#front .wrapper .curv {width: 100%; position: absolute; left: 0; bottom: 0; transform: translateY(50%); z-index: 1;}

/*------------------------------------
お知らせ
------------------------------------*/
#front section.news .sec-title-img img {transform: rotate(0deg) translateX(-13px);}
#front section.news .sec-title-img img:hover {transform: rotate(360deg) translateX(-13px);}
#front section.news .sec-title .en {height: 20px;}

#front section.news .news-list {margin-bottom: 40px; background: #fff; border: 1px solid #ff9a64; box-shadow: 0 0 2px #ff9a64; text-align: center;}
#front section.news .news-list a {display: block; color: #ff9a64;}
#front section.news .news-list a:hover {background: #ff9a64; color: #fff;}
#front section.news .news-list .no-news {color: #ff9a64;}

/*------------------------------------
ごあいさつ
------------------------------------*/
#front .profile {padding: 0;}
#front .profile .greeting .contents-img {position: relative;}
#front .profile .greeting .contents-img .img {height: 100%;}
#front .profile .greeting .contents-img .name {position: absolute;}
#front .profile .greeting .contents-img .name span {background: #ff9a64; box-sizing: border-box; color: #fff;}
#front .profile .greeting .contents-img .name span.name-ja {display: block; font-size: 18px; letter-spacing: 6px;}
#front .profile .greeting .contents-img .name span.name-en {font-size: 12px;}

#front .profile .greeting .contents-txt {background: #fff;}
#front .profile .greeting .contents-txt .message-box .sec-title-greeting .ja {font-weight: 700;}
#front .profile .greeting .contents-txt .message-box .sec-title-greeting .en {color: #ff9a64; font-size: 40px; letter-spacing: 8px;}
#front .profile .greeting .contents-txt .message-box p {line-height: 2;}
#front .profile .greeting .contents-txt .profile-box {border: 1px dotted #ff9a64;}
#front .profile .greeting .contents-txt .profile-box h3 span {font-size: 18px;}

/*------------------------------------
概要
------------------------------------*/
#front .classroom .inner {flex-direction: column; align-items: center; background-color: #fff; border-radius: 30px;}
.classroom .sec-title-img img:hover {transform: scale(1.3);}
#front .classroom .sec-title .en {height: 24px;}
#front .classroom dl .group {align-items: center;}
#front .classroom dl dt {text-align: center;}
#front .classroom .contact {margin: 10px 0; padding: 5px 10px; display: inline-flex; align-items: center; background: #ff9a64; border-radius: 5px; box-shadow: 4px 4px 1px #825842; box-sizing: border-box; color: #fff;}
#front .classroom .contact:hover {box-shadow: 2px 2px 1px #825842;}
#front .classroom .contact.tel {margin-right: 24px;}
#front .classroom .contact:before {content:""; width: 25px; height: 25px; margin-right: 10px; display: inline-flex; align-items: center;}
#front .classroom .contact.tel:before {background-image: url(../img/common/icon/tel01.svg); background-repeat: no-repeat;}
#front .classroom .contact.mail:before {background-image: url(../img/common/icon/mail01.svg); background-repeat: no-repeat;}

/*------------------------------------
レッスン概要
------------------------------------*/
#front .lesson .sec-title-lesson {margin: 0 auto; padding: 20px 0 20px; flex-direction: column; align-items: center; border-top: 2px dotted #333; border-bottom: 2px dotted #333; box-sizing: border-box;}
#front .lesson .sec-title-lesson .en {width: auto; margin-bottom: 20px;}

#front .lesson .sec-section .lesson-inner .sec-sec-title .en {height: 30px; margin: 3px 0 9px;}
#front .lesson .sec-section .lesson-inner .contents-img {position: relative;}
#front .lesson .sec-section .lesson-inner .contents-img .img {padding-top: 60%;}
#front .lesson .sec-section .lesson-inner .contents-img .img > img {top: 0; left: 0;}
#front .lesson .sec-section .lesson-inner .contents-img .illust {position: absolute;}
#front .lesson .sec-section:nth-of-type .lesson-inner .contents-img .illust img {height: 140px;}
#front .lesson .sec-section:nth-of-type(odd) .lesson-inner .contents-img .illust {left: -5%; bottom: -70px;}
#front .lesson .sec-section:nth-of-type(even) .lesson-inner .contents-img .illust {top: -70px; right: -10%;}

#front .lesson .sec-section .lesson-inner .contents-txt p {line-height: 1.7;}
#front .lesson .sec-section.lesson-contents .lesson-inner .contents-txt .sec-sec-title .en {height: 30px;}
#front .lesson .sec-section.guidance-contents .lesson-inner .contents-txt .sec-sec-title .en {height: 33px;}
#front .lesson .sec-section.competition-contents .lesson-inner .contents-txt .sec-sec-title .en {height: 40px;}
#front .lesson .sec-section.teaching-materials-contents .lesson-inner .contents-txt .sec-sec-title .en {height: 56px;}
#front .lesson .sec-section.facility-contents .lesson-inner .contents-txt .sec-sec-title .en {height: 42px;}

/*------------------------------------
受講料金
------------------------------------*/
#front .tuition-fee .sec-title .en {height: 22px;}
#front .tuition-fee table * {background: #fff; border: 1px solid #ff9a64; box-sizing: border-box; color: #ff9a64; text-align: center; vertical-align: middle;}
#front .tuition-fee table .bg-ff9a64 {background: #ff9a64; color: #fff;}
#front .tuition-fee table .bg-ff6573 {background: #ff6573; color: #fff;}
#front .tuition-fee table .bg-ff9a64 th {background: #ff9a64; color: #fff;}
#front .tuition-fee table {width: 100%; border-collapse: collapse;}
#front .tuition-fee .fee table {table-layout: fixed;}
#front .tuition-fee .fee table:first-of-type {margin-bottom: 30px;}
#front .tuition-fee .fee .note {display: inline-block;}
#front .tuition-fee .lesson-schedule th {padding: 3px 0;}
#front .tuition-fee .lesson-schedule td {padding: 3px 9px;}
#front .tuition-fee .lesson-schedule td.large {font-size: 18px; line-height: 1;}

/*------------------------------------
広告
------------------------------------*/
#front .advertisement .img img {top: 0;}
#front .advertisement .more {position: absolute; background: #ff6573; text-align: center;}

/*------------------------------------
ギャラリー
------------------------------------*/
#front .gallery .sec-title .en {height: 30px;}
#front .gallery .slick-dots li button:before {color: #ff9a64;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
テンプレ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
お知らせ個別ページ (single.php)
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
お知らせアーカイブページ (news.php)
--------------------------------------------------------------------------*/
#archive .inner {margin: 0 auto; border: 1px solid #333; box-sizing: border-box;}
#archive .news-list .entry {display: inline-flex; flex-wrap: wrap; width: 100%; padding: .85em .125em; border-bottom: 1px solid #333;}
#archive .news-list .entry a {}
#archive .news-list .entry time {margin-right: 1.25em;}
#archive .news-list .entry .cate {color: #fff; margin-right: 1.25em; padding: 0 .25em; background: #333;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
固定ページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
インフォメーション一覧 (archive-news.php)
--------------------------------------------------------------------------*/
#archive-news .page-heading .txt .page-title img[src$=".svg"] {margin-bottom: 20px;}
#archive-news .archive-news-area {background: #fff; border: 1px solid #ff9a64; box-shadow: 0 0 2px #ff9a64; box-sizing: border-box; }
#archive-news .archive-news-area .news-list .entry {margin-bottom: 1em; line-height: 1.7;}
#archive-news .archive-news-area .news-list .entry a {display: inline-block; transition: .3s all ease;}
#archive-news .archive-news-area .news-list .entry a:hover * {color: #ff9a64;}

/*--------------------------------------------------------------------------
インフォメーション個別 (single-news.php)
--------------------------------------------------------------------------*/
#single-news .page-heading .txt .page-title img[src$=".svg"] {margin-bottom: 20px;}
#single-news .container {background-color: #fff; border: 1px solid #ff9a64; box-shadow: 0 0 2px #ff9a64; box-sizing: border-box;}
#single-news h2 {text-align: center;}

/*--------------------------------------------------------------------------
ギャラリーページ (archive-gallery.php)
--------------------------------------------------------------------------*/
#lightboxOverlay {background-color: #48341e;}
.lb-data .lb-caption {margin: 3px 0 8px; display: inline-block;}
.lb-data .lb-number {color: #333;}

/*--------------------------------------------------------------------------
お問い合わせ (contact.php)
--------------------------------------------------------------------------*/
#contact .page-heading .txt .page-title img[src$=".svg"] {margin-bottom: 20px;}
#contact .contact-message-wrap {text-align: center;}

#contact .form .group span.wpcf7-list-item {margin: 0;}
#contact .form .group input[type="checkbox"] {display:inline-block; position: relative; top: -1px;}
#contact .form .group input[type="checkbox"] + span.wpcf7-list-item-label:before {content: none;}

#contact .form .group dd span.wpcf7-list-item-label {margin: 0 20px 0 5px; display: inline-block;}
#contact .form .submit-btn-area {text-align: center;}
#contact .form .submit-label {padding: 10px 30px 14px; display: inline-block; background: #ff9a64; border-radius: 30px; box-sizing: border-box;}
#contact .form input.wpcf7-form-control.wpcf7-submit {color: #fff;}

#contact .form dl .group {margin-bottom: 30px;}
#contact .form dl dt {display: flex; align-items: center;}
#contact .form dl dt .title {margin-right: .625em; font-weight: 700; line-height: 1;}
#contact .form dl dt .required {padding: .125em 1.5em; border-radius: 30px; background: #ff9a64; color: #fff;}
#contact .form .consent a {position: relative; border-bottom: 1px solid #333;}
#contact .form .consent a:after {content: ""; position: absolute; bottom: 0; left: auto; right: 0; width: 0; height: 1px; background: #333; transition: .75s ease;}
#contact .form .consent a:hover:after {width: 100%; left: 0; right: auto;}
#contact .form .consent span.wpcf7-list-item-label:before,
#contact .form .consent span.wpcf7-list-item-label:after {content: " ";}
#contact .form .consent input[type="checkbox"] + span.wpcf7-list-item-label:before {width: 20px; height: 20px; position: relative; display: block; background: #fff; border: 1px solid #333; border-radius: 50%; margin-right: 10px; transition: .5s ease;}

#contact .form .submit-btn {text-align: center;}
#contact .form .submit-btn .submit-label {position: relative; display: inline-flex; align-items: center; z-index: 1;}
#contact .form .submit-btn .submit-label:hover input[type="submit"] {opacity: 1;}
#contact .form .submit-btn .submit-label:hover .more:before {transform: translateY(-50%);}
#contact .form .submit-btn .submit-label,
#contact .form .submit-btn .submit-label input[type="submit"] {cursor: not-allowed;}
#contact .form .submit-btn .submit-label.active:hover input[type="submit"] {opacity: .7;}
#contact .form .submit-btn .submit-label.active:hover .more:before {transform: translateY(-50%) scale(1.25,1.25);}
#contact .form .submit-btn .submit-label.active,
#contact .form .submit-btn .submit-label.active input[type="submit"] {cursor: pointer;}

#contact .form input[type="text"],
#contact .form input[type="email"],
#contact .form input[type="tel"],
#contact .form input[type="date"],
#contact .form input[type="datetime-local"],
#contact .form textarea,
#contact .form select {display: block; width: 100%; background: #fff; box-sizing: border-box; resize: vertical; transition: .5s ease;}
#contact .form select {position: relative; border: none; cursor: pointer; overflow: hidden; z-index: 1;}
#contact .form .select {display: block; position: relative; border: 1px solid #333; border-radius: 5px; z-index: 1;}
#contact .form .select:before {content: ""; position: absolute; right: 20px; top: 9px; width: 12px; height: 12px; display: block; border-top: 1px solid #333; border-right: 1px solid #333; transform: rotate(135deg); z-index: 2;}
#contact .form input[type="text"]:focus,
#contact .form input[type="email"]:focus,
#contact .form input[type="tel"]:focus,
#contact .form input[type="date"]:focus,
#contact .form input[type="datetime-local"]:focus,
#contact .form textarea:focus {border-color: #67ba46;}

#contact .form input[type="radio"],
#contact .form input[type="checkbox"],
#contact .form input[type="acceptance"] {display: none;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label,
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label,
#contact .form input[type="acceptance"]+ span.wpcf7-list-item-label {display: inline-flex; align-items: flex-start; cursor: pointer;}
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"] + span.wpcf7-list-item-label:before,
#contact .form input[type="radio"] + span.wpcf7-list-item-label:before {position: relative; display: block; background: #fff; border: 1px solid #333; margin-right: 10px; transition: .3s ease;}

#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"] + span.wpcf7-list-item-label:before {width: 20px; height: 20px;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label:before {top: 2px; width: 15px; height: 15px; border-radius: 50%; transition: .3s ease;}

#contact .form span.wpcf7-list-item-label {display: block; position: relative;}
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:after {width: 10px; height: 5px; transform: rotate(-45deg); content: ''; position: absolute; top: 5px; left: 4px; border: 3px solid #fff; border-top: none; border-right: none; transition: .3s ease; opacity: 0;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label:after {width: 12px; height: 12px; content: ''; position: absolute; left: 3px; top: 5px; background: #333; border-radius: 50%; transition: .3s ease; opacity: 0;}

#contact .form input[type="checkbox"]:checked + span.wpcf7-list-item-label:after,
#contact .form input[type="radio"]:checked + span.wpcf7-list-item-label:after {opacity: 1;}
#contact .form input[type="checkbox"]:checked + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"]:checked + span.wpcf7-list-item-label:before {background: #333;}

#contact .form input[type="submit"] {transition: .3s ease;}
#contact .form input[type="submit"]:hover {opacity: .7;}

#contact .form .consent {text-align: center;}
#contact .form .consent p {margin-bottom: 1em; line-height: 1.75;}
#contact .form .consent h2 {margin-bottom: .75em;}

/*--------------------------------------------------------------------------
プライバシーポリシー (privacy.php)
--------------------------------------------------------------------------*/
#privacy .page-heading .img img {object-position: 50% 70%; font-family: "object-fit: cover; object-position: 50% 70%;";}
/* article部分の記号を１文字分に調整 */
#privacy .space {width: 1em; display: inline-block; text-align: center;}
#privacy .space.ta-l {width: 1em; text-align: left;}
#privacy .privacy p.message {line-height: 1.75; text-align: justify;}
#privacy .privacy h3 {font-weight: 700;}
#privacy .privacy .sec-section p {line-height: 1.75;}
#privacy .privacy p.pb {padding-bottom: 0.75em;}
#privacy .privacy ol {padding-left: 1em; box-sizing: border-box;}
#privacy .privacy ol li {line-height: 1.75; list-style-type: decimal;}
#privacy .privacy p.mb1 {margin-bottom: 1em;}

/*--------------------------------------------------------------------------
404.php
--------------------------------------------------------------------------*/
#notfound {display: flex; flex-direction: column; justify-content: center; align-items: center;}
#notfound * {text-align: center;}
#notfound img[src$=".svg"].notfound {width: 200px; max-width: 90%;}
#notfound h1 {margin-bottom: .325em; color: #ff9a64; line-height: 1;}
#notfound h2, #notfound .notice {line-height: 2;}
#notfound .link-to-top-page {width: 240px; max-width: 100%; margin-bottom: 80px; background: #ff9a64; padding: 10px 0; display: inline-block; box-sizing: border-box; border-radius: 30px; color: #fff;}

#notfound .wrapper {width: 100%;}
#notfound .wrapper.type02 .inner {padding-top: 80px; position: relative;}
#notfound .wrapper.type02 .inner h1 {width: 100%; position: absolute; left:0;}

/*--------------------------------------------------------------------------
投稿汎用要素
--------------------------------------------------------------------------*/
#single {word-wrap: break-word;}
#single * {text-align: initial;}

#single h2,
#single h3,
#single h4,
#single h5,
#single h6 {position: relative; font-weight: 700;}

#single p {line-height: 1.75; margin: 0 0 30px 0;}
#single a {text-decoration: underline;}
#single em {font-style: italic;}
#single strong {font-weight: 700;}
#single sup, #single sub {font-size: .5em;}
#single sup {vertical-align: top;}
#single sub {vertical-align: bottom;}
#single blockquote {position: relative; margin: 0 0 30px 0; padding: 30px; background: #eee;}
#single blockquote p {margin-bottom: 0;}
#single blockquote.wp-block-quote cite {display: block; text-align: right;}
#single .wp-block-pullquote {width: 100%;}
#single .wp-block-pullquote blockquote {padding: 30px;}
#single .wp-block-pullquote cite {display: block; text-align: right;}
#single code {display: block; color: #fff; margin: 0 0 30px 0; padding: 20px; background: #364549;}
#single hr {border-top-color: #000;}
#single pre {margin: 0 0 30px 0;}

#single ul,
#single ol {margin: 0 0 30px 0;}
#single ul li,
#single ol li {margin-left: 1.5em; line-height: 2.5;}
#single ul {list-style-type: disc;}
#single ul li {list-style-type: inherit;}
#single ol {list-style-type: decimal;}
#single ol li {list-style-type: inherit;}
#single ul ul,
#single ol ol,
#single ul ol,
#single ol ul {margin: 0 0 0 1.75em;}

#single table {border-collapse: collapse; text-align: left; line-height: 1.5;}
#single table thead th,
#single table thead td,
#single table tfoot th,
#single table tfoot td {background: #eee; font-weight: 700;}
#single table tr {border-bottom: 1px solid #000;}
#single table tr:last-child {border-bottom: none;}
#single table thead th,
#single table thead td {padding: 1rem 1rem;}
#single table th,
#single table td {font-family: initial; padding: 0.75rem 1rem;}
#single table th {background: #eee;}

#single .wp-block-table {width: 100%;}
#single .scroll-table {margin: 0 0 30px 0;}

#single .wp-caption {display: block; max-width: 100%; margin: 0 0 30px 0;}
#single .wp-caption img {display: block;}
#single .wp-caption-text {font-size: .95rem; line-height: 1.5; text-align: left; padding: 10px 15px;}

#single .aligncenter {display: block; margin: 0 0 30px 0;}
#single .alignright {float: right;}
#single .alignleft {float: left;}
#single img.aligncenter {margin: 0 auto;}
#single img.alignleft {margin-right: auto;}
#single img.alignright {margin-left: auto;}

#single figure {display: inline-block; margin: 0 0 30px 0;}
#single figcaption {font-size: .85rem; text-align: center;}
#single figure.wp-block-image figcaption {margin: 0; padding: 8px 0;}
#single .wp-block-gallery {margin: 0 0 30px 0;}
#single .wp-block-gallery .blocks-gallery-grid {margin-bottom: 0;}
#single .wp-block-gallery .blocks-gallery-item {margin: 10px 10px;}
#single .wp-block-gallery .blocks-gallery-item figure {margin: 0;}
#single .wp-block-gallery .blocks-gallery-item .blocks-gallery-item__caption {width: calc(100% - 20px); font-size: .85rem; text-align: left; background: rgba(0,0,0, .3); margin: 0; padding: 8px 10px;}

#single .wp-block-media-text {align-items: start; margin: 0 0 30px 0;}
#single .wp-block-media-text figure.wp-block-media-text__media {display: block; margin: 0; padding: 0;}
#single .wp-block-media-text figure.wp-block-media-text__media img {width: auto; max-width: 100%;}
#single .wp-block-media-text .wp-block-media-text__content {text-align: center; padding: 0 20px;}
#single .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {padding: 0 20px 0 0;}
#single .wp-block-media-text p.has-large-font-size {margin: 0!important;}

#single .wp-block-cover {margin: 0 0 30px 0;}

#single .wp-block-pullquote {position: relative; margin: 0 0 30px 0; padding: 20px 0;}
#single .wp-block-pullquote blockquote {background: #fff; margin: 0; padding: 30px 0; border: 2px solid #333!important; border-left: none!important; border-right: none!important;}
#single .wp-block-pullquote blockquote p {font-size: 1.35rem; margin: 0 0 20px 0;}

#single .wp-block-button {margin: 0 0 30px 0;}
#single .wp-block-button a {display: inline-block; color: #fff; background: #333; padding: 8px 20px; text-decoration: none!important; border-radius: 36px;}
#single .wp-block-button a:hover {color: #333; background: #fff; opacity: 1;}

#single .wp-block-file {margin: 0 0 30px 0;}
#single .wp-block-file__button,
#single .wp-block-button__link {display: inline-block; color: #fff; background: #333; padding: 8px 14px; text-decoration: none!important; border-radius: 36px;}
#single .wp-block-file__button:hover,
#single .wp-block-button__link:hover {color: #333; background: #fff; opacity: 1;}

#single .wp-block-columns {}
#single .wp-block-column {margin: 0 16px 20px 0;}
#single .wp-block-column:last-child {margin: 0 0 20px 0;}

#single .wp-block-embed {display: block;}
