/*
Theme Name: type-TN22
Author: TN
Version: 2.1, 2022.01
*/

@charset "UTF-8";

/*------------------------------------------------------------
	font
------------------------------------------------------------ */
@font-face {
    font-family: 'LINESeedJP';
    font-weight: 400;
    src: url('/donation/font/LINESeedJP_A_TTF_Rg.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'LINESeedJP';
    font-weight: 500;
    src: url('/donation/font/LINESeedJP_A_TTF_Bd.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'LINESeedJP';
    font-weight: 800;
    src: url('/donation/font/LINESeedJP_A_TTF_Eb.ttf ') format("truetype");
	font-display: swap;
}

/*------------------------------------------------------------
	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 'LINESeedJP', 'Noto Sans JP', "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:#111;}
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; }
/*text*/
h1, h2, h3, h4, h5, h6 { text-align: left; line-height:1.6; line-break: strict; font-weight: 500; }
h1 { font-size: 2vw; }
h2 { font-size: 3vw; }
h3 { font-size: 2.4vw; }
h4 { font-size: 2.3vw; }
h5 { font-size: 1.9vw; }
h6 { font-size: 1.8vw; }
p { font-weight: 400; font-size: 18px; line-height: 1.8;}
.caption { font-size : calc(1em - 2px); display: block; color: #888; margin-top: .4em;}
.point { color:#333 !important; }
.indt { text-indent: -1em; padding-left: 1em;}

/*strong*/
strong { font-weight: 800; color: var(--red);}
b { font-weight: 500;}
em, i { font-style: italic; }
.normal { font-weight:normal !important; }

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

/* clearfx */
.cf:before, .cf:after { content: ""; display: table; }
.cf:after{ clear: both; }
.cf { zoom: 1; } /* For IE 6/7 */

/* LIST */
ul { margin-bottom: 0; list-style: none outside; }
ol { margin-bottom: 0; list-style: decimal; margin-left: 2.2em; }
ul.square, ul.circle { margin-left: 2em; }
ul.square { list-style: square outside; }
ul.circle { list-style: disc outside; }
ul ul.circle, ul ul.square { margin-top: 4px; margin-bottom: 5px; }
dl { display: flex; align-items: center; justify-content: space-between;}
dl dt, dl dd { width: 47%;}

/* HR */
hr { border-width: 1px 0 0 0; border-style: solid; border-color: #ccc; height: 1px; margin: 1.5em 0;}

i { font-size:calc(1em + 2px); }

@media(min-width:1100px) {
    h1 { font-size: 30px; }
    h2 { font-size: 38px; }
    h3 { font-size: 28px; }
    h4 { font-size: 24px; }
    h5 { font-size: 22px; }
    h6 { font-size: 20px; }
}
@media(max-width:767px) {
    h1 { font-size: 2vw; }
    h2 { font-size: 5.4vw; }
    h3 { font-size: 4.5vw; }
    h4 { font-size: 4.2vw; }
    h5 { font-size: 4vw; }
    h6 { font-size: 3.6vw; }
    p { font-size: 1.6rem; }
    .caption { font-size : 1.4rem; }
    ul.square, ul.circle { margin-left: 1.5em; }
    dl { flex-direction: column;}
    dl dt, dl dd { width: 100%;}
    dl dd { margin-top: 8%;}
    dl.sp-rv { flex-direction: column-reverse;}
    dl.sp-rv dt { margin-top: 8%;}
    dl.sp-rv dd { margin-top: 0;}
}
@media(max-width:320px) {
    p { font-size: 1.3rem; }
}

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

/*------------------------------------------------------------
	header - nav
------------------------------------------------------------ */
header { position:relative; top:0; left:0; margin:0; background: var(--gr); z-index: 9999; width: 100%;}
header article { height: 100%; padding: 0 2vw; background: #fff; display: flex; align-items: center;}
header h1, header p { position: relative; line-height:1; font-size:1em; text-align: center; display: flex; align-items: center; width: 32vw; max-width: 200px;}
header h1 a { display:block;}
header img { width: 100%; margin: 0;}

/* FIXED */
header.fixed { position: fixed !important; top:0; bottom:inherit !important; width:100%;}
header.fixed .inner { height:70px; }
header.fixed h1, header.fixed p { width: 19vw; max-width: 150px;}
header.fixed #mobile-head { height: 80px;}

header #mobile-head {
width: 94%;
height: 80px;
margin:0 2% 0 4%;
padding:0;
position: relative;
display: flex;
align-items: center;
justify-content: flex-start;
}
header nav {
position: absolute;
top:0;
right:0;
background:rgba(255,255,255,.6);
width:100vw;
height:100vh;
text-align: center;
padding: 0;
z-index:999;
transition: opacity .25s, visibility 0s ease .25s;
opacity: 0;
visibility: hidden;
overflow: scroll;
}
header nav ul {
position: absolute;
top:-100vw;
padding:calc(100px + 2em) 10% 5%;
width: 100vw;
background:#fff;
z-index:999;
transition: .35s ease-in-out;
}
header nav ul li {
padding:0;
text-align:left;
width: 500px;
max-width: 100%;
margin: 0 auto;
}
header nav ul li:not(:first-of-type) { margin-top: 1.5em;}
header nav ul li a,
header.fixed nav ul li a {
position: relative;
display: inline-block;
padding: 0;
line-height:1;
font-size: 18px;
color: #333;
}
header nav ul li h5,
header nav ul li i { color: var(--gr);}
header nav ul li i { margin-right: .8em;}

/*hover*/
header nav ul li a:hover,
header.fixed nav ul li a:hover { color: var(--gr);}
header nav a::before, nav a::after {
  position: absolute;
  bottom: -.5em;
  content: "";
  display: inline-block;
  width: 0;
  height: 1px;
  background: var(--gr);
  transition:all .25s ease;
}
header nav a::before { display:none; }
header nav a::after { left: 0%; }
header nav a:hover::after{ width:100%; }


/* Toggle Button */
header #nav-toggle, .close_button { position: relative; display: block; right: 0; top: 0; width:40px; height:26px; cursor: pointer; z-index: 9999; margin-left: auto;}
header #nav-toggle div, .close_button div { position: relative;}
header #nav-toggle span, .close_button span { display: block; position: absolute; height: 3px; width: 100%; border-radius:20px; background: #fff; left: 0; transition: .35s ease-in-out; }
header #nav-toggle span:nth-child(1) { top: 0; }
header #nav-toggle span:nth-child(2) { top: 12px; width:82%; margin-left: 18%;}
#nav-toggle span:nth-child(3) { top: 23px; width:68%; margin-left: 32%;}
header #nav-toggle:hover span:nth-child(2), #nav-toggle:hover span:nth-child(3) { width:100%; transition: .2s ease-in-out; margin: 0;}


/* #nav-toggle 切り替えアニメーション */
header.open #nav-toggle span { background-color: var(--gr);}
header.open #nav-toggle span:nth-child(1) {
    top: 11px;
    transform: rotate(315deg);
}
header.open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
    margin: 0;
}
header.open #nav-toggle span:nth-child(3) {
    top: 11px;
    transform: rotate(-315deg);
    width:100%;
    margin: 0;
}

/* nav スライドアニメーション */
header.open nav { opacity:1;display:block; right:0;
transition-delay: 0s;
opacity: 1;
visibility: visible;}
header.open nav:after { opacity:.5; }
header.open nav ul { top:0; }


/* add menu */
.addmenu { margin-right: 3%; display: flex; align-items: center; justify-content: flex-end; height: 100%;}
.addmenu li { text-align: center; height: 100%;}
.addmenu li i { display: block; padding-top: .2em; font-size: calc(1em + 2px);}
.addmenu {}
.addmenu a { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; color: #fff; padding: .6em 1.5em 0; font-weight: 500; font-size: 1.7vw;}
.addmenu a:hover { background: rgba(255,255,255,.2);}
.addmenu li:first-child a { padding-left: 2.5em;}

@media(min-width:1000px) {
    .addmenu a { font-size: 15px;}
}

@media(max-width:767px) {
    header { position: fixed;}
    header #mobile-head { width:100%; margin: 0; height: 60px;}
    header #nav-toggle, .close_button { width:34px;}
    header #nav-toggle span:nth-child(2),
    header #nav-toggle span:nth-child(3) { width: 100%; margin: 0;}
    #heade nav a::before,  #heade nav a::after { display:none; }
    header nav ul { padding: 15% 8% 8%;}
    header nav ul li a { font-size: 3.3vw; }
    header h1, header p { width: 20vw; margin: 0;}
    header #nav-toggle { display: none;}
    .addmenu { margin: 0; width: 100%;}
    .addmenu li { width: 25%; border-left: 1px solid rgba(255,255,255,.4);}
    .addmenu a { padding: .8em 1em 0; font-size: 2.15vw;}
    .addmenu li:first-child a { padding-left: 1em;}
    .addmenu a:hover { background: none;}
}


/*------------------------------------------------------------
	BUTTON
------------------------------------------------------------ */
button, [type="button"], [type="reset"], [type="submit"] { background:none; border:0; }
button:active { color:#fff; }
.btns { text-align: center!important; margin: 4em auto;}
.btns.fs { margin: 10% auto;}
.btns.fs:first-of-type { margin: 5% auto -5%;}
.btns a { position:relative; text-align:center; margin: .8em 0; padding: .7em 1.5em .75em; line-height: 1.3; display:inline-block; border-radius: 50px; background: none; color: #fff; font-size: 2vw; background: var(--red); font-weight: 500; min-width: 500px;}
.btns a:hover { opacity: .7;}
.btns h2, .btns h4, .btns p { color: var(--red); text-align: center;}
.btns h2 { letter-spacing: 1px; margin-top: .2em;}
.btns p { color: #646464;}

@media(min-width:1100px) {
    .btns h2 { font-size: 32px;}
    .btns a { font-size: 26px;}
}

@media(max-width:767px) {
    .btns { margin: 10% auto;}
    .btns a { margin: .8em 0; padding:  1.1em 1.5em 1.2em; font-size: 4vw; min-width: 80%; max-width: 90%;}
    .btns p { font-size: 3.5vw;}
}


/*------------------------------------------------------------
	COLOR
------------------------------------------------------------ */
:root {
    --gr: #37b59d;
    --bl: #01457c;
    --red: #dc1629;
    --bg: #f7f2ec;
    --as: #efefef;
}
  
/*------------------------------------------------------------
    COMMON
------------------------------------------------------------ */
body { background: var(--bg);}
main { width: 100%; max-width: 960px; display: block; overflow: hidden; margin: 0 auto; background: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, .2);}
section { position:relative; width:100%; margin:0 auto; padding:0; box-sizing: border-box; }
main > section:not(:first-of-type) { margin-top: 10%;}
main > section.onBg { margin: 0; padding: 6% 0; background: var(--bg);}
.stdBx { width:92%; max-width:860px; margin:0 auto; }
.stdBx.min { width:92%; max-width:650px;}
section > .stdBx:not(:first-of-type),
section > article:not(:first-of-type),
.stdBx > div:not(:first-of-type) { margin-top: 8%;}
@media(max-width:767px) {
    main { margin-top: 60px;}
    main > section:not(:first-of-type) { margin-top: 12%;}
    section > .stdBx:not(:first-of-type),
    section > article:not(:first-of-type),
    .stdBx > div:not(:first-of-type) { margin-top: 8%;}
    .stdBx { width:88%; max-width: 88%; }
    .stdBx.min { width:88%; max-width: 88%;}
    .stdBx img { max-width:100%; }
}


/* column */
.clmBox { position:relative; display:flex; flex-flow: row wrap; justify-content: space-between; box-sizing:border-box; }
.clmBox.normal { justify-content:flex-start; align-items:flex-start; }
.clmBox.cont-rev { justify-content:flex-end; align-items:flex-start; }
.clmBox.ali-rev { justify-content:flex-start; align-items:flex-end; }
.clmBox.all-rev { justify-content:flex-end; align-items:flex-end; }
.htmach { align-items:stretch; }
.clmBox li { display:block; padding:0; border:0; position:relative; }
.clmBox li.clmBox { display:flex; }
.clmBox img { width:100%; display:block; }
.clm2 li, .clm2 .clms { width:48%; }
.clm3 li, .clm3 .clms { width:32%;}
.clm4 li, .clm4 .clms { width:24%; }
.clm5 li, .clm5 .clms { width:19%; }
.clm2.box2 .clms { width:50%; }
.clms { box-sizing:border-box; position:relative; }
.clm3::after{content:"";display: block;width:32%;}
.clm4::before{content:"";display: block;width:24%;order:1;}
.clm4::after{content:"";display: block;width:24%;}
.clm5 .empty{width:19%; margin:0;}
.clms { margin-bottom:2%; }
.clm2 li img, .clm3 li img, .clm4 li img, .clm5 li img, .clms img { width:100%; height:auto; }
.imgauto img { width:auto !important; }
.clms a { width:100% !important; margin:0;}
.alignC { align-self:center; }
.alignC img { display:block; margin:auto; }
.clumn { display:flex !important; flex-direction:column; align-items: flex-start;}
.last-end-row { margin-right:auto; }
.last-end-clm { margin-top:auto; }

@media(max-width:767px) {
    .clm2 li, .clm2 .clms, .clm3 li, .clm3 .clms, .clm4 li, .clm4 .clms, .clm5 li, .clm5 .clms { width:100%; margin-bottom:0; }
    .clm5 .empty{ display:none;}
    .textC { padding:0 1em; }
    .disbox { display:block; }
    .disbox .clms { width:100%; }
}


/*------------------------------------------------------------
    CONTENTS
------------------------------------------------------------ */
/* common */
section > h2 { text-align: center; color: #fff; background: var(--bl); margin-bottom: 1.2em; padding: .4em .5em .5em;}
.stdBx > h2
.stdBx > h3 { text-align: center; margin-bottom: 1.2em;}
.bg { background: var(--bg);}
.bg1 { background: var(--as); padding: 0 0 10%;}

.stdBx > p:not(:first-of-type) { margin-top: 1.5em;}
.stdBx > dl:not(:first-of-type) { margin-top: 6%;}
@media(max-width:767px) {
    .bg1 { padding: 0 0 14%;}
    .sp-sideovers { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);}
    section > h2 { padding: .6em .5em .7em;}

}


/* main */
#mv h2 { background: none; margin: 0; padding: 0;}


/* ct01 */
#ct01 .stdBx > div { background: #fff; padding: 1.6em;}
#ct01 .stdBx > div:first-of-type { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;}
#ct01 .stdBx > div:first-of-type img { width: 48%; margin: 0;}
#ct01 .stdBx > div:first-of-type h6 { width: 100%; text-align: center; margin-top: 1em;}
#ct01 .stdBx > div:last-of-type { display: flex; align-items: center; flex-direction: column;}
#ct01 .stdBx > div:last-of-type h4 { color: var(--bl); text-align: center; border-bottom: 1px solid var(--bl); margin-bottom: 1em; padding-bottom: .5em;}
#ct01 .stdBx > div:last-of-type p { text-align: left;}

@media(max-width:767px) {
    #ct01 .stdBx > div { padding: 1.2em;}
    #ct01 .stdBx > div:first-of-type img { width: 100%;}
    #ct01 .stdBx > div:first-of-type img:last-of-type { margin-top: 1.2em;}
    #ct01 .stdBx > div:last-of-type { align-items: flex-start}
}


/* ct02 */
#ct02 h3 { color: var(--bl); margin-bottom: 1.6em; line-height: 1.8;}
#ct02 .stdBx > p { line-height: 2.1;}
#ct02 .stdBx div { background: var(--as); padding: 1.8em 2em; margin-top: 5em;}
#ct02 .stdBx div h4 { margin-bottom: .5em;}

@media(max-width:767px) {
    #ct02 .stdBx div { padding: 1.6em 1.8em; margin-top: 10%;}
}


/* ct03 */
#ct03 h3 { color: var(--bl); margin-bottom: 1.6em; line-height: 1.8;}
#ct03 .stdBx > p { line-height: 2.1;}
#ct03 > img { margin-bottom: 8%;}
#ct03 .stdBx img { width: 70%; max-width: 350px; margin-top: 8%;}

@media(max-width:767px) {
    #ct03 h3 { color: var(--bl); margin-bottom: 5%;}
    #ct03 .stdBx img:first-of-type { width:100%; margin: 0 0 6%;}
}


/* ct04 */
#ct04 .stdBx { margin-top: 8%; padding: 50px; background: var(--bg);}
#ct04 .stdBx img:not(:first-of-type) { margin-top: 5%;}
#ct04 .stdBx img { border-radius: 14px;}
#ct04 .stdBx p { text-align: center; margin-top: 3em; font-size: calc(1em - 1px);}

@media(max-width:767px) {
    #ct04 h2 { margin: 0;}
    #ct04 .stdBx.min { width: 100%; max-width: 100%; margin: 0; padding: 1.4em 1.4em 2.5em;}
    #ct04 .stdBx p { margin-top: 2em; font-size: 3vw;}
}


/* ct05 */
#ct05 .ct05-01 h2 { text-align: center; font-weight: 800; border-bottom: 2px solid #111; margin-bottom: 1em; padding-bottom: .6em;}
#ct05 .ct05-01 h3 { text-align: center; color: var(--red); line-height: 1.6;}

#ct05 .ct05-02 > h3,
#ct05 .ct05-03 > h3,
#ct05 .ct05-04 > h3,
#ct05 .ct05-05 > h3,
#ct05 .ct05-06 > h3 { text-align: center; margin-bottom: 1em; color: var(--bl);}
#ct05 .ct05-02 ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
#ct05 .ct05-02 li { border-radius: 14px; padding: 1.7em; background: var(--bg); width: 48%;}
#ct05 .ct05-02 li h3 { color: #fff; background: var(--bl); padding: .4em 1em .4em;}
#ct05 .ct05-02 li h4 { color: var(--bl); margin-top: 1em; line-height: 1.7;}
#ct05 .ct05-02 li:nth-child(n+3) { margin-top: 4%;}
#ct05 .ct05-03,
#ct05 .ct05-04,
#ct05 .ct05-05 { border-bottom: 1px solid #ccc; padding-bottom: 8%;}
#ct05 .ct05-03 h5 { margin-top: 2em;}

#ct05 .ct05-04 h5 { text-align: center; line-height: 2; margin-bottom: 1.5em;}
#ct05 .ct05-04 img { width: 64%; max-width: 350px;}

#ct05 .ct05-05 dl { align-items: flex-start;}
#ct05 .ct05-05 dt,
#ct05 .ct05-05 dd { width: 50%; padding: 1em 0;}
#ct05 .ct05-05 dd { border-left: 1px solid #ccc; padding-left: 6%;}
#ct05 .ct05-05 dt { padding-right: 6%;}
#ct05 .ct05-05 p { margin-top: 1.2em;}
#ct05 .ct05-05 img { width: 80%; max-width: 250px; margin: 5% auto;}
#ct05 .ct05-05 h6 { text-align: center;}
#ct05 .ct05-05 h6 strong { color: var(--bl);}

#ct05 .ct05-06 article { position: absolute; bottom: 2.5%;}
#ct05 .ct05-06 img { position: relative; right: -5%;}

@media(max-width:767px) {
    #ct05 .ct05-02 li { padding: 1.7em; width: 90%; margin: 0 auto;}
    #ct05 .ct05-02 li:nth-child(n+2),
    #ct05 .ct05-02 li:nth-child(n+3) { margin-top: 5%;}
    #ct05 .ct05-04 h5 { text-align: left; line-height: 1.6; margin-bottom: 1.2em;}
    #ct05 .ct05-05 dt,
    #ct05 .ct05-05 dd { width: 100%; padding: 0;}
    #ct05 .ct05-05 dd { border-top: 1px solid #ccc; border-left: 0; padding: 8% 0 0;}
    #ct05 .ct05-05 dt { padding-right: 0;}
    #ct05 .ct05-05 img { width: 64%; margin: 5% auto;}
    #ct05 .ct05-06 article { bottom: 0%; width: 55vw;}
    #ct05 .ct05-06 article p { font-size: 3.4vw;}
    #ct05 .ct05-06 img { width: 100%; right: 0;}

}


/* ct06 */
#ct06 .ct06-01 h2 { text-align: center; font-weight: 800; border-bottom: 2px solid #111; margin-bottom: 1em; padding-bottom: .6em;}
#ct06 .ct06-01 h3 { text-align: center; color: var(--red); line-height: 1.6;}
#ct06 .ct06-01 h3:not(:first-of-type) { margin-top: 1em;}

#ct06 .ct06-02 table { width: 100%;}
#ct06 .ct06-02 th,
#ct06 .ct06-02 td { width: 50%; padding: 3% 8%; border: 1px solid #ccc; text-align: center;}
#ct06 .ct06-02 th { background: #e6edf3;}
#ct06 .ct06-02 th h4 { color: var(--bl); text-align: center;}
#ct06 .ct06-02 td p { display: inline-block; margin: 0 auto; text-align: left; line-height: 1.6;}
#ct06 .ct06-02 td p:not(:first-of-type) { margin-top: .8em; line-height: 1.6;}
#ct06 .ct06-02 td.shinri p { color: var(--red); font-weight: 500;}

@media(max-width:767px) {
    #ct06 .ct06-02 td { width: 50%; padding: 1.2em; text-align: left;}
    #ct06 .ct06-02 td p { font-size: 3.6vw; }
}


/* ct07 */
#ct07 { background: url(/donation/images/ct07_01.jpg) 100% 0 no-repeat #00a2fe; background-size: cover;}
#ct07 .stdBx { width: 70vw; padding: 10% 0 12%;}
#ct07 .stdBx h5 { color: #fff; line-height: 2;}

@media(max-width:767px) {
    #ct07 .stdBx { width: 86%; margin: 0 auto; padding: 8% 0 10%;}
}


/* ct08 */
#ct08 .ct08-01 h3,
#ct08 .ct08-01 p { text-align: center; margin-top: 1em;}
#ct08 .ct08-01 h3 { color: var(--bl);}
#ct08 .ct08-01 h3:not(:first-of-type) { margin-top: 3em;}

#ct08 .ct08-02 ul { display: flex; justify-content: space-between;}
#ct08 .ct08-02 li { width: 31%; border-radius: 14px; background: var(--bg); padding: 1.5em;}
#ct08 .ct08-02 li h6 { text-align: center; color: var(--bl); background: #fff; padding: .3em .5em; border-radius: 100px;}
#ct08 .ct08-02 li h4 { text-align: center; color: var(--bl); min-height: 3em; display: flex; align-items: center; justify-content: center; margin: 1em 0;}

#ct08 .ct08-03 { margin-top: 8%; padding: 50px; background: var(--bg);}
#ct08 .ct08-03 img:not(:first-of-type) { margin-top: 5%;}
#ct08 .ct08-03 img { border-radius: 14px;}
#ct08 .ct08-03 p { text-align: center; margin-top: 3em; font-size: calc(1em - 1px);}

@media(max-width:767px) {
    #ct08 .ct08-01 img { width: 8vw;}
    #ct08 .ct08-02 ul { flex-wrap: wrap;}
    #ct08 .ct08-02 li { width: 90%; padding: 1.5em; margin: 0 auto;}
    #ct08 .ct08-02 li:not(:first-of-type) { margin-top: 6%;}
    #ct08 .ct08-02 li h4 { min-height: auto; margin: 1.2em 0 .9em;}
    #ct08 .ct08-03 { width: 100%; max-width: 100%; margin: 10% 0 0; padding: 1.4em 1.4em 2.5em;}
    #ct08 .ct08-03 p { margin-top: 2em; font-size: 3vw;}

}


/* ct09 */
#ct09 .ct09-01 h2,
#ct09 .ct09-01 h3 { text-align: center;}
#ct09 .ct09-01 h2 { color: var(--bl); margin-bottom: .4em;}

#ct09 .ct09-02 ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
#ct09 .ct09-02 li { width: 48%;}
#ct09 .ct09-02 li:nth-child(n+3) { margin-top: 4%;}
#ct09 .ct09-02 .voicepics img { border-radius: 14px;}
#ct09 .ct09-02 .voicetxt { border-radius: 14px; padding: 1.5em; background: var(--bg); display: flex; align-items: flex-start;}
#ct09 .ct09-02 .voicetxt img { margin-right: 1.5em;}

#ct09 .ct09-03 dl { padding: 4% 0; flex-wrap: wrap;}
#ct09 .ct09-03 h3 { color: var(--bl); margin-bottom: .6em;}
#ct09 .ct09-03 dd:last-of-type { width: 100%; margin-top: 4%;}
#ct09 .ct09-03 dd:last-of-type h6 { color: var(--bl); margin-bottom: .4em;}

#ct09 .ct09-04 ul { display: flex; justify-content: center; flex-wrap: wrap;}
#ct09 .ct09-04 li { padding: 1.5em; background: var(--bg); width: 48%;}
#ct09 .ct09-04 li h4 { text-align: center; color: var(--bl);}
#ct09 .ct09-04 li img { border-radius: 14px; margin: 1em 0 1.5em;}
#ct09 .ct09-04 li:first-child { margin-right: 4%;}
#ct09 .ct09-04 li:nth-child(n+3) { margin-top: 4%;}
#ct09 .ct09-04 li:nth-child(n+3) img { margin-bottom: 0;}

@media(max-width:767px) {
    #ct09 .ct09-01 h3 { font-size: 4.2vw;}
    #ct09 .ct09-02 li { width: 100%;}
    #ct09 .ct09-02 li:nth-child(n+2),
    #ct09 .ct09-02 li:nth-child(n+3) { margin-top: 6%;}
    #ct09 .ct09-02 .voicetxt img { width: 10vw;}
    #ct09 .ct09-03 dl { padding: 6% 0;}
    #ct09 .ct09-03 dd:last-of-type { margin-top: 8%;}
    #ct09 .ct09-03 dd:last-of-type h6 { font-size: 4vw;}
    #ct09 .ct09-04 li { padding: 1.5em; width: 100%;}
    #ct09 .ct09-04 li:first-child { margin: 0;}
    #ct09 .ct09-04 li:nth-child(n+2),
    #ct09 .ct09-04 li:nth-child(n+3) { margin-top: 6%;}
}


/* ct10 */
#ct10 .stdBx:first-of-type { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;}
#ct10 .stdBx:first-of-type div,
#ct10 .stdBx:first-of-type img { width: 48%; margin: 0 0 4%;}
#ct10 .stdBx:first-of-type div h5 { margin: 1.5em 0 .4em;}
#ct10 dl { align-items: flex-start;}
#ct10 dl h5 { margin-bottom: .4em;}
#ct10 { padding-bottom: 14%;}

@media(max-width:767px) {
    #ct10 .stdBx:first-of-type div,
    #ct10 .stdBx:first-of-type img { width: 100%;}
    #ct10 .stdBx:first-of-type img { margin: 5% 0 0;}

}


/* ct11 */
#ct11 { margin-top: 0;}
#ct11 h5 { margin-bottom: .4em;}
#ct11 .stdBx { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;}
#ct11 .stdBx img { width: 100%;}
#ct11 .stdBx div { width: 48%; margin-top: 6%;}
#ct11 .stdBx div p { margin-top: .3em;}

@media(max-width:767px) {
    #ct11 .stdBx { flex-direction: column;} 
    #ct11 .stdBx img,
    #ct11 .stdBx div { width: 100%; margin-top: 6%;}
    #ct11 .stdBx div:first-of-type { order: 1; margin: 0;}
    #ct11 .stdBx img { order: 2; margin: 8% 0;}
    #ct11 .stdBx div:last-of-type { order: 3; margin: 0;}
}


/* ct12 */
#ct12 h2 { text-align: center; color: var(--bl); margin-bottom: 1em;}
#ct12 dt,#ct12 dd { width: 48%;}
#ct12 img { border: 1px solid #ccc;}
#ct12 .stdBx > article { margin-top: 2em;}
#ct12 dl:last-of-type { margin-top: 8%; align-items: stretch;}
#ct12 dl:last-of-type dt,
#ct12 dl:last-of-type dd { border-radius: 14px; padding: 1.5em; background: var(--bg);}
#ct12 dl:last-of-type h5 { margin-bottom: .4em; padding-left: .4em;}
#ct12 dl:last-of-type p { line-height: 1.6; margin-top: .6em;}

@media(max-width:767px) {
    #ct12 dl { flex-direction: row;}
    #ct12 dt,#ct12 dd { margin: 0;}
    #ct12 img { border: 1px solid #ccc;}
    #ct12 .stdBx > article { margin-top: 1em;}
    #ct12 dl:last-of-type { margin-top: 10%; align-items: flex-start; flex-direction: column;}
    #ct12 dl:last-of-type dt,
    #ct12 dl:last-of-type dd { width: 100%; padding: 1.5em; background: var(--bg);}
    #ct12 dl:last-of-type dd { margin-top: 6%;}
}


/* ct13 */
#ct13 .stdBx,
#ct14 .stdBx { padding-top: 5%;}
#ct13 h3,
#ct14 h3 { margin-bottom: .6em;}
#ct13 h3:not(:first-of-type) { margin-top: 3em;}


/* ct15 */
#ct15 ul { display: flex; justify-content: center; flex-wrap: wrap;}
#ct15 li { width: 48%; border: 2px solid var(--red);}
#ct15 li:first-of-type { margin-right: 4%;}
#ct15 li:last-of-type { margin-top: 4%;}
#ct15 li h3 { text-align: center; color: var(--red); padding: .5em; background: var(--bg);}
#ct15 li h3 strong { font-size: calc(1em + 24px); font-weight: 500; padding-right: .1em;}
#ct15 li p { text-align: center; padding: 1.6em 1.8em 1.8em;}
#ct15 img { width: 100%; max-width: 630px; margin-top: 8%;}

@media(max-width:767px) {
    #ct15 li { width: 88%; }
    #ct15 li:first-of-type { margin-right: 0;}
    #ct15 li:nth-child(n+2),
    #ct15 li:last-of-type { margin-top: 6%;}
    #ct15 li h3 strong { font-size: calc(1em + 14px);}
}


/* ct16 */
#ct16 dl { align-items: flex-start;}
#ct16 dt { width: 53%;}
#ct16 dd { width: 43%;}
#ct16 dt div { padding: 1.5em; background: var(--bg);}
#ct16 .stdBx div h4,
#ct16 .stdBx div h6 { text-align: center; color: var(--bl);}
#ct16 .stdBx div h6 { padding: 1em .2em; background: var(--bg);}
#ct16 dt div img { border-radius: 14px; margin: .8em 0 1.5em;}
#ct16 .stdBx div:not(:first-of-type) { margin-top: 8%;}

@media(max-width:767px) {
    #ct16 dt { width: 100%; margin: 0 auto;}
    #ct16 dd { width: 80%; margin: 14% auto 0;}
}


/* ct17 */
#ct17 dl { align-items: stretch;}
#ct17 dt h5 { margin: 1.5em 0 .4em;}
#ct17 dt img { padding-top: 2em;}
#ct17 dd img { width: 100%; height: 100%; object-fit: cover; border-radius: 40px;}

@media(max-width:767px) {
    #ct17 .stdBx { width: 70%; margin: 0 auto;}
    #ct17 dl { align-items: flex-start; flex-direction: column-reverse;}
    #ct17 dd { height: 64vw; overflow: hidden; margin: 0 auto;}
    #ct17 dt { margin-top: 6%;}
}


/* ct18 */
#ct18 h3 { text-align: center; color: var(--bl);}
#ct18 h3:last-of-type { margin-top: 2em;}
.acd { margin-top: 1.2em;}
.acd input { display: none;}
.acd label { width: 100%; padding: 1.4em 3em 1.6em 1.8em; cursor: pointer; position: relative; display: block; background: var(--as); transition: all 0.25s;}
.acd label:hover { color: var(--gr);}
.acd label::before {
content:"\f107";
font-family: FontAwesome;
position: absolute;
top: 30%;
right: .5em;
width: 40px;
height: 40px;
color: var(--gr);
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 30px;
border-radius: 50%;
transition: all 0.25s;
}
.acd > div { height: 0; overflow: hidden; opacity: 0; transition: 0.25s; background: var(--bg2);}
.acd input:checked ~ div { height: auto; opacity: 1; padding: 0 0 1.8em;}
.acd input:checked ~ label::before { transform: rotate(180deg);}
.acd input:checked ~ label { border-bottom-left-radius: 0; border-bottom-right-radius: 0;}
.acd label h5, .acd > div div { display: flex; align-items: center; margin: 0;}
.acd > div div { border-top: 1px solid #fff; align-items: flex-start; padding: 1.5em 2em 2em;
    background: var(--as);}
.acd label h5 span,
.acd > div p span { display: block; margin-right: .6em; font-weight: 500; color: var(--gr); font-size: 30px;}
.acd > div p { display: flex; align-items: flex-start;}
.acd > div p span { margin-top: -.3em;}

@media(max-width:767px) {
    .acd:not(:first-of-type) { margin-top: 1em;}
    .acd label { padding: .8em 3em 1em 1em;}
    .acd label::before {
    width: 26px;
    height: 26px;
    font-size: 20px;
    }
    .acd label h5 { font-size: 3.5vw;}
    .acd label h5 span { padding: 0 0 0 .3em;}
    .acd label h5 span,
    .acd > div p span { margin-right: .3em;}
    .acd input:checked ~ div { padding: 0 0 1em;}
    .acd > div div { margin: 0; padding: 1.5em 1.8em 2em;}
    .acd > div div p { font-size: 3.5vw; padding: 0;}
    
}


/* ct19 */
#ct19 { padding-bottom: 10%;}
#ct19 th,
#ct19 td { padding: 1.2em 1.8em; border: 1px solid #ccc; }
#ct19 th { color: var(--bl); background: #e6edf3; font-weight: 500;}
@media(max-width:767px) {
    #ct19 { padding-bottom: 15%;}
    #ct19 th,
    #ct19 td { font-size: 3.4vw; padding: 1.5em 1em 2em;}
    #ct19 th { width: 28vw; text-align: left;}
}

/*------------------------------------------------------------
    footer
------------------------------------------------------------ */
footer { position:relative; margin:0; padding:4% 0 3%; background:#e1f4f0;}
footer img { display:block; margin:0 auto 2%; width:170px; }
footer p { margin-top: 1.4em; color:#666; text-align:center; letter-spacing:1px; font-size:16px;}

.pagetop a { position:fixed; right:2%; bottom:4%!important; background: rgba(56,179,155,.6); padding:0; z-index:9900; border-radius: 8px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #fff;}
.pagetop a i { margin-top: -.2em;}
.pagetop a:hover { height: 50px; color: #fff; background: rgba(56,179,155,.8);}

@media(max-width:767px) {
    footer { padding:10% 0 7%; }
    footer img { margin:0 auto 5%; width:40%; }
    footer p { font-size:1.2rem; margin-top: 1.8em; letter-spacing:0; }
    .pagetop { display: none!important;}
}


/*------------------------------------------------------------
    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;
    }
}
  