html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:all 0.5s ease}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}


/*基本設定*/
body {
    line-height: 1.8;
    letter-spacing: 1px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #001B50;
}
.en {
    font-family: "Noto Sans Thai", sans-serif;
}
body a {
    text-decoration: none;
    color: #001B50;
}
body img {
	vertical-align: bottom;
}
div#wrapper {
    width: 100%;
    overflow: hidden;
}
/*横並び*/
.flex {
    display: flex;
    flex-wrap: wrap;
}
.flex_2culm {
    width: 48%;
    margin-right: 4%;
}
.flex_2culm:nth-child(2n) {
    margin-right: 0%;
}
.flex_3culm {
    width: 32%;
    margin-right: 2%;
}
.flex_3culm_sp4:last-child {
    display: none;
}
.flex_3culm:nth-child(3n) {
    margin-right: 0%;
}
.flex_3culm_nopadding {
    margin: 0;
    width: 33.333%;
}
.flex_4culm {
    width: 23.5%;
    margin-right: 2%;
}
.flex_4culm:nth-child(4n) {
    margin-right: 0%;
}
.flex_2culm_65 {
	width: 63%;
}
.flex_2culm_65:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_65 img {
	width: 100%;
}
.flex_2culm_35 {
	width: 35%;
}
.flex_2culm_35:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_35 img {
	width: 100%;
}
.flex_2culm_70 {
	width: 68%;
}
.flex_2culm_70:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_70 img {
	width: 100%;
}
.flex_2culm_30 {
	width: 30%;
}
.flex_2culm_30:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_30 img {
	width: 100%;
}
.al_center {
    align-items: center;
}
/*基本CSS*/
.maxwidth {
    max-width: 1048px;
    margin: 0 auto;
    padding: 0 20px;
}
.maxwidth1000 {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}
.maxwidth800 {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 20px;
}
.maximg img {
    width: 100%;
    height: auto;
}
.mainimg {
    width: 100%;
	height: auto;
    position: relative;
    overflow: hidden;
}
.mainimg:after {
    content: "";
    position: absolute;
    z-index: 10;
    background: url(/wp-content/themes/excellenthome/assets/img/top/mainimg_icon_gray.svg);
    width: 30px;
    height: 30px;
    background-size: 100% 100%;
    background-position: left top;
    top: 0;
}
.mainimg:before {
	content: "";
    display: block;
    padding-top: 60%;
}
.mainimg img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
	max-width: none;
}
a:hover .mainimg img {
    width: 110%;
    height: auto;
}
.text {
    font-size: 16px;
}
.sm_text {
    font-size: 14px;
}
.center {
    text-align: center;
}
.sp_only {
    display: none;
}
.bold {
    font-weight: 500;
}
.bk_green {
    background: #7E9168;
    color: #fff;
}
.green {
    color: #7E9168;
}
.right {
    text-align: right;
}
/*基本CSS END*/
/* Accordion */
.qa__main {
    margin: 4em 0 7em;
}
.qa__main--accordion {
    width: 100%;
	margin-bottom: 4em;
}
.qa__main--accordion:not([open]) {
    margin-bottom: 4em;
}
.qa__main--accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0em 0em;
    border-radius: 0px;
    color: #333;
    font-weight: 600;
    cursor: pointer;
}
.qa__main--ttl {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
    padding-left: 3.5em;
    font-size: 24px;
    color: #001B50;
}
.qa__main--ttl span {
    font-family: "Lato", sans-serif;
    display: flex;
    background: #001b50;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 100%;
    margin-right: 1em;
    font-size: 36px;
    position: absolute;
    left: 0;
}
.qa__main--accordion summary:before {
    content: "";
    position: absolute;
    width: calc(100% - 20px);
    height: 1px;
    background: #d5d5d5;
    bottom: -6px;
    left: 29px;
}
.qa__main--accordion summary::-webkit-details-marker {
    display: none;
}
.qa__main--accordion summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 10px;
    height: 11px;
    margin-left: 10px;
    /* border-bottom: 3px solid #001b50; */
    /* border-right: 3px solid #001b50; */
    content: '';
    transition: transform .3s;
    background: #001b50;
    background: linear-gradient(315deg, #001b50 0%, #001b50 50%, #ffffff 50%, #ffffff 100%);
    margin-top: 0em;
}
.qa__main--accordion[open] summary::after {
    transform: rotate(225deg);
    margin-top: 0.5em;
}
.qa__main--accordion p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 2em 2em 0em 5.4em;
    transition: transform .5s, opacity .5s;
    font-size: 16px;
    letter-spacing: 0;
}
.qa__main--accordion[open] p {
    transform: none;
    opacity: 1;
}

