@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap');

:root {
    --color1: #333333;
    --color2: #FFFFFF;
    --color3: #2FB881;
    --color4: #009056;
    --color5: #000000;
}

html {
    font-size: 62.5%;
    /* 16px * 62.5% = 10px */
    width: 100%;
    box-sizing: border-box;
}

body {
    color: var(--color1);
    background-color: #FFFFFF;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
}

img {
    width: 100%;
}

header {
    position: absolute;
    top: 2.5%;
    left: 0;
    width: 100%;
    z-index: 100;
    color: var(--color2);
}

header h1 {
    visibility: hidden;
}

.header__contents {
    width: 95%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#menu-header {
    background: transparent;
    font-size: 1.4rem;
    text-decoration: underline;
    padding: 5px 0px;
    display: block;
    margin: 0;
    line-height: 1;
}

.top {
    position: relative;
}

.top::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color5);
    opacity: 0.7;
}

.top-image {
    min-height: 300px;
    max-height: 500px;
    object-fit: cover;
}

.top-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 500px;
    z-index: 10;
}

.top-title h2 {
    position: relative;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.2rem;
    position: relative;
    font-size: 1.4rem;
    color: #FFFFFF;
    margin-top: -10px;
}

.top-title h2::before,
.top-title h2::after {
    content: "";
    width: 30px;
    height: 2px;
    background: #FFFFFF;
    display: block;
}

.menu {
    padding: 10px 0;
    font-size: 1.8rem;
    background: var(--color3);
    color: var(--color2);
    margin-bottom: 20px;
}

.menu ul {
    width: 90%;
    max-width: 1480px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.menu ul li {
    width: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: solid 1px #FFFFFF;
}

.menu ul li a {
    transition: 0.4s;
}

.menu ul li a:hover {
    opacity: 0.5;
}

.menu ul li a span {
    display: block;
    font-size: 1.3rem;
}

.menu ul li:last-child {
    border: none;
}

.pan {
    width: 90%;
    max-width: 1480px;
    margin: 20px auto 0;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.pan p {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1px;
    font-size: 1.3rem;
}

.pan a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1px;
    font-size: 1.3rem;
    transition: 0.4s;
}

.pan a:hover {
    color: var(--color3);
}

.pan__icon {
    font-size: 2rem;
}


.main-contents {
    width: 90%;
    max-width: 1480px;
    margin: 40px auto 100px;
    display: flex;
    justify-content: center;
    gap: 30px;
}

.sideber {
    padding-top: 10px;
    width: 25%;
    min-width: 220px;
    text-align: left;
}

.sideber__contents {
    position: sticky;
    top: 40px;
    bottom: 40px;
}

.sideber h2 {
    font-size: 1.8rem;
    font-weight: 700;
    padding: 10px 5px 10px 10px;
    border-left: solid 5px var(--color4);
    box-shadow: 0 0 4px #BBBBBB;
    margin-bottom: 20px;
}

.sideber__ul {
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sideber__ul__a {
    transition: 0.4s;
}

.sideber__ul__a:hover {
    color: var(--color3);
}

.sideber__ul__a span {
    vertical-align: bottom;
    margin-bottom: -1px;
}

.menu__button {
    display: none;
}

@media (max-width: 767px) {
    .menu__button {
        position: relative;
        display: block;
        height: 60px;
        background: var(--color3);
    }

    .menu__button::after {
        content: "MENU";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #FFFFFF;
        font-size: 1.8rem;
        font-weight: 700;
    }

    .active::after {
        content: "CLOSE";
    }

    .menu {
        display: none;
        padding: 0;
    }

    .menu ul {
        width: 100%;
    }

    .menu ul li {
        width: 80%;
        padding: 20px 0;
        border-right: none;
        border-bottom: solid 1px #FFFFFF;
    }

    .main-contents {
        flex-direction: column-reverse;
    }

    .sideber {
        width: 100%;
    }
}


.contents {
    flex: 1;
}

.news {
    margin-bottom: 100px;
    text-align: left;
}

.news ul {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}

.news ul li {
    padding: 20px 0;
    border-bottom: solid 1px #D9D9D9;
}

.news ul li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    position: relative;
}

.news ul li a span {
    display: block;
    padding: 2.5px 5px;
    background: var(--color3);
    color: #FFFFFF;
    font-size: 1.4rem;
}

.top__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 300px;
    padding: 15px 0;
    margin: 0 auto;
    border: solid 1px var(--color3);
    transition: 0.4s;
    color: var(--color3);
}

.top__button:hover {
    background: var(--color3);
    color: #FFFFFF;
}

.event__title {
    position: relative;
    text-align: left;
    margin-bottom: 40px;
    font-weight: 700;
}

.event__title p {
    font-size: 5rem;
    font-weight: 700;
    opacity: 0.15;
    color: #2FB881;
    line-height: 1;
}

