/*
Author: TN
*/

@charset "UTF-8";

/*------------------------------------------------------------
	base
------------------------------------------------------------ */
* { box-sizing:border-box; }
html { font-size: 10px; webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body { margin: 0; padding: 0; font: 15px/1.4 "Yu Gothic", YuGothic, "游ゴシック体", "Helvetica", "Lucida Grande", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Geneva", "Arial", "Verdana", sans-serif; height: 100%; background-color:#fff; color:#282828;}
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure{ margin: 0px; padding: 0px; }
ul { list-style-type: none; }
img { border: none; }
input,textarea,select { font-size: 1em; }
form { margin: 0px; }
table {	border-collapse:collapse; font-size: 100%; border-spacing: 0; width: 100%;}
/*link*/
a { border:0; text-decoration:none; color: inherit; transition: all .2s ease-in-out;}
a:hover { text-decoration: none; color:inherit; opacity: .7;}
/*text*/
h1, h2, h3, h4, h5, h6 { text-align: left; line-height:1.4; line-break: strict; font-weight: bold; }
h1 { font-size: 2vw; }
h2 { font-size: 5vw; }
h3 { font-size: 4.7vw; }
h4 { font-size: 4.3vw; }
h5 { font-size: 3.8vw; }
h6 { font-size: 3.6vw; }
p { font-size: 3.6vw; line-height: 1.8;}
@media(min-width:1001px) {
    h1 { font-size: 30px; }
    h2 { font-size: 36px; }
    h3 { font-size: 32px; }
    h4 { font-size: 28px; }
    h5 { font-size: 26px; }
    h6 { font-size: 22px; }
    p { font-size: 20px;}
}

/*strong*/
strong { font-weight: bold;}
b { color:#111; }
em, i { font-style: italic; }
.normal { font-weight:normal !important; }
.minc { font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }


/* IMG */
img { display:block; margin:0 auto; padding:0; border: 0; max-width:100%; }
a img { transition: all .2s ease-in-out; }
a:hover img { opacity:.70; }

@media (min-width: 751px) {
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}



 
/*------------------------------------------------------------
    COMMON
------------------------------------------------------------ */
body { background: #e8f1f9;}
main { position: relative; width: 100%; max-width: 750px; margin: 0 auto; overflow: hidden; background: #fff; box-shadow: 0 0 12px rgba(0,0,0,.15);}
section { position:relative; width:100%; margin:0 auto; padding:0; box-sizing: border-box; }
section > div,
section > article > div { margin: 0 auto; width: 90%;}
section > div:not(:first-of-type),
section > article > div:not(:first-of-type) { margin-top: 5%;}

header { position:absolute; top: 0; margin:0; padding: 0 2em; background: rgba(255,255,255,.7); z-index: 9999; width: 100%; max-width: 1000px; height: 120px; display: flex; align-items: center; justify-content: flex-start;}
header h1 { width: 54vw; max-width: 460px; margin-right: auto;}
header > a { display: block; margin-left: 1.5em;}

footer { background: var(--txt01); margin: 0; padding: 2%;}
footer p { text-align: center; color: #fff;}

@media(max-width:767px) {
    section > div { margin: 0 auto; width: 92%;}
    header { height: 70px; padding: 0 5vw;}
    header > a { width: 25%; margin-left: 1em;}
    footer { padding: 4%;}
    footer p { font-size: 3.4vw;}
}    



/*------------------------------------------------------------
    CONTENTS
------------------------------------------------------------ */
:root {
    --main: #338B95;
    --sub: #;
    --txt01: #3B4F5D;
    --txt02: #;
    --bg: #CDEAED;
}


/* common */
@media(max-width:767px) {
}


/* ct01 */
.ct01 { margin-bottom: -20%; }
@media(max-width:767px) {
    .ct01 { margin-bottom: -22%; }
}


/* ct02 */
.ct02 article { background: url(images/ct02_bg.jpg) 50% 60px no-repeat; background-size: cover; padding-bottom: 8%;}
.ct02 article > h3 { color: #fff; padding: 1em; background: var(--main); text-align: center; border-top-right-radius: 50px; border-top-left-radius: 50px}
.ct02 article > h3 span { color: #FFF7E6; }
.ct02-01 h2,
.ct02-01 h5 { text-align: center; color: #313131; margin-top: 1em;}
.ct02-01 h2 strong { font-size: 74px; color: var(--main); display: block;}
.ct02-02 ul { display: flex; border: 2px solid var(--main);}
.ct02-02 li:not(:first-of-type) { border-left: 2px solid var(--main);}
.ct02-02 li { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1em .2em;  background: #fff; min-width: 19%;}
.ct02-02 li:nth-child(even) { background: #e4fdff;}
.ct02-02 li p { text-align: center; font-weight: bold; color: var(--main); line-height: 1.2; margin-top: .4em; font-size: 18px;}
.ct02-02 li:last-child { width: 24%;}
.ct02-03 h5 { text-align: center; color: var(--main);}
.ct02-03 h5 span { padding-bottom: 4%; display: inline-block; background: url(images/ct02_arrow.svg) 50% 100% no-repeat;}
.ct02-03 div,
.ct02-02 div a { display: flex; justify-content: space-between;}
.ct02-03 div { margin: 4% 0;}
.ct02-03 div a { width: 32%; align-items: center; justify-content: center; border-radius: 12px; padding: 3% 1%;}
.ct02-03 div a:nth-child(1) { background: #294C7A;}
.ct02-03 div a:nth-child(2) { background: #C5400B;}
.ct02-03 div a:nth-child(3) { background: #00B900;}
.ct02-03 div a p,
.ct02-03 div a h6 { text-align: center; color: #fff; font-size: 26px;}
.ct02-03 div a h6 span { display: inline-block; background: url(images/btn_arrow.svg) 0 50% no-repeat; background-size: 10%; padding-left: .9em;}
.ct02-03 div a p { line-height: 1; font-size: 18px; margin-bottom: .2em;}
.ct02-03 > img { width: 55%;}

@media(max-width:1000px) {
    .ct02 article > h3 { padding: 1em .5em; border-top-right-radius: 34px; border-top-left-radius: 34px}
    .ct02-01 h2,
    .ct02-01 h5 { margin-top: 1.5em;}
    .ct02-01 h5 { margin-top: .6em; font-size: 3.6vw;}
    .ct02-01 h2 strong { font-size: 11vw;}
    .ct02-02 li { padding: .8em .1em;}
    .ct02-02 li p { margin-top: .8em; font-size: 2.6vw;}
    .ct02-02 li img { width: 10vw; margin: 0;}
    .ct02-02 li:nth-child(1) img { width: 8vw;}
    .ct02-02 li:nth-child(3) img { width: 8vw;}
    .ct02-02 li:nth-child(4) img { width: 7vw;}
    .ct02-02 li:nth-child(5) img { width: 15vw;}
    .ct02-02 li:nth-child(4) { width: 21%;}
    .ct02-02 li:nth-child(5) { width: 22%;}
    .ct02-03 h5 { font-size: 4.2vw;}
    .ct02-03 h5 span { padding-bottom: 5%; background-size: 135%;}
    .ct02-03 div { margin: 4% 0 5%;}
    .ct02-03 div a { border-radius: 8px; padding: 4% 1%;}
    .ct02-03 div a p,
    .ct02-03 div a h6 { font-size: 3.4vw;}
    .ct02-03 div a p { font-size: 2.6vw;}
    .ct02-03 > img { width: 60%;}
}


/* ct03 */
.ct03 { background: url(images/ct03_bg.jpg) 50% 50% no-repeat; background-size: cover; padding: 8% 0 10%;}
.ct03 h2 { color: #fff; border-left: 8px solid #fff; margin-bottom: 1em; line-height: 1; padding: .1em 0 .1em .5em;}
.ct03 ul { display: flex; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 15%;}
.ct03 li { width: 48%;}
.ct03 li:nth-child(odd) { margin-right: 4%;}
.ct03 li:nth-child(n+3) { margin-top: 6%;}
.ct03 li img { border-top-left-radius: 34px; border-bottom-right-radius: 34px;}
.ct03 li h6 { font-weight: normal; margin-top: .7em; padding-top: .6em; border-top: 1px solid #fff; color: #fff;}
.ct03 div > h4,
.ct03 div > h3 { text-align: center; color: #fff;}
.ct03 div > h3 { margin-top: .8em; font-size: 46px; font-weight: normal;}
@media(max-width:1000px) {
    .ct03 { padding: 10% 0 12%;}
    .ct03 h2 { border-left: 6px solid #fff; margin-bottom: 1.5em;}
    .ct03 ul { margin-bottom: 13%;}
    .ct03 li img { border-top-left-radius: 20px; border-bottom-right-radius: 20px;}
    .ct03 li h6 { font-weight: normal; margin-top: .7em; padding-top: .6em; border-top: 1px solid #fff; color: #fff;}
    .ct03 div > h3 { margin-top: .8em; font-size: 6.2vw;}
}


/* ct04 */
.ct04 { padding: 10% 0 20%; background: var(--bg);}
.ct04-01 > h6 { border-left: 8px solid #29A8B7; color: #29A8B7; font-weight: normal; font-size: 30px; padding-left: .4em; line-height: 1;}
.ct04-01 > h3 { margin: .4em 0 .4em; color: var(--main);}
.ct04-01 ul { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 6%;}
.ct04-01 li { border-top-left-radius: 30px; border-bottom-right-radius: 30px; padding: 3em .2em 1.4em; background: var(--main); width: 31.5%; min-height: 200px;}
.ct04-01 li:nth-child(n+4) { margin-top: 3%;}
.ct04-01 li h6 { text-align: center; color: #fff; background: url(images/ct04_check.svg) 50% 0 no-repeat; background-size: 18%; padding-top: 2em;}
.ct04-02 h2,
.ct04-02 h3,
.ct04-02 div p,
.ct04-02 th,
.ct04-02 td { color: var(--txt01); text-align: center;}
.ct04-02 h2 b { color: var(--txt01); display: inline-block; margin: 0 .1em; padding: 0 .1em; background:linear-gradient(transparent 60%, #E2CFA1 60%);}
.ct04-02 div { margin: 6% auto; padding: 1.6em; background: #fff; width: 90%;}
.ct04-02 div h6,
.ct04-02 div p { text-align: center;}
.ct04-02 div h6 span { color: #fff; display: inline-block; padding: .5em .8em .4em; background: var(--main);}
.ct04-02 table { width: 100%; margin: 8% 0 6%;}
.ct04-02 th,
.ct04-02 td { text-align: left; font-weight: bold; font-size: 25px; padding: .6em .8em;}
.ct04-02 th { border-right: 1px solid var(--txt01);}
.ct04-02 tr:nth-child(2) th,
.ct04-02 tr:nth-child(2) td { border-top: 1px solid var(--txt01); border-bottom: 1px solid var(--txt01);}
.ct04-02 th { padding-left: 0;}
.ct04-02 td { padding-right: 0;}
.ct04-02 tr:nth-child(1) th,
.ct04-02 tr:nth-child(1) td { padding-top: .1em; }
.ct04-02 tr:nth-child(3) th,
.ct04-02 tr:nth-child(3) td { padding-bottom: .1em; }
.ct04-02 div p { font-size: 16px; line-height: 1.4; font-weight: bold;}

@media(max-width:1000px) {
    .ct04 { padding: 12% 0 22%;}
    .ct04-01 > h6 { border-left: 6px solid #29A8B7; font-size: 5vw;}
    .ct04-01 > h3 { margin: .5em 0 .4em; font-size: 5.4vw;}
    .ct04-01 ul { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 6%;}
    .ct04-01 li { border-top-left-radius: 20px; border-bottom-right-radius: 20px; padding: 1.8em .1em .8em; min-height: 28vw;}
    .ct04-01 li h6 { font-size: 3.2vw; padding-top: 2em;}
    .ct04-02 { margin-top: 8%!important;}
    .ct04-02 h2 { font-size: 6.4vw;}
    .ct04-02 div { margin: 6% auto 8%; padding: 1.4em 1em 1.6em; width: 100%;}
    .ct04-02 div h6 span { font-size: 4vw;}
    .ct04-02 table { width: 100%; margin: 8% 0 6%;}
    .ct04-02 th,
    .ct04-02 td { font-size: 3.6vw;}
    .ct04-02 div p { font-size: 3.2vw;}
    .ct04-02 > h3 { font-size: 5.2vw;}
}


/* ct05 */
.ct05 { margin-top: -12%; padding: 6% 0 8%; background: url(images/ct05_bg.jpg) 0 0 repeat; border-top-left-radius: 80px; }
.ct05 > h2 { position: relative; text-align: center; color: #fff; padding-bottom: .4em;}
.ct05 > h2::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 50px; height: 6px; background: #E2CFA1; transform: translate(-50%,0);}
.ct05 > div { border-radius: 20px; margin-top: 6%; padding: 3em 1.6em 1.6em; background: #fff; box-shadow: 0 6px 8px rgba(0,0,0,.4);}
.ct05 > div h2 { text-align: center; color: var(--txt01); margin-bottom: .6em;}
.ct05 > div li { border: 1px solid var(--main); border-radius: 12px; overflow: hidden;}
.ct05 > div li:not(:first-child) { margin-top: 4%;}
.ct05 > div li h3 { padding: .5em 1em; color: #fff; background: var(--main);}
.ct05 > div li h6 { padding: 1.2em 1.5em; color: var(--txt01);}
.ct05 > h3 { text-align: center; color: #fff; margin-top: 1.6em;}

@media(max-width:1000px) {
    .ct05 { padding: 8% 0 10%; border-top-left-radius: 50px; }
    .ct05 > h2 { font-size: 6.4vw; padding-bottom: .6em;}
    .ct05 > h2::after { width: 40px; height: 5px;}
    .ct05 > div { border-radius: 18px; margin-top: 8%; padding: 2em 1em 1em;}
    .ct05 > div h2 { font-size: 5.8vw; margin-bottom: .8em;}
    .ct05 > div li { border-radius: 10px;}
    .ct05 > div li:not(:first-child) { margin-top: 5%;}
    .ct05 > div li h3 { padding: .6em 1em;}
    .ct05 > div li h6 { padding: 1.1em 1.5em;}
    .ct05 > h3 { margin-top: 2em;}
}


/* ct06 */
.ct06 { padding: 2.5em 0; background: var(--bg);}
.ct06 > div { padding: 12% 2em; border-radius: 80px; background: #44B6C4;}
.ct06 > div > h6 { border-left: 8px solid #fff; color: #fff; font-weight: normal; font-size: 30px; padding-left: .4em; line-height: 1; margin-left: 3%;}
.ct06 > div > h3 { color: #fff; margin-top: .4em; margin-left: 3%;}
.ct06 > div > h3 span { display: block; font-weight: normal; text-indent: -.6em;}
.ct06 > div table { width: 100%; margin: 4% 0;}
.ct06 > div th,
.ct06 > div td { font-size: 24px; font-weight: bold; padding: .6em 1.2em; color: var(--txt01); background: #fff;}
.ct06 > div th { background: #8AE2EC;}
.ct06 > div tr:nth-child(even) th { background: #63C2CD;}
.ct06 > div tr:nth-child(even) td { background: #E4E4E4;}
.ct06 > div td span { font-size: 16px;}
.ct06 > div > p { text-indent: -.6em; padding-left: .6em; color: #fff; line-height: 1.4; margin-bottom: 1em;}
.ct06 > div > div h3 { text-align: center; color: var(--txt01); background: url(images/ct06_arrow.svg) 50% 90% no-repeat #fff; background-size: 22%; padding: .8em 0 1.5em; letter-spacing: 2px;}
.ct06 > div > div h3 span { font-weight: normal; font-size: calc(1em - 14px); color: #8F6E2A; display: block; margin-bottom: .2em; letter-spacing: 0;}
.ct06 > div > div h2 { background: var(--main); text-align: center; color: #E2CFA1; padding: .6em 0; font-size: 44px; letter-spacing: 2px;}
.ct06 > div > div h2 span { display: block; color: #fff; font-size: 22px; margin-bottom: .15em; letter-spacing: 0;}

@media(max-width:1000px) {
    .ct06 { padding: 0; }
    .ct06 > div { padding: 12% 1.4em 16%; border-radius: 50px; width: 100%;}
    .ct06 > div > h6 { border-left: 6px solid #fff; font-size: 5vw;}
    .ct06 > div > h3 { margin-top: .5em; font-size: 5.4vw;}
    .ct06 > div table { margin: 6% 0;}
    .ct06 > div th,
    .ct06 > div td { font-size: 4.4vw; padding: .8em 1.2em;}
    .ct06 > div th { width: 36%;}
    .ct06 > div td span { font-size: 3.4vw;}
    .ct06 > div > p { margin-bottom: 1.6em;}
    .ct06 > div > div h3 { font-size: 5.8vw; padding: .8em 0 1.2em;}
    .ct06 > div > div h3 span { font-size: 3.6vw;}
    .ct06 > div > div h2 { padding: .7em 0 .5em; font-size: 7.2vw;}
    .ct06 > div > div h2 span { font-size: 3.8vw; margin-bottom: .15em; letter-spacing: 0;}
}


/* ct07 */
.ct07 { background: #BBDDE1; padding: 14% 0 6%;}
.ct07 > h2 { text-align: center; color: var(--main); margin-bottom: 1em;}
.ct07 > div { padding: 3em; background: #fff; border-top-left-radius: 34px; border-bottom-right-radius: 34px; width: 80%;}
.ct07 > div:not(:first-of-type) { margin-top: 4%;}
.ct07 > div h4 { display: inline-block; color: #fff; background: #8F6E2A; margin-top: 1.4em; padding: .2em .5em .1em;}
.ct07 > div h5 { color: var(--main); margin: .5em 0 .8em;}
.ct07 > div img { width: 80%; }
.ct07 > h6 { text-align: center; margin-top: 1.5em;}

@media(max-width:1000px) {
    .ct07 { padding: 12% 0 10%;}
    .ct07 > h2 { font-size: 6vw; margin-bottom: 1em;}
    .ct07 > div { padding: 2em; border-top-left-radius: 26px; border-bottom-right-radius: 26px; width: 92%;}
    .ct07 > div h4 { font-size:5vw;}
    .ct07 > div h5 { font-size: 4.6vw; margin: .6em 0;}
    .ct07 > h6 { margin-top: 2em;}
}


/* ct08 */
.ct08 { background: #EFF8F9; padding: 10% 0;}
.ct08 > div { width: 80%; margin: 0 auto;}
.ct08 > div > h6 { border-left: 8px solid var(--main); color: var(--main); font-weight: normal; font-size: 30px; padding-left: .4em; line-height: 1;}
.ct08 > div > h3 { margin: .4em 0 .4em; color: var(--main);}
.ct08 ul { margin-top: 5%;}
.ct08 li { position: relative; margin: 0 auto; padding: 2em; background: #fff; border-top-left-radius: 34px; border-bottom-right-radius: 34px; border: 2px solid var(--main);}
.ct08 li:not(:last-of-type) { margin-bottom: 8.5%;}
.ct08 li:not(:last-of-type)::after { content: ""; width: 100%; height: 100%; position: absolute; left: 0; bottom: -46px; background: url(images/ct08_arrow.svg) 50% 100% no-repeat;}
.ct08 li div { display: flex; align-items: center; justify-content: flex-start; margin-bottom: 5%;}
.ct08 li div h5 { color: var(--main); margin-left: 1em;}
.ct08 li div h5 span { font-size: calc(1em - 3px); display: inline-block; border-bottom: 2px solid var(--main); margin-bottom: .5em; padding-bottom: .1em;}
.ct08 li div img { width: 22%; margin: 0; padding: 1.4em; border-top-left-radius: 20px; border-bottom-right-radius: 20px; background: var(--main);}

@media(max-width:1000px) {
    .ct08 { padding: 12% 0;}
    .ct08 > div { width: 90%;}
    .ct08 > div > h6 { border-left: 6px solid var(--main); font-size: 5vw;}
    .ct08 > div > h3 { margin-top: .5em; font-size: 5.4vw;}
    .ct08 ul { margin-top: 6%;}
    .ct08 li { padding: 1.2em; border-top-left-radius: 26px; border-bottom-right-radius: 26px;}
    .ct08 li:not(:last-of-type) { margin-bottom: 10%;}
    .ct08 li:not(:last-of-type)::after { bottom: -7.5vw; background-size: 6vw}
    .ct08 li div { margin-bottom: 5%;}
    .ct08 li div h5 { margin-left: 1.4em; font-size: 4.4vw;}
    .ct08 li div h5 span { margin-bottom: .6em;}
    .ct08 li div img { width: 25%; margin: 0; padding: 1em; border-top-left-radius: 16px; border-bottom-right-radius: 16px;}
}


/* ct09 */
.ct09 { padding: 2% 0 8%; background: var(--main);}
.ct09 > img { width: 22%; position: relative; z-index: 2;}
.ct09 > div { margin-top: -10%; padding: 13% 2em 2em; background: #fff;}
.ct09 div h3 { color: #19355A; text-align: center; margin-bottom: .5em;}
.ct09 div h6 { color: #fff; padding: .9em 1.2em .8em; background: var(--txt01);}
.ct09 div div { padding: 1.5em 2em; background: #D8F2F5;}
.ct09 div div p { text-indent: -1em; padding-left: 1em; font-weight: bold;}
.ct09 div div p:not(:first-of-type) { margin-top: .3em;}

@media(max-width:1000px) {
    .ct09 > img { width: 24%;}
    .ct09 > div { margin-top: -8%; padding: 14% 1.3em 1.3em;}
    .ct09 div h3 { margin-bottom: 1em;}
    .ct09 div h6 { padding: 1.3em 1.6em 1.2em;}
    .ct09 div div { padding: 1.2em 1.4em;}
    .ct09 div h6,
    .ct09 div p { font-size: 3.8vw;}
}



/*------------------------------------------------------------
    320px
------------------------------------------------------------ */
@media(max-width:320px) {
.col2 li, .col2 li:nth-child(2n) { position:relative; width:94%; }
.blogs li p.cate { font-size:1.1rem; padding:.3em .6em; }
.small-container { padding-bottom: 200%; /* 高さ */ }
input[type="submit"], .inqBtn { font-size:1.6rem; }
img.logo { float:none !important; margin:0 auto 0; display:block; }
p.footInfo { padding:0; }
}


/*------------------------------------------------------------
    others
------------------------------------------------------------ */
@media(min-width:768px) {
    .onlySp { display:none !important; }
}
@media(max-width:767px) {
    .onlyPc { display:none !important; }
}
@media(max-width:411px) {
    .small-container { padding-bottom: 172%; /* 高さ */ }
}
@media (min-width: 751px) {
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}




/* sec05セクション */
#sec05 {
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
  background: url("./img/sec05_bg.jpg") #00152a 0 0 repeat-x;
  font-size: 12px;
  font-weight: normal;
  color: #fff;
}

/* コンテナ */
#sec05 .arc-container {
  max-width: 1170px;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/* 見出し */
#sec05 h2 {
  font-size: 22px;
  color: #fff;
  background: url("./img/sec05_img_001.png") top center no-repeat;
  padding-top: 75px;
  text-align: center;
  margin-bottom: 50px;
}

#sec05 h3 {
  font-size: 16px;
  font-weight: normal;
  background: url("./img/sec05_bdr.png") bottom left no-repeat;
  padding-bottom: 14px;
  margin-bottom: 18px;
}

/* row（フレックスボックスでグリッド実装） */
#sec05 .arc-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

/* カラム共通 */
#sec05 .arc-row > div {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

/* マージンボトム */
#sec05 .arc-listMb {
  margin-bottom: 25px;
}

/* デスクトップ用カラム幅 */
@media (min-width: 768px) {
  #sec05 .arc-col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  
  #sec05 .arc-col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  
  #sec05 .arc-col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (min-width: 992px) {
  #sec05 .arc-col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

/* リストスタイル */
#sec05 dl.arc-list01 {
  width: 100%;
  margin: 0;
  padding: 0;
}

#sec05 dl.arc-list01 dt {
  width: 25%;
  font-weight: normal;
  float: left;
  clear: left;
}

#sec05 dl.arc-list01 dd {
  width: 75%;
  margin-left: 25%;
  margin-bottom: 5px;
}

#sec05 dl.arc-list02 {
  width: 100%;
  margin: 0;
  padding: 0;
}

#sec05 dl.arc-list02 dt {
  width: 10%;
  font-weight: normal;
  float: left;
  clear: left;
}

#sec05 dl.arc-list02 dd {
  width: 90%;
  margin-left: 10%;
  margin-bottom: 5px;
}

/* バッジスタイル */
.arc-badge {
  display: inline-block;
  padding: 4px 6px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 4px;
}

.arc-badge-pill {
  padding-right: 10px;
  padding-left: 10px;
  border-radius: 160px;
}

.arc-badge-light {
  color: #212529;
  background-color: #f8f9fa;
}

.arc-badge-light a {
  color: #212529;
  text-decoration: none;
}

/* プライバシーポリシーリンク */
.arc-privacy-link {

  /*margin-top: 32px;*/
  margin-bottom: 0;
}

.arc-privacy-link a {
  font-size: 12.8px;  /* 0.8remに相当 */
  padding: 6px 12px;
}

/* テキストセンタリング用クラスを削除（重複していたため） */
.arc-text-center {
  text-align: center;
}

/* プライバシーポリシーテキスト - 修正版 */
.arc-privacy-text {
  font-size: 12.8px;  /* 0.8remに相当 */
  color: #3A3A3A;
}

.arc-privacy-text h3 {
  background: none;
  color: #3A3A3A;
  padding-bottom: 0;
  font-size: 12.8px;  /* 0.8remに相当 */
  margin-bottom: 10px;
}

.arc-privacy-text h4 {
  font-size: 12.8px;  /* 0.8remに相当 */
  color: #3A3A3A;
  /*margin-top: 24px;*/
  margin-bottom: 8px;
}

.arc-privacy-text p {
  font-size: 12.8px;  /* 0.8remに相当 */
  line-height: 1.6;
  margin-bottom: 10px;
}

/* ボタンスタイル - 修正版 */
.arc-btn {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: 1px solid transparent;
  padding: 6px 12px;
  font-size: 12.8px;  /* 0.8remに相当 */
  line-height: 1.5;
  border-radius: 4px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  cursor: pointer;
  text-decoration: none;
}

.arc-btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.arc-btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

/* コラプス（アコーディオン）機能 */
.arc-collapse {
  display: none;
}

.arc-collapse.arc-show {
  display: block;
}

.arc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: 4px;
  margin-top: 16px;
}

.arc-card-body {
  flex: 1 1 auto;
  padding: 20px;
}

.arc-privacy-text {
  font-size: 13px;
  color: #3A3A3A;
}

.arc-privacy-text h3 {
  background: none;
  color: #3A3A3A;
  padding-bottom: 0;
  font-size: 16px;
}

.arc-privacy-text h4 {
  font-size: 13px;
  color: #3A3A3A;
  /*margin-top: 24px;*/
  margin-bottom: 8px;
}

/* SPフッター固定 */
#arc-sp-footer-fix {
  display: none;
  background: #000;
  width: 100%;
  z-index: 1030;
}

.arc-fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
}

.arc-px-3 {
  padding-right: 16px;
  padding-left: 16px;
}

.arc-px-1 {
  padding-left: 4px;
  padding-right: 4px;
}

.arc-py-1 {
  padding-top: 4px;
  padding-bottom: 4px;
}

.arc-px-2 {
  padding-right: 8px;
  padding-left: 8px;
}

.arc-py-3 {
  padding-top: 16px;
  padding-bottom: 16px;
}

.arc-sp-footer-row {
  display: flex;
  margin-right: -2px;
  margin-left: -2px;
}

.arc-sp-footer-row .arc-sp-col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
  padding: 0 2px;
}

.arc-position-relative {
  position: relative;
}

.arc-sp-footer-tel {
  background: #0bc4ee;
  box-sizing: border-box;
}

.arc-sp-footer-line {
  background: #1dcd00;
  box-sizing: border-box;
}

.arc-sp-footer-mail {
  background: #ea5757;
  box-sizing: border-box;
}

.arc-area-100 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -999px;
  z-index: 2;
}

.arc-img-fluid {
  max-width: 100%;
  height: auto;
}

/* レスポンシブ設定 */
@media (max-width: 767px) {
  #sec05 {
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 14px;
  }
  
  #sec05 h2 {
    font-size: 16px;
    padding-top: 70px;
  }
  
  #sec05 h3 {
    font-size: 14px;
    padding-top: 20px;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  
  #sec05 .arc-row {
    flex-direction: column;
  }
  
  #sec05 .arc-row > div {
    max-width: 100%;
    margin-bottom: 20px;
  }
  
  #arc-sp-footer-fix {
    display: block;
  }
  
  .arc-d-md-none {
    display: block !important;
  }
}

@media (min-width: 768px) {
  .arc-d-block {
    display: block;
  }
  
  .arc-d-md-none {
    display: none !important;
  }
  
  #arc-sp-footer-fix {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #sec05 {
    font-size: 13px;
  }
}

@media (min-width: 1200px) {
  #sec05 {
    font-size: 15px;
  }
}
/* コラプス（アコーディオン）機能 - 改良版 */
.arc-collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.arc-collapse.arc-show {
  max-height: 2000px; /* 十分な高さを設定 */
  transition: max-height 0.5s ease-in;
}