/* Accordion END */
.header_main {
    justify-content: space-between;
    padding: 0 20px;
    width: 100%;
    background: #fff;
    position: fixed;
    z-index: 10;
}
.header_main__menu--logo img {
    width: 165px;
}
.header_main__menu--list {
    display: flex;
    margin-left: 4em;
}
.header_main__menu--list a {
    display: flex;
    align-items: center;
    font-weight: 600;
    margin-right: 2em;
}
.header_main__menu--list a:before {
    content: "";
    width: 0.6em;
    height: 0.6em;
    background: #001B50;
    border-radius: 100%;
    margin-right: 0.7em;
}
.header_main__btn a {
    font-weight: 600;
    background: url(../img/bg.jpg);
    display: block;
    background-position: center;
    background-size: cover;
    letter-spacing: 2px;
    padding: 1.5em 4em;
    margin-bottom: -1em;
    position: relative;
    box-shadow: 0px 0px 10px rgb(0 0 0 / 14%);
}
.header_main__btn a span {
    color: #E61B7C;
}
div#container {
    padding-top: 4em;
}
.mv {
    background: url(../img/004.jpg);
    position: relative;
    background-position: center;
    background-size: cover;
    height: calc(100vh - 4em);
    color: #fff;
}
.mv:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 30%);
}
.mv__main {
    position: relative;
}
.mv__main--content h1 {
    font-size: 80px;
    font-weight: 600;
    letter-spacing: 8px;
    line-height: 1;
    margin-bottom: 0.3em;
}
.mv__main--content h1 img {
    height: 1.2em;
}
.mv__main--content h2 {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 1em;
}
.mv__main--point_content img {
    height: 1.5em;
    margin-right: 1em;
}
.mv__main--point_content {
    font-size: 20px;
    margin-bottom: 0.5em;
}
.mv__main--bottom h2 {
    font-size: 24px;
    margin-top: 1em;
}
.mv__main--btn a {
    font-weight: 600;
    background: #E61B7C;
    color: #fff;
    display: inline-block;
    margin-top: 0.5em;
    font-size: 24px;
    padding: 0.3em 7em;
    border-radius: 2em;
}
.newsconts {
    padding: 4em 0;
}
.newsconts .comNewsList li {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
.newsconts .comNewsList li .time{
    width: 6em;
    display: inline-block;
    color: #666;
}
.news__btn {
	text-align: center;
	margin-top: 2em;
}
.news__btn a {
    font-weight: 600;
    background: #001B50;
    color: #fff;
    display: inline-block;
    margin-top: 0.5em;
    font-size: 18px;
    padding: 0.3em 2em;
    border-radius: 2em;
}
.strong {
    background: #F4FBFD;
    padding: 5em 0;
}
.mainh2 {
    font-weight: 600;
    font-size: 48px;
    letter-spacing: 4px;
}
.strong__list--content {
    width: 30%;
    margin-right: 5%;
}
.strong__list--ttl {
    text-align: center;
    font-weight: 600;
    line-height: 1.7;
    margin-bottom: 1em;
    margin-top: 1em;
    font-size: 20px;
    letter-spacing: 2px;
}
.strong__list--text {
    letter-spacing: 2px;
    line-height: 1.6;
}
.price {
    padding: 5em 20px;
}
.price .mainh2 {
    margin-bottom: 1em;
}
.price__table {
    border-bottom: solid 1px #CBCBCB;
}
.price__table--ttl {
    position: relative;
}
.price__table--ttl td {
    font-size: 20px;
    font-weight: 600;
    width: 35%;
    padding: 0.8em 0;
    background: #4575B4;
    color: #fff;
}
.price__table--ttl td:nth-child(2) {
    color: #6C6952;
    background: #EFEDE8;
    border-radius: 8px 0 0 0;
}
.price__table--ttl td:first-child {
    width: 30%;
    background: none;
}
.price__table--ttl td:last-child {
    background: #001B50;
    border-radius: 8px 8px 0 0;
    padding: 1.8em 0 0.8em;
    position: absolute;
    bottom: 0;
}
.price__table--price {
    border-right: solid 1px #CBCBCB;
}
.price__table--content th.option {
	background: #6C6952;
	color: #fff;
	font-size: 16px;
	padding: 1em;
}
.price__table--price td {
    border-left: solid 1px #CBCBCB;
    padding: .8em 1em;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.5;
}
.price__table--price td span {
    font-size: 12px;
    margin-left: 0.3em;
    font-weight: 400;
}
.price__table--btn a {
    font-size: 12px;
    color: #fff;
    display: inline-block;
    background: #4575B4;
    padding: 0.3em 2em;
    border-radius: 2em;
}
.price__table--price td:nth-child(2) .price__table--btn a {
    background: #6C6952;
}
.price__table--price td:last-child .price__table--btn a {
    background: #001B50;
}
.price__table--price td:first-child {
    border-left: none;
}
.price__table--content td {
    border-right: solid 1px #CBCBCB;
    border-top: solid 1px #CBCBCB;
    padding: 1em;
    vertical-align: middle;
    text-align: center;
}
.price__table--content td:first-child {
    text-align: left;
    font-size: 16px;
}
.price__table--content td span {
    font-size: 14px;
    display: block;
    line-height: 1;
}
.price__table--content td span.table-price {
    font-size: 18px;
    display: inline-block;
    line-height: 1.6;
}
.price__table--content td span.table-tax {
    font-size: 12px;
    display: inline-block;
    line-height: 1.6;
}
.price__table--content td span.table-desc {
    font-size: 14px;
    display: inline-block;
    line-height: 1.6;
}
.price__table--content td span.big {
    font-size: 48px;
}
.price__table--content td:nth-child(2) {
    line-height: 1.3;
    color: #6C6952;
}
.price__table--content td:nth-child(3) {
    line-height: 1.3;
    color: #4575B4;
}
.price__table--content td:nth-child(3) {
    font-size: 16px;
}
.price__table--description {
    border-top: solid 1px #CBCBCB;
}
.price__table--description td {
    padding: 1em 1em;
    vertical-align: middle;
    border-right: solid 1px #CBCBCB;
}
.banner {
    max-width: 1200px;
    margin: 0 auto;
    background: #001B50;
    color: #fff;
    padding: 4em 20px;
}
.banner__text {
    font-size: 36px;
    font-weight: 600;
    margin-bottom: 0.5em;
}
.banner__btn a {
    font-weight: 600;
    background: #E61B7C;
    color: #fff;
    display: inline-block;
    margin-top: 0.5em;
    font-size: 24px;
    padding: 0.3em 2em;
    border-radius: 2em;
}
.member {
    max-width: 1180px;
    margin: 2em auto 4em;
}
.member__btn {
    background: #F5E90B;
    margin-top: -1px;
    text-align: center;
    padding: 0 0 2em;
}
.member__btn a {
    font-weight: 600;
    background: #001B50;
    color: #fff;
    display: inline-block;
    margin-top: 0.5em;
    font-size: 24px;
    padding: 0.3em 2em;
    border-radius: 2em;
}
footer.footer {
    padding: 4em 0 0;
}
.footer__adress--logo img {
    width: 165px;
}
.footer__adress--text {
    margin-top: 2em;
    font-weight: 600;
    color: #000;
}
.footer__main {
    align-items: flex-end;
    justify-content: space-between;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}
.footer__menu a {
    font-weight: 600;
    color: #000;
}
.footer__copy {
    background: #001B50;
    text-align: center;
    color: #fff;
    font-weight: 600;
    padding: 0.5em 0;
    margin-top: 4em;
}
.policy {
    padding: 4em 0;
    border-bottom: dashed 1px rgb(0 27 80 / 62%);
}
.policy_main {
    margin-top: 2em;
}
.policy_main__content {
    margin-bottom: 2em;
}
.policy_main__content h3 {
    font-weight: 600;
    font-size: 18px;
}
.policy_main__content--text {
    font-size: 15px;
}


@media only screen and (max-width: 1000px) {
html {
  -webkit-text-size-adjust: 100%; /* テキストの自動サイズ調整を無効にする */
}
.sp_only {
    display: inline-block;
}
.pc_only {
    display: none;
}
.price__main {
    width: 100%;
    overflow-x: scroll;
    white-space: nowrap;
    position: relative;
}
.price__main::-webkit-scrollbar {
    width: 10px;
    height: 3px;
}
.price__main::-webkit-scrollbar-thumb {
    background: #888;
}
.price__main::-webkit-scrollbar-thumb:hover {
    background: #555;
}
.header_main__menu--list {
    display: none;
}
.header_main {
    padding: 10px 10px;
}
.header_main__btn a {
    padding: 0.5em 1em;
    font-size: 13px;
    margin-bottom: 0em;
}
div#container {
    padding-top: 3.5em;
}
.mv {
    height: 100%;
    padding: 2em 0;
}
.mv__main {
    padding: 0 2em;
}
.mv__main--content {
    width: 100%;
    margin-right: 0;
}
.mv__main--content h1 {
    font-size: 54px;
    width: fit-content;
    margin: 0 auto 0.2em;
}
.mv__main--content h2 {
    font-size: 14px;
    line-height: 1.7;
    width: fit-content;
    margin: 0 auto 1em;
}
.mv__main--point_content {
    font-size: 14px;
    width: fit-content;
    margin: 0 auto 0em;
}
.mv__main--img {
    width: 100%;
    text-align: center;
    margin: 2em 0;
}
.mv__main--img img {
    width: 70%;
}
.mv__main--bottom h2 {
    font-size: 16px;
    margin-top: 0em;
}
.mv__main--btn a {
    font-size: 18px;
    padding: 0.3em 2em;
    width: 100%;
}
.mainh2 {
    font-size: 30px;
}
.strong {
    padding: 2em 0;
}
.strong__main {
    padding: 0 40px;
}
.strong__list--content {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2em;
}
.strong__list--img {
    text-align: center;
}
.strong__list--img img {
    max-width: 290px;
}
.strong__list--ttl {
    font-size: 18px;
}
.strong__list--text {
    font-size: 15px;
}
.price {
    padding: 3em 20px;
}
.price__table {
    margin-top: 1em;
    position: relative;
}
.price__table--ttl td {
    font-size: 15px;
    padding: 0.8em 0;
}
.price__table--price td {
    padding: .8em 0.5em;
    font-size: 24px;
}
.price__table--content td:first-child {
    font-size: 14px;
}
.price__table--content td {
    font-size: 30px;
    height: 2em;
}
.price__table--content td:nth-child(4) {
    font-size: 13px;
}
.price__table--content td span {
    font-size: 12px;
}
.price__table--ttl td:nth-child(2) {
    width: 181px;
}
.price__table--ttl td:last-child {
    top: -1em;
    right: 0;
    bottom: unset;
}
.price__table--description {
    font-size: 14px;
}
.price__table--description td {
    font-size: 14px;
}
.banner__text {
    font-size: 20px;
}
.banner__btn a {
    font-size: 18px;
}
.banner {
    padding: 3em 20px;
}
.member__btn a {
    font-size: 18px;
}
.member {
    margin: 2em auto 3em;
}
.qa__main {
    margin: 2em 0 5em;
}
.qa__main--ttl span {
    width: 35px;
    height: 35px;
    font-size: 20px;
}
.qa__main--ttl {
    padding-left: 3em;
    font-size: 14px;
    letter-spacing: 1px;
}
.qa__main--accordion summary::after {
    width: 7px;
    height: 8px;
    margin-top: 0px;
}
.qa__main--accordion[open] summary::after {
    margin-top: 4px;
}
.qa__main--accordion p {
    opacity: 0;
    margin: 0;
    padding: 2em 1em 0em 3.6em;
    font-size: 12px;
    letter-spacing: 0;
}
footer.footer {
    padding: 3em 0 0;
}
.footer__adress--text {
    font-size: 14px;
}
.footer__adress {
    width: 100%;
}
.footer__menu {
    width: 100%;
    margin-top: 2em;
    font-size: 14px;
}
.footer__copy {
    margin-top: 3em;
    font-size: 12px;
}
.policy {
    padding: 2em 20px;
}
.policy_main__content h3 {
    font-size: 16px;
    margin-bottom: 0.3em;
}
.policy_main__content--text {
    font-size: 13px;
}
}