.event__title h2 {
    position: absolute;
    bottom: -10px;
    left: 0;
    font-size: 2rem;
}

.event__list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 40px;
}

.event__list li {
    width: calc(100% / 3 - 10px);
}

.event__list li a {
    display: block;
    text-align: left;
    padding-bottom: 10px;
    box-shadow: 0px 0px 4px #BBBBBB;
}

.event__list li a div {
    overflow: hidden;
    margin-bottom: 5px;
}

.event__list li a div img {
    display: block;
    height: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    transition: 0.4s;
}

.event__list li a:hover div img {
    transform: scale(1.1);
}

.event__list li a time {
    display: block;
    width: 90%;
    margin: 0 auto 2.5px;
    font-size: 1.4rem;
    color: var(--color4);
    font-weight: 1.2rem;
}

.event__list li a h3 {
    width: 90%;
    margin: 0 auto;
    font-size: 1.4rem;
    font-weight: 700;
}

@media (max-width: 1023px) {
    .event__list li {
        width: calc(100% / 2 - 15px);
    }
}

@media (max-width: 767px) {
    .news ul li a h3 {
        width: 100%;
    }

    .event__title p {
        font-size: 3.8rem;
    }
}

.attention {
    width: 90%;
    max-width: 800px;
    margin: 0 auto 100px;
}

.attention__text {
    padding: 20px 15px 10px;
    height: 150px;
    overflow-y: scroll;
    text-align: left;
    letter-spacing: 0.2rem;
    line-height: 1.8;
    border: solid 1px #D9D9D9;
}

.attention__text p {
    font-size: 1.4rem;
    margin: 5px 0 10px;
}

footer {
    background: var(--color5);
    color: #FFFFFF;
    padding: 60px 0 40px;
}

footer a {
    display: block;
    width: 50%;
    max-width: 200px;
    margin: 0 auto 100px;
}

footer ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
}

footer ul li {
    width: 250px;
}

footer ul li a {
    display: inline;
    width: auto;
    max-width: none;
    margin: 0;
    transition: 0.4s;
}

footer ul li a:hover {
    color: var(--color3);
}

footer p {
    font-size: 1.4rem;
}

@media (max-width: 767px) {
    footer ul {
        flex-direction: column;
        gap: 30px;
    }
}

.profile {
    margin-bottom: 100px;
    text-align: left;
}

.profile img {
    display: block;
    object-fit: cover;
    aspect-ratio: 16/9;
    height: 100%;
    padding: 40px 0;
}

.profile__text {
    line-height: 1.8;
    letter-spacing: 0.3rem;
}

.profile__discription {
    margin-bottom: 50px;
}

.profile__discription h3 {
    padding: 5px 0;
    margin-bottom: 10px;
    font-size: 1.7rem;
    font-weight: 700;
    display: flex;
    gap: 10px;
    border-bottom: solid 1px #D9D9D9;
}

.profile__discription h3::before {
    content: "";
    display: block;
    width: 4px;
    background: var(--color4);
}

.profile__discription p {
    margin-bottom: 20px;
    text-align: left;
}

.profile__discription p span {
    vertical-align: text-bottom;
}

.help__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.help__list li {
    width: calc(100% / 2 - 20px);
    border: solid 1px #D9D9D9
}

.help__list li a div {
    position: relative;
}

.help__list li a div img {
    filter: brightness(0.3);
    aspect-ratio: 4/2;
    object-fit: cover;
}

.help__list li a div .h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    z-index: 10;
    color: #FFFFFF;
}

.help__list li a p {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0;
    transition: 0.4s;
    font-size: 1.3rem;
    gap: 5px;
}

.help__list li a:hover p {
    color: var(--color3);
}

@media (max-width: 1024px) {
    .help__list {
        gap: 20px;
    }

    .help__list li {
        width: calc(100% / 2 - 10px);
    }
}

@media (max-width: 600px) {
    .help__list li {
        width: 100%;
    }

    .profile img {
        aspect-ratio: 4/3;
    }
}

.wp-pagenavi a,
.wp-pagenavi span {
    text-decoration: none;
    border: 1px solid #D9D9D9 !important;
    padding: 3px 10px !important;
    margin: 0 2.5px !important;
}

.wp-pagenavi span.current {
    background: var(--color3);
    color: #FFFFFF !important;
    border: none !important;
}

.single__navi {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 40px;
}

.single__title {
    padding-bottom: 40px;
}

.single__text {
    margin-bottom: 100px;
    line-height: 1.8;
    letter-spacing: 0.3rem;
}

.um-account-meta.radius-1 img {
    aspect-ratio: 1/1;
    height: 100%;
}

.personal__text {
    text-align: left;
    letter-spacing: 0.2rem;
    line-height: 1.8;
    margin-bottom: 60px;
}

