@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

/* CSS Document */
*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
font-family: "Zen Kaku Gothic New", sans-serif;
font-size:20px;
font-size-adjust: 100%;
text-size-adjust: 100%;
text-align:left;
color:#333;
background: #efefef;
min-width:750px;
}
@media screen and (max-width:750px){
html,body{ font-size:calc((20/750)*100vw); min-width:240px; max-width:750px; overflow-x: hidden;}
}

/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0em; max-width:100%; height:auto;}
figure{margin:0 auto; text-align:center;}

/*youtube*/
.youtube{ position:relative; width:100%; padding-top:56.25% !important;}
.youtube iframe{ position: absolute; top:0; right:0; width:100% !important; height:100% !important;}

/*txt*/
p{ line-height:1.75em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.white{ color:#fff;}
.black{ color:#333;}

.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}



/*ヘッダー*/
#h_logo{ width: 750px; display: flex; position: absolute; left: 0; right: 0; top: 0; z-index: 9999; margin: auto; padding: 15px; pointer-events: none;}
#h_logo h1{ display: flex; align-items: center; justify-content: center; height: 120px; padding: 5px 120px 5px 20px; position: relative; z-index: 3; overflow: hidden; pointer-events: all;}
#h_logo h1:before{ content: ""; width: 100%; height: 100%; background: rgba(255,255,255,0.9); transform: skewX(25deg); position: absolute; left: -12.5%; top: 0; z-index: -1;}
#h_logo h1 strong img{ width: 272px;}
#h_logo h1 span{ font-size: 1.2rem; line-height: 1.33em; color: #2c4479; font-weight: bold; margin-left: 1em;}

#fixed_head{ width: 100%; max-width: 750px; position: fixed; left: 0; right: 0; top: 0; margin: auto; z-index: 999;}
#nav_btn{ display: flex; align-items: flex-end; justify-content: center; background: #e9933d; color: #fff; padding: 0; font-size: 1.2rem; width: 120px; height: 120px; position: absolute; right: 15px; top: 15px; z-index:999; transition:0.3s; cursor:pointer; border-radius: 50%;}
#nav_btn span{ display:block; height:5px; width:60px; background:#fff; position:absolute; left:0; right:0; top: calc(50% - 0.5em); transform: translateY(-50%); margin:auto; transition:0.3s;}
#nav_btn span:before{ content: ""; display:block; height:5px; width:100%; background:#fff; position:absolute; bottom:18px; transition:0.3s;}
#nav_btn span:after{ content: ""; display:block; height:5px; width:100%; background:#fff; position:absolute; top:18px; transition:0.3s;}
#nav_btn strong{ position: absolute; left: 0; right: 0; bottom: 1em; margin: auto; text-align: center; font-size: 1.2rem; line-height: 1em; font-weight: bold;}
#nav_btn.active span{ background:rgba(255,255,255,0);}
#nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#nav_btn.active span:after{ top:0; transform: rotate(-45deg);}

body.negative{ overflow: hidden;}
nav#h_nav{ display: none; position: absolute; left: 0; right: 0; top: 0; padding-top: 150px; width: 100%; max-width: 750px; background: rgba(255,255,255,1.0); min-height: 100dvh !important; position: fixed; left: 0; right: 0; top: 0; margin: auto; z-index: 99; background: #fff;}
nav#h_nav ul{ display: flex; flex-direction: column; align-items: center; width: 690px; margin: 0 auto; background: #e9933d; color: #fff; padding: 50px 30px; border-radius: 12px; overflow-x: hidden; overflow-y: auto; max-height: calc(100vh - 180px);}
nav#h_nav ul li{ width: 100%; border-bottom: 1px solid #fff;}
nav#h_nav ul li:first-child{ border-top: 1px solid #fff;}
nav#h_nav ul li a{ display: block; text-align: center; padding: 30px; font-size: 2rem; line-height: 1em; font-weight: bold;}
@media screen and (max-width:750px){
#h_logo{ width: 100%; padding: calc((15/750)*100vw);}
#h_logo h1{ height: calc((120/750)*100vw); padding: calc((5/750)*100vw) calc((120/750)*100vw) calc((5/750)*100vw) calc((20/750)*100vw);}
#h_logo h1 strong img{ width: calc((272/750)*100vw);}

#fixed_head{ max-width: 100%;}
#nav_btn{ width: calc((120/750)*100vw); height: calc((120/750)*100vw); right: calc((15/750)*100vw); top: calc((15/750)*100vw);}
#nav_btn span{ height: calc((5/750)*100vw); width: calc((60/750)*100vw);}
#nav_btn span:before{ height: calc((5/750)*100vw); bottom: calc((18/750)*100vw);}
#nav_btn span:after{ height: calc((5/750)*100vw); top: calc((18/750)*100vw);}

nav#h_nav{ padding-top: calc((150/750)*100vw); max-width: 100%;}
nav#h_nav ul{ width: calc((690/750)*100vw); padding: calc((50/750)*100vw) calc((30/750)*100vw); border-radius: calc((12/750)*100vw); max-height: calc(100vh - ((180/750)*100vw));}
nav#h_nav ul li a{ padding: calc((30/750)*100vw);}
}

/*fiex_btn*/
body{ padding-bottom: 112px;}
#fixed_btn{ width: 100%; max-width: 750px; position: fixed; left: 0; right: 0; bottom: 0; margin: auto; z-index: 99;}
@media screen and (max-width:750px){
body{ padding-bottom: calc((112/750)*100vw);}
#fixed_btn{ max-width: 100%;}
}

/*フッター*/
p.copyright{ text-align:center; margin:0; padding:1.25em; background:#1f3871; color:#fff0e9; font-size:1rem; line-height: 1em; font-weight: bold;}
@media screen and (max-width:750px){
}

/*メイン*/
#wrapper{ background: #fff; width: 750px; margin: auto; box-shadow:rgba(0, 0, 0, 0.1) 0 0 10px 5px;}
#content{ overflow:hidden;}
section{ width:100%; margin:0 auto;}
.maincontent{ padding: 0; margin: 0 auto; width: 650px;}
@media screen and (max-width:750px){
#wrapper{ width: 100%;}
.maincontent{ width: calc((650/750)*100vw);}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.33em; letter-spacing: 0;}
h2.tit_h2{ font-size: 5rem; color: #3a4f7f; text-align: center;}
h2.tit_h2 span:first-child{ color: #e9933d;}
h2.tit_h2 span:last-child{ color: #f2c820;}
h2.tit_h2_jp{ font-size: 1.6rem; line-height: 1em; color: #444; text-align: center; margin-bottom: 1.5em;}
@media screen and (max-width:750px){
}

/*cta*/
.cta{ background: #f2c820;}
.cta .maincontent{ padding: 50px 0 50px;}
.cta h3{ text-align: center; font-size: 2.2rem; color: #1f3871; border-bottom: 8px solid #e9933d; padding-bottom: 20px; margin-bottom: 20px;}
.cta p{ text-align: center; font-size: 1.4rem; font-weight: bold;}
.cta .cta_btn{ margin-top: 30px;}
@media screen and (max-width:750px){
.cta .maincontent{ padding: calc((50/750)*100vw) 0 calc((50/750)*100vw);}
.cta h3{ padding-bottom: calc((20/750)*100vw); margin-bottom: calc((20/750)*100vw);}
.cta .cta_btn{ margin-top: calc((30/750)*100vw);}
}

.cta_btn ul{ width: 100%; display: flex; justify-content: space-between;}
.cta_btn ul li{ width: calc(50% - 25px);}
.cta_btn ul li a{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; background: #fff; padding: 30px; border-radius: 16px;}
.cta_btn ul li a span img{ width: 122px;}
.cta_btn ul li a strong{ font-size: 1.7rem; line-height: 1em; margin-top: 20px;}
.cta_btn ul li.line a strong{ color: #06c755;}
.cta_btn ul li.tel a strong{ color: #ff7f00;}
@media screen and (max-width:750px){
.cta_btn ul li{ width: calc(50% - ((25/750)*100vw));}
.cta_btn ul li a{ padding: calc((30/750)*100vw); border-radius: calc((16/750)*100vw);}
.cta_btn ul li a span img{ width: calc((122/750)*100vw);}
.cta_btn ul li a strong{ margin-top: calc((20/750)*100vw);}
}



/*camp*/
#camp{ padding: 50px 10px; background: #e7f0f3;}
@media screen and (max-width:750px){
#camp{ padding: calc((50/750)*100vw) calc((10/750)*100vw);}
}



/*menu*/
#menu{ padding: 70px 0;}
#menu .maincontent{ width: 690px;}
#menu ul{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: -40px 0 -40px -20px;}
#menu ul li{ width: calc(50% - 40px); margin: 40px 20px;}
#menu ul li a{ display: block; position: relative;}
#menu ul li a span{ display: flex; align-items: center; justify-content: center; font-size: 1.4rem; font-weight: bold; width: 270px; height: 60px; background: #000; color: #fff; position: absolute; left: 0; right: 0; bottom: -30px; margin: auto; border-radius: 8px;}
#menu ul li a span{ background: linear-gradient(to right,  rgba(255,134,35,1) 0%,rgba(241,107,49,1) 100%);}
@media screen and (max-width:750px){
#menu{ padding: calc((70/750)*100vw) 0;}
#menu .maincontent{ width: calc((690/750)*100vw);}
#menu ul{ width: calc(100% + calc((40/750)*100vw)); margin: calc((-40/750)*100vw) 0 calc((-40/750)*100vw) calc((-20/750)*100vw);}
#menu ul li{ width: calc(50% - ((40/750)*100vw)); margin: calc((40/750)*100vw) calc((20/750)*100vw);}
#menu ul li a span{ width: calc((270/750)*100vw); height: calc((60/750)*100vw); bottom: calc((-30/750)*100vw); margin: auto; border-radius: calc((8/750)*100vw);}
}



/*features*/
#features{ padding: 70px 0 0;}
#features .feature_in{ background: #fffdeb; padding: 50px 0; text-align: center;}
#features .feature_in .num{ display: block; font-size: 8em; line-height: 1em; font-weight: bold; color: #ffec43; margin-top: -0.25em;}
#features .feature_in h3{ font-size: 3rem; margin-bottom: 30px;}
#features .feature_in h3 strong{ padding: 0 0.25em; background: linear-gradient(to bottom, rgba(255,236,67,0) 0%, rgba(255,236,67,0) 65%, rgba(255,236,67,1) 66%, rgba(255,236,67,1) 100%);}
#features .feature_in p{ font-size: 1.4rem; line-height: 1.5em;}

#features .feature_in#feature02{ background: #e5f2fb;}
#features .feature_in#feature02 .num{ color: #5eb4f3;}
#features .feature_in#feature02 h3 strong{ padding: 0 0.25em; background: linear-gradient(to bottom, rgba(94,180,243,0) 0%, rgba(94,180,243,0) 65%, rgba(94,180,243,1) 66%, rgba(94,180,243,1) 100%);}
#features .feature_in#feature03{ background: #fff0e3;}
#features .feature_in#feature03 .num{ color: #ff943c;}
#features .feature_in#feature03 h3 strong{ padding: 0 0.25em; background: linear-gradient(to bottom, rgba(255,148,60,0) 0%, rgba(255,148,60,0) 65%, rgba(255,148,60,1) 66%, rgba(255,148,60,1) 100%);}
@media screen and (max-width:750px){
#features{ padding: calc((70/750)*100vw) 0 0;}
#features .feature_in{ padding: calc((50/750)*100vw) 0;}
#features .feature_in h3{ margin-bottom: calc((30/750)*100vw);}
}



/*comparing*/
#comparing{ padding: 70px 0 50px;}
#comparing .maincontent{ width: 720px;}

#comparing table{ width: 100%; border-collapse: collapse; border-spacing: 0;}
#comparing table thead td{ width: 210px;}
#comparing table thead th{ border: 1px solid #fff; vertical-align: bottom; text-align: center;}
#comparing table thead th:nth-child(2){ width: 280px;}
#comparing table thead th:nth-child(3){ width: calc(100% - 490px);}
#comparing table thead th:nth-child(2) strong{ display: block; background: #1f3871; padding: 10px; border-radius: 8px 8px 0 0;}
#comparing table thead th:nth-child(2) strong img{ width: 100%;}
#comparing table thead th:nth-child(3) strong{ display: block; background: #5a5a5a; color: #fff; padding: 15px 10px; font-size: 1.2rem; border-radius: 8px 8px 0 0;}
#comparing tbody th{ border: 1px solid #fff; background: #ffec43; vertical-align: middle; font-size: 1.35rem; padding: 0.75em;}
#comparing tbody td:nth-child(2){ vertical-align: middle; border: 1px solid #fff; background: #1f3871; color: #fff; padding: 1.5em 0.5em; position: relative;}
#comparing tbody tr:last-child td:nth-child(2){ padding-top: calc(1.5em + 8px); padding-bottom: calc(1.5em - 8px);}
#comparing tbody tr:last-child td:nth-child(2):after{ content: ""; width: 100%; height: 16px; background: #1f3871; position: absolute; left: 0; right: 0; bottom: -15px; border-radius:  0 0 8px 8px;}
#comparing tbody td:nth-child(2) h3{ text-align: center; font-size: 1.5rem; color: #f2c820; margin-bottom: 0.33em;}
#comparing tbody td:nth-child(2) p{ font-size: 1.1rem; line-height: 1.33em; font-weight: bold;}
#comparing tbody td:nth-child(3){ vertical-align: middle; border: 1px solid #fff; background: #f0f0f0; padding: 1.5em 0.75em;}
#comparing tbody td:nth-child(3) p{ font-size: 1.1rem; line-height: 1.33em;}
@media screen and (max-width:750px){
#comparing{ padding: calc((70/750)*100vw) 0 calc((50/750)*100vw);}
#comparing .maincontent{ width: calc((720/750)*100vw);}

#comparing table thead td{ width: calc((210/750)*100vw);}
#comparing table thead th:nth-child(2){ width: calc((280/750)*100vw);}
#comparing table thead th:nth-child(3){ width: calc(100% - calc((490/750)*100vw));}
#comparing table thead th:nth-child(2) strong{ padding: calc((10/750)*100vw); border-radius: calc((8/750)*100vw) calc((8/750)*100vw) 0 0;}
#comparing table thead th:nth-child(3) strong{ padding: calc((15/750)*100vw) calc((10/750)*100vw); border-radius: calc((8/750)*100vw) calc((8/750)*100vw) 0 0;}
#comparing tbody tr:last-child td:nth-child(2){ padding-top: calc(1.5em + ((8/750)*100vw)); padding-bottom: calc(1.5em - ((8/750)*100vw));}
#comparing tbody tr:last-child td:nth-child(2):after{ height: calc((16/750)*100vw); bottom: calc((-15/750)*100vw); border-radius:  0 0 calc((8/750)*100vw) calc((8/750)*100vw);}
}



/*infoamtion*/
#infomation{ padding: 70px 0;}
#infomation .maincontent{ width: 690px;}
#info01{ padding: 0 0 30px;}
#info01 figure{ margin-bottom: 30px;}
#info01 h3{ font-size: 1.6rem; margin-bottom: 0.25em;}
#info01 p{ font-size: 1.4rem; line-height: 1.5em;}

#info02{ background: #faf2e4; padding: 30px 0;}
#info02 dl{ display: flex; align-items: center; margin-bottom: 30px;}
#info02 dl dt{ display: flex; align-items: center; justify-content: center; width: 5.5em; padding: 0.25em; background: #ff7f00; color: #fff; font-size: 1.4rem; font-weight: bold;}
#info02 dl dd{ font-size: 1.4rem; margin-left: 0.75em;}
#info02 dl:last-child{ flex-direction: column; align-items: flex-start; margin: 0;}
#info02 dl:last-child dt{ width: 11.5em;}
#info02 dl:last-child dd{ margin: 0.5em 0 0;}

#info03{ background: #e7f0f3; padding: 30px 0;}
#info03 dl{ display: flex; align-items: center; margin-bottom: 30px;}
#info03 dl dt{ display: flex; align-items: center; justify-content: center; width: 5.5em; padding: 0.25em; background: #075f9e; color: #fff; font-size: 1.4rem; font-weight: bold;}
#info03 dl dd{ font-size: 1.4rem; margin-left: 0.75em;}
#info03 dl:last-child{ flex-direction: column; align-items: flex-start; margin: 0;}
#info03 dl:last-child dt{ width: 5.5em;}
#info03 dl:last-child dd{ margin: 0.5em 0 0;}

#infomation .g_map iframe{ width: 100%; height: 460px; vertical-align: bottom;}
@media screen and (max-width:750px){
#infomation{ padding: calc((70/750)*100vw) 0;}
#infomation .maincontent{ width: calc((690/750)*100vw);}
#info01{ padding: 0 0 calc((30/750)*100vw);}
#info01 figure{ margin-bottom: calc((30/750)*100vw);}

#info02{ padding: calc((30/750)*100vw) 0;}
#info02 dl{ margin-bottom: calc((30/750)*100vw);}

#info03{ padding: calc((30/750)*100vw) 0;}
#info03 dl{ margin-bottom: calc((30/750)*100vw);}

#infomation .g_map iframe{ height: calc((460/750)*100vw);}
}



/*contact*/
#contact #contact_in{ background: #f2c820;}
#contact #contact_in .maincontent{ padding: 60px 0 70px;}
#contact #contact_in h3{ text-align: center; font-size: 2.2rem; color: #1f3871; border-bottom: 8px solid #e9933d; padding-bottom: 30px; margin-bottom: 30px;}
#contact #contact_in p{ text-align: center; font-size: 1.4rem; font-weight: bold;}
#contact #contact_in .cta_btn{ margin-top: 30px;}
@media screen and (max-width:750px){
#contact #contact_in .maincontent{ padding: calc((60/750)*100vw) 0 calc((70/750)*100vw);}
#contact #contact_in h3{ padding-bottom: calc((30/750)*100vw); margin-bottom: calc((30/750)*100vw);}
#contact #contact_in .cta_btn{ margin-top: calc((30/750)*100vw);}
}

.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}
.p-mv {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 160px 0 80px;
    background: linear-gradient(-60deg,#e7f0f3 80%,#1f3871 80%);
}
.p-mv h2 {
    font-weight: 800;
    font-size: 32px;
    line-height: 1;
    margin: 0 0 15px 0;
}
.p-mv span {
    font-weight: 800;
    font-size: 22px;
    line-height: 1;
	text-transform: uppercase;
}
.p-wrap h3 {
	margin: 15px 0;
    font-size: 24px;
    font-weight: 600;
    position: relative;
    border-left: 10px solid #1f3871;
    padding: 5px 0 8px 20px;
}
.p-wrap h4 {
	font-weight: bold;
    margin: 40px 0 15px 0;
    position: relative;
    border-bottom: 1px solid #ccc;
    padding-bottom: 7px;
}
.p-wrap {
	padding-bottom: 50px;
}
.p-wrap .inner {
	padding: 0 20px;
}
.p-wrap .p-map {
	width: 100%;
}
.p-wrap .p-map iframe {
	width: 100%;
}
.p-btn {
    display: block;
    margin-bottom: 10px;	
}
.p-btn a {
    font-weight: 700;
	color:#ff7f00;
}
.p-access ul {
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.p-access ul li {
	list-style: disc;
}
.p-note {
	font-size: 16px;
}
.p-message {
	padding: 20px;
    background: #f9f9f9;
	border-radius: 10px;
}
.p-message p {
	font-size: 16px;
}
.p-profile ul {
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.p-profile ul li {
	list-style: disc;
}
.p-faq dl dt {
    margin: 20px 0 0 0;
    position: relative;
    padding-left: 30px;
	padding-bottom: 15px;
    margin-bottom: 0px;
	line-height: 1;
	cursor: pointer;
	font-size: 18px;
}
.p-faq dl dt::before {
    content: "Q";
    font-size: 15px;
    font-weight: bold;
    display: inline-block;
    background: #000;
    color: #fff;
    width: 22px;
    height: 20px;
    text-align: center;
    margin-right: 10px;
    line-height: 1;
    padding-top: 3px;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
.p-faq dl dd {
    margin: 0;
    font-size: 18px;
    position: relative;
    padding: 20px 20px 20px 30px;
    background: #f9f9f9;
	cursor: pointer;
}
.p-faq dl dd::before {
    content: "A";
    font-size: 15px;
    display: inline-block;
    background: #F3000B;
    color: #fff;
    width: 22px;
    height: 20px;
    text-align: center;
    margin-right: 10px;
    line-height: 1;
    padding-top: 3px;
    position: absolute;
    top: 20px;
    left: 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
.p-campaign {
	background: #3c5282;
    padding: 40px 0;
    text-align: center;
    width: 55%;
    border-radius: 50%;
    margin: 30px auto 0;
	border: 5px solid #efc723;
}
.p-campaign .ttl01 {
	color: #efc723;
    font-size: 30px;
	font-weight: 700;
}
.p-campaign .ttl01 .num {
	font-size: 40px;
    margin: 0 8px;
}
.p-campaign .ttl02 {
	color: #efc723;
    font-size: 40px;
	font-weight: 700;
}
.p-campaign .ttl02 .num {
	font-size: 60px;
    margin: 0 8px;
}
.p-campaign .txt01,
.p-campaign .txt02 {
	color: #fff;
	font-weight: 700;
    margin-bottom: 0;
    font-size: 24px;
}
.p-campaign .arrow {
  display: block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 1.64952em 1.375em;
  border-top-color: currentColor;
  border-bottom: 0;
  margin: 15px auto 0;
}
.p-catch {
	text-align: center;
    margin-top: 20px;
}
.p-catch p {
	font-size: 22px;
}
.p-catch p:nth-child(1) {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 0;
}
.p-catch p strong {
    background: linear-gradient(transparent 80%, #ffec43 80%);
    font-weight: 800;
    font-size: 30px;
	margin: 10px 0;
}
.p-table {
	margin-top: 30px;
}
.p-table table {
    border-collapse: collapse;
    margin-bottom: 1.5em;
    background: #fff;
    padding: 0;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
	width: 100%;
}
.p-table th {
    background-color: #f0f0f0;
    font-weight: bold;
    text-align: left;
    text-align: center;
}
.p-table th,
.p-table td {
    padding: 10px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
	font-size: 16px;
	vertical-align: middle;
}
.p-table td:nth-child(1) {
    width: 25%;
}
.p-table td:nth-child(1) {
    width: 30%;
    font-weight: bold;
}
.p-table th.o-bg {
	background: #ff7f02;
    color: #fff;
}
.p-table td.o-bg {
	background: #ff810369;
	font-weight: 700;
}
.p-exam {
    background: #f9f9f9;
	padding: 20px 30px;
}
.p-exam p {
	font-size: 16px;
}
.p-exam p strong {
	font-weight: 700;
}
.p-right h4 {
    font-size: 24px;
    text-align: center;
    color: #e9933d;
}
.p-class {
	margin-top: 30px;
}
.p-class table {
    border-collapse: collapse;
    margin-bottom: 1.5em;
    background: #fff;
    padding: 0;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
	width: 100%;
}
.p-class th {
    background-color: #e9933d;
    font-weight: bold;
    text-align: left;
    text-align: center;
}
.p-class th,
.p-class td {
    padding: 10px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
	font-size: 16px;
	vertical-align: middle;
}
.p-class td:nth-child(1) {
    width: 25%;
}
.p-class td:nth-child(1) {
    width: 30%;
    font-weight: bold;
}
.p-calendar__wrap {
  width: 90%;
  margin: 0 auto 10px;
}
.p-calendar h3 {
  border-left: none;
  text-align: center;
  margin: 15px 0 5px;
}
.p-calendar__slider {
  display: flex;
  transition: transform 0.4s ease;
}
.p-calendar table {
  width: 100%;
  border-collapse: collapse;
}
.p-calendar th,
.p-calendar td {
  border: 1px solid #ddd;
  padding: 6px;
  height: 40px;
  font-weight: 700;
}
.p-calendar th {
  background: #e9933d;
  color: #fff;
}
.p-calendar td.red {
  color: #fd0100;
}
.p-calendar td.blue {
  color: #3366ff;
}
.p-calendar .business {
  background: #ffec43;
}
/* .p-calendar .closed {
  background: #ccc;
  color: #000;
} */
.p-calendar .agency {
  background: #fdcacd;
}
.p-calendar__ex {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bg_business {
  display: block;
  background: #ffec43;
  width: 50px;
  height: 20px;
}
.bg_agency {
  display: block;
  background: #fdcacd;
  width: 50px;
  height: 20px;
}
.bg_close {
  display: block;
  background: #ccc;
  width: 50px;
  height: 20px;
}
.p-calendar__ex p {
  font-size: 16px;
}
@media screen and (max-width: 750px) {
	.p-mv {
		padding: 16vw 0 11vw;
	}
	.p-mv h2 {
		font-size: 30px;
	}
	.p-mv span {
		font-size: 20px;
	}
	.p-wrap h3 {
		font-size: 20px;
		border-left: 5px solid #1f3871;
		padding: 0 0 0 10px;
	}
	.p-wrap h4 {
		font-size: 16px;
	}
    .p-wrap p {
        font-size: 16px;
    }
	.p-btn a {
		font-size: 16px;
	}
	.p-access ul li {
		font-size: 16px;
	}
	.p-message p {
		font-size: 14px;
	}
	.p-profile ul li {
		font-size: 16px;
	}
	.p-faq dl dt,
	.p-faq dl dd {
		font-size: 16px;
	}
	.p-faq dl dt::before {
		top: -2px;
	}
	.p-campaign {
		width: 100%;
	}
	.p-campaign .ttl01 {
		font-size: 25px;
	}
	.p-campaign .txt01,
	.p-campaign .txt02 {
		font-size: 22px;
	}
	.p-campaign .ttl02 {
		font-size: 30px;
	}
	.p-campaign .ttl02 .num {
		font-size: 55px;
	}
	.p-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
	.p-table table {
        width: 800px;
    }
	.p-right h4 {
		font-size: 22px;
	}
	.p-class {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
	.p-class table {
        width: 800px;
    }
	.p-calendar h3 {
		border-left: none;
	}
	.p-calendar th,
	.p-calendar td {
		font-size: 14px;
	}
	.p-calendar .slick-prev {
		width: 25px;
		height: 25px;
		left: -9%;
	}
	.p-calendar .slick-next {
		width: 25px;
		height: 25px;
		right: -9%;
	}
	.bg_business,
	.bg_agency,
	.bg_close {
		width: 40px;
		height: 16px;
	}
	.p-calendar__ex p {
		font-size: 14px;
	}
}