section.news {
    padding: 4em 1em;
    border-bottom: dashed 1px rgb(0 27 80 / 62%);
}
.news_main {
    margin-top: 2em;
}
.news_main .comNewsList li {
	margin-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
.news_main .comNewsList li .time{
    width: 6em;
    display: inline-block;
    color: #666;
}
.news_main__content h3 {
    font-weight: 600;
    font-size: 18px;
}
.news_main__content .date {
	color: #666;
	display: block;
	font-size: 14px;
	margin-bottom: 2em;
}
.news_main__content .more {
	text-align: center;
	margin-top: 2em;
}
.news_main__content .more a {
    font-weight: 600;
    background: #001B50;
    color: #fff;
    display: inline-block;
    margin-top: 0.5em;
    font-size: 20px;
    padding: 0.3em 2em;
    border-radius: 2em;
}

/*********pageナビ*********/
.pagenavi{
    color: #001B50;
    margin: 30px auto 0;
    line-height:2em;
    text-align:center;
    clear: both;
	padding-bottom: 60px;
}
.pagenavi a{
    text-decoration:none;
}
.pagenavi a.page-numbers, .pagenavi .current{
    color: #001B50;
    padding: 5px 10px;
    border:solid 1px #ccc;
    text-decoration:none;
}
.pagenavi a.page-numbers:hover{
    color:#fff;
    background: #001B50;
}
.pagenavi .current{
    color: white;
    background: #001B50;
    border-color: #001B50;
    font-weight: 500;
}
.pagenavi .next, .pagenavi .prev{
    border:0 none;
    background:transparent;
    text-decoration:none;
    font-weight: 500;
}