.wp-pagenavi {
    text-align: left;
}

.news ul li a .archive__arrow {
    position: absolute;
    top: 50%;
    right: 20px;
    padding: 0;
    margin: 0;
    transform: translateY(-50%);
    background-color: transparent;
    font-size: 2.2rem;
    color: #000000;
    transition: 0.4s;
}

.move-archive ul li a {
    padding-right: 60px;
    transition: 0.4s;
}

.move-archive ul li a:hover {
    color: var(--color3);
}

.move-archive ul li a:hover .archive__arrow {
    color: var(--color3);
}

.video iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    margin-bottom: 80px;
}

.document p {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7.5px;
    padding: 15px 0;
    border: solid 1px #D9D9D9;
    transition: 0.4s;
    font-size: 1.8rem;
    margin-bottom: 50px;
}

.document:hover p {
    color: var(--color3);
}

.single__pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: 40px;
}

.single__pagenavi a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    gap: 5px;
    transition: 0.4s;
}

.back {
    position: absolute;
    left: 0;
    top: 0;
}

.next {
    position: absolute;
    right: 0;
    top: 0;
}

.single__pagenavi a:hover {
    color: var(--color3);
}

@media (max-width: 599px) {
    .single__pagenavi {
        margin-bottom: 90px;
    }

    .back {
        top: 50px;
    }

    .next {
        top: 50px;
    }
}

.comingsoon {
    font-size: 2.8rem;
    line-height: 2;
}

.privacy__contents {
    margin-bottom: 50px;
    text-align: left;
    line-height: 2;
}

.privacy__contents__title {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 50px;
}

.privacy__contents__text {
    margin-bottom: 100px;
}

.privacy__contents__ul {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.privacy__contents__ul__li__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    margin-bottom: 10px;
}

.privacy__contents__ul__li__title span {
    display: block;
    width: 10px;
    height: 2px;
    background: var(--color3);
    color: #FFFFFF;
}

.privacy__contents__ul__li__ul {
    margin-top: 15px;
}

.privacy__contents__ul__li__ul__li {
    padding-left: 16px;
}

.privacy__contents__ul__li__ul__bottom {
    margin-bottom: 50px;
}

.privacy__contents {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 150px;
    text-align: left;
}

.privacy__contents dl {
    display: flex;
    flex-wrap: wrap;
}

.privacy__contents dl dt {
    padding: 20px 0;
    border-bottom: solid 1px #D9D9D9;
    width: 250px;
    font-weight: 700;
}

.privacy__contents dl dd {
    padding: 20px 0;
    width: calc(100% - 250px);
    border-bottom: solid 1px #D9D9D9;
}

.privacy__contents dl dd span {
    color: #757373;
}

.privacy__contents dl dd a {
    text-decoration: underline;
    color: #0085FF;
}

.company__map {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-top: 50px;
    filter: grayscale(1);
}


@media (max-width: 1023px) {
    .privacy__contents dl dt {
        width: 100%;
        border-bottom: none;
        padding-bottom: 0;
        font-size: 1.4rem;
    }

    .privacy__contents dl dd {
        width: 100%;
        font-size: 1.4rem;
        line-height: 1.8;
        padding-top: 10px;
    }
}








/*ContactForm7カスタマイズ*/

input, select {
  -webkit-appearance: none;
  appearance: none;
}

table.CF7_table{
	width:100%;
	display: block;
}

table.CF7_table tbody{
	width:100%;
	display: block;
}

table.CF7_table tbody tr{
	width:100%;
	display: flex;
	align-items: center;
	margin-bottom: 25px;
}


.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	width: 100%;
	border: 1px solid #d8d8d8;
	padding: 10px;
}

table.CF7_table tbody tr {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    text-align: left;
	gap: 10px;
}

.CF7_table ::placeholder {
	color:#797979;
}

/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 5px;
	background: #2FB881;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 5px;
	background: #bdbdbd;/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
			width: 30%;
        vertical-align: middle;
	}
	
	.CF7_table td {
		flex: 1;
	}
}

/* レスポンシブ */
@media screen and (max-width: 1023px){
	table.CF7_table{
	width:95%;
	}
	
	table.CF7_table tbody tr {
		flex-direction: column;
	}
	
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
	background-color: #ebedf5;
        padding: 10px;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
    background-color: #2FB881;
    border: 0;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    padding: 10px 30px;
    margin: 0 auto;
    display: block;
	transition: 0.5s;
}

.wpcf7 input.wpcf7-submit:hover {
	opacity:0.5;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}

.width100 {
	font-weight: 400;
	width: 100%!important;
	background-color: #FFFFFF!important
}

.form__title {
	font-size: 2rem;
	margin-bottom: 50px;
	text-align: left;
}