/*
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: 16px/1.4 '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.4; line-break: strict; font-weight: 600; }
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 : 1em; display: block; color: #333; }
.point { color:#333 !important; }
.textC { text-align:center !important; }
.textL { text-align:left !important; }
.textR { text-align:right !important; }
.fsM { font-size:18px; }
.bpb0 { margin:0 !important; padding:0 !important; border:0 !important; }
.indt { text-indent: -1em; padding-left: 1em;}
.itlc { font-style:italic; }
.obli { font-style:oblique; }

/*strong*/
strong { font-family: "Oswald", sans-serif; font-weight: 700; color: var(--sub);}
b { font-weight: 700;}
em, i { font-style: italic; }

/* 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; }
.w100 { width:100%; }
.wMax100 { max-width:100%; }
.cR { border-radius:10px; }
img.bd999 { border:1px solid #999; }
/* 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: #bdbdbd; height: 1px; margin: 1.5em 0;}
hr.dot { border-width: 1px 0 0 0; border-style: dotted; border-color: #444; height: 1px; }
hr.dash { border-width: 1px 0 0 0; border-style: dashed; border-color: #444; height: 1px; }

/* Margin */
.btmMgn0 { margin-bottom:0 !important; }
.btmMgn-s { margin-bottom:5% !important; }
.btmMgn-m { margin-bottom:7% !important; }
.btmMgn-l { margin-bottom:10% !important; }
.btmMgn-fnt { margin-bottom:.6em !important; }

.topMgn0 { margin-top:0 !important; }
.topMgn-s { margin-top:5% !important; }
.topMgn-m { margin-top:7% !important; }
.topMgn-l { margin-top:10% !important; }

/* Padding */
.btmPad0 { padding-bottom:0 !important; }
.btmPad-s { padding-bottom:5% !important; }
.btmPad-m { padding-bottom:7% !important; }
.btmPad-l { padding-bottom:10% !important; }

.topPad0 { padding-top:0 !important; }
.topPad-s { padding-top:5% !important; }
.topPad-m { padding-top:7% !important; }
.topPad-l { padding-top:10% !important; }

.all0 { margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }

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

@media(min-width:1300px) {
    h1 { font-size: 34px; }
    h2 { font-size: 30px; }
    h3 { font-size: 28px; }
    h4 { font-size: 24px; }
    h5 { font-size: 22px; }
    h6 { font-size: 18px; }
}
@media(max-width:767px) {
    h1 { font-size: 2vw; }
    h2 { font-size: 5.4vw; }
    h3 { font-size: 4.8vw; }
    h4 { font-size: 4vw; }
    h5 { font-size: 3.8vw; }
    h6 { font-size: 3.5vw; }
    p { font-size: 1.6rem; }
    .caption { font-size : 1.4rem; line-height: 1.6;}
    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(--main); z-index: 9999; width: 100%;}
header article { margin-right: auto;}
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; margin-right: .8em;}
header h1 a { display:block;}
header img { width: 100%; margin: 0;}

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

header #mobile-head {
width: 92%;
height: 90px;
margin:0 2% 0 4%;
padding:0;
position: relative;
display: flex;
align-items: center;
justify-content: flex-end;
}
header nav {
position: absolute;
top:0;
right:0;
background:rgba(225,225,225,.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(90px + 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(--main);}
header nav ul li i { margin-right: .8em;}

/*hover*/
header nav ul li a:hover,
header.fixed nav ul li a:hover { color: var(--main);}
header nav a::before, nav a::after {
  position: absolute;
  bottom: -.5em;
  content: "";
  display: inline-block;
  width: 0;
  height: 1px;
  background: var(--main);
  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;}
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:nth-child(1) {
    top: 11px;
    transform: rotate(315deg);
    background: var(--main);
}
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;
    background: var(--main);
}

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

#mobile-head > a { display: block; padding: .6em 1.4em .8em; background: #fff; color: var(--main); border-radius: 100px; font-weight: 600; margin-right: 3em;}
#mobile-head > a:hover { opacity: .8;}


@media(max-width:767px) {
    header { position: fixed;}
    header #mobile-head { width:92%; margin: 0 auto; 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: 28vw; margin: 0;}
    #mobile-head > a { font-size: 3vw; padding: .6em 1.4em .8em; margin-right: 2em;}

}


/*------------------------------------------------------------
	COLOR
------------------------------------------------------------ */
:root {
    --main: #c8161d;
    --sub: #de3b1b;
    --bg: #f7f7f7;
    --bdr: #ddd;
    --gry: #646464;
    --bl: #2669a1;
  }


/*------------------------------------------------------------
	BUTTON
------------------------------------------------------------ */
button, [type="button"], [type="reset"], [type="submit"] { background:none; border:0; }
button:active { color:#fff; }
.btns { text-align: center!important; margin: 6% auto;}
.btns a { position:relative; text-align:center; margin: .8em 0; padding: .6em 1.5em .9em; line-height: 1.3; display:inline-block; border-radius: 50px; background: none; color: #fff; font-size: 2vw; background: var(--sub); font-weight: 500; min-width: 500px;}
.btns a:hover { opacity: .7;}
.btns h5, .btns p { text-align: center; color: var(--sub);}
.btns h5 { letter-spacing: 2px; font-weight: 700;}
.btns p { font-size: 1.2vw; color: var(--gry); margin-top: 1.5em;}

@media(min-width:1100px) {
    .btns h5 { font-size: 22px;}
    .btns a { font-size: 26px;}
    .btns p { font-size: 16px;}
}

@media(max-width:767px) {
    .btns { margin: 12% auto;}
    .btns a { margin: .8em 0; padding:  .9em 1.5em 1.2em; font-size: 4vw; min-width: 70%; max-width: 90%;}
    .btns h5 { font-size: 4.6vw; letter-spacing: 1px;}
    .btns p { font-size: 2.6vw; color: #222;}
}

  
/*------------------------------------------------------------
    COMMON
------------------------------------------------------------ */
main { display: block; overflow: hidden;}
section { position:relative; width:100%; margin:0 auto; padding:0; box-sizing: border-box; }
main > section:not(:first-of-type) { margin-top: 6%;}
main > section.onBg { margin: 0; padding: 6% 0; background: var(--bg);}
.stdBx { width:1020px; max-width:90%; margin:0 auto; }
.stdBx.min { width:720px; max-width:70%;}
section > .stdBx:not(:first-of-type),
section > article:not(:first-of-type) { margin-top: 4%;}
@media(max-width:767px) {
    main { margin-top: 60px;}
    main > section:not(:first-of-type) { margin-top: 10%;}
    section > .stdBx:not(:first-of-type),
    section > article:not(:first-of-type) { margin-top: 10%;}
    .stdBx { width:88%; max-width: 88%; }
    .stdBx.min { width:88%; max-width: 88%;}
    .stdBx img { max-width:100%; }
    .stdBx__half { flex-direction: column; justify-content: center;}
}


/* 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(--main); margin-bottom: 1.8em; padding: .6em;}
.stdBx > h2 { text-align: center; color: var(--main); margin-bottom: 1.8em;}
.stdBx > h3 { text-align: center; margin-bottom: 1.2em; color: var(--main);}
.stdBx > h3 span { position: relative; display: inline-block; padding: 0 80px; color: var(--main);}
.stdBx > h3 span:before, .stdBx > h3 span:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 60px;
    height: 2px;
    background-color: var(--main);
}
.stdBx > h3 span:before { left:0;}
.stdBx > h3 span:after { right: 0;}
.bg { background: var(--bg); padding: 5%;}
.bg0 { background: var(--bg); padding-top: 5%;}
.bg1 { background: var(--bg); padding: 5% 0;}
.bg2 { background: var(--bg2); padding: 5% 0;}
.bg0 dt { padding-bottom: 3em;}

dt > p:not(:first-of-type),
.stdBx > p:not(:first-of-type) { margin-top: 1.5em;}
.stdBx > dl:not(:first-of-type) { margin-top: 6%;}
.stdBx > dl:nth-of-type(even) { flex-direction: row-reverse;}

/* ONE SIDE */
.oneside1-left,
.oneside1-right { position: relative;}
.oneside1-left .stdBx { padding: 2.5em 0 3.5em 3.5em;}
.oneside1-right .stdBx { padding: 2.5em 3.5em 3.5em 0;}
.oneside1-left::after,
.oneside1-right::after { 
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: calc((100% - 1020px) / 2 + 1020px);
    max-width: 90%;
    height: 100%;
    background-color: var(--bg);
    content: '';
    z-index: -1;
}
.oneside1-right::after { left: 0;}
.insideover-right { margin-right: calc(50% - 50vw);}
.insideover-left { margin-left: calc(50% - 50vw);}
.oneside1-left.bgG::after,
.oneside1-right.bgG::after { background-color: var(--main);}
.oneside1-left.bgG h3,
.oneside1-right.bgG h3,
.oneside1-left.bgG h4,
.oneside1-right.bgG h4,
.oneside1-left.bgG h5,
.oneside1-right.bgG h5,
.oneside1-left.bgG h6,
.oneside1-right.bgG h6 { margin-bottom: 1em; color: #fff;}
.oneside1-left.bgG p,
.oneside1-right.bgG p { color: #fff;}

@media(max-width:767px) {
    section > h2 { padding: .8em 5% .9em;}
    .stdBx > h2 { margin: 0 calc(50% - 50vw) 1.4em; padding: 0 1em .8em;}
    .stdBx > h3 span { padding: 0 40px;}
    .stdBx > h3 span:before,
    .stdBx > h3 span:after { width: 30px;}
    .bg,
    .bg0,
    .bg1,
    .bg2 { padding: 8% 0;}
    .bg0 dt { padding-bottom: 0;}
    .stdBx > dl:nth-of-type(even) { flex-direction: column;}
    .sp-sideovers { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);}

    .oneside1-left .stdBx { padding: 6% 0 6% 10%;}
    .oneside1-right .stdBx { padding: 6% 10% 6% 0;}
    .oneside1-left.sdov100::after,
    .oneside1-right.sdov100::after { width: 100%; max-width: 100%;}
    .oneside1-left.sdov100 .stdBx { padding: 6% 0 6% 0!important;}
    .oneside1-right.sdov100 .stdBx { padding: 6% 0 6% 0!important;}
    .insideover-right { margin-right: 0;}
    .insideover-left { margin-left: 0;}
    .spoltxlf { text-align: left!important;}
}


/* MV */
#mv { padding: 0 4%;}
#mv h2 { background: none; margin: 0; padding: 0;}


/* MEDIA */
#media h2,
#awards h2,
#mokuji h2 { color: #111; background: var(--bg);}
#media h2 span,
#awards h2 span { 
display: inline-block;
padding: 0 1.2em;
background-image: url(images/gkkn_l.svg),url(images/gkkn_r.svg);
background-position: 0 50%,100% 50%;
background-repeat: no-repeat;
min-height: 50px;
}
#media ul { display: flex; margin: 5% 0 2.5%;}
#media li,
#awards li,
main th,
main td { border: 1px solid var(--bdr);}
main th h6 { text-align: center;}
main td p { text-align: left;}
#media h4,
#media h6 { text-align: center; background: var(--bg); padding: .4em 0;}
#media li div { padding: 1em;}
#media li img { width: 40%; margin-bottom: 1em;}
#media li:not(:first-child) p { text-align: center;}
main th { background: var(--bg); width: 20%;}
main td { text-align: left; padding: 1em 2em;}
#media table { width: 70%; margin: 0 auto;}

@media(max-width:767px) {
    /* MV */
    #mv { padding: 0;}

    /* MEDIA */
    #media h2 span,
    #awards h2 span { line-height: 42px;}
    #media ul { display: flex; margin: 5% 0;}
    #media h4,
    #media h6 { padding: .4em 0;}
    #media li:not(:first-of-type) { margin-top: 5%;}
    #media li div { padding: 1.5em; display: flex; align-items: flex-start; justify-content: space-between;}
    #media li img { width: 40%; margin: 0;}
    #media li p,
    #media li:not(:first-child) p { width: 55%; text-align: left;}
    main th { width: 24%;}
    main td { padding: 1em 1.5em;}
    main th,
    main td p { font-size: 1.4rem;}
    #media table { width: 100%; margin: 0 auto;}
}


/* AWARDS */
#awards ul { margin-top: 5%;}
#awards .clm3::after { display: none;}
#awards li:nth-child(4) { margin: 2% 1% 0 auto;}
#awards li:nth-child(5) { margin: 2% auto 0 1%;}
#awards li p { padding: 1em; text-align: center;}
#awards li p b { font-size: calc(1em + 2px); display: block;}

@media(max-width:767px) {
    #awards li:nth-child(4),
    #awards li:nth-child(5),
    #awards li:not(:first-of-type) { margin: 5% 0 0;}
}


/* MESSAGE */
#messa p { text-align: center;}
#messa img { width: 20%; margin-top: 5%;}

@media(max-width:767px) {
    #messa h2 { padding: 0;}
    #messa p { text-align: left;}
    #messa img { width: 50%; margin-top: 10%;}
}


/* MOKUJI */
#mokuji h2 { width: 100%; max-width: 600px; margin: 0 auto 1em;}
#mokuji .clmBox { justify-content: flex-start; border-collapse: collapse;}
#mokuji .clm5 li { border: 1px solid var(--bdr); margin-top: -1px; margin-left: -1px; width: calc(20% + 1px);}
#mokuji li a { height: 100%; min-height: 80px; padding: 1em .8em; text-align: center; display: flex; align-items: center; justify-content: center;}
#mokuji li a:hover { color: var(--main); background: var(--bg);}

@media(max-width:767px) {
    #mokuji .clm5 li { width: calc(33% + 1px); margin-top: 3%;}
    #mokuji li a { padding: 1em .5em; font-size: 3.5vw;}
}




/* ct01 */
#ct01 p { text-align: center;}

@media(max-width:767px) {
    #ct01 p { text-align: left;}
}


/* ct02 */
#ct02 h3,
#ct02 p { text-align: center;}
#ct02 .sdov100:first-of-type { padding-top: 5%; margin-top: -4%;}

@media(max-width:767px) {
    #ct02 p { text-align: left;}
    #ct02 .sdov100:first-of-type { padding-top: 10%; margin-top: -8%;}
    #ct02 .stdBx.bg { width: 100%; max-width: 100%; padding: 8% 6%;}
}


/* ct03 */
#ct03 h2 { margin-bottom: 0; padding-bottom: 1em;}
#ct03 h2 img { width: 50%; max-width: 140px; margin-top: .5em;}
#ct03 > picture img { margin-bottom: 5%;}
#ct03 .stdBx:first-of-type img { margin-bottom: 8%;}
#ct03 p { text-align: center;}
#ct03 li { position: relative; margin-top: 10px; padding: 5% 8%; background: var(--bg); display: flex; align-items: center;}
#ct03 li:first-child p, #ct03 li h4 { text-align: center; width: 100%;}
#ct03 li h4 { color: var(--main); width: 25%; margin-right: 5%;}
#ct03 li p { width: 70%; text-align: left;}
#ct03 li::after {
    position: absolute;
    content: "";
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--main);
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    font-size: 30px;
    left: 50%;
    bottom: -30px;
    z-index: 5;
}
#ct03 li:nth-child(1):after { content: "1";}
#ct03 li:nth-child(2):after { content: "2";}
#ct03 li:nth-child(3):after { content: "3";}
#ct03 li:nth-child(4):after { content: "4";}
#ct03 li:nth-child(5):after { content: "5";}
#ct03 li:nth-child(6):after { display: none;}

#ct03 .pics { margin-top: 5%; display: flex; align-items: flex-start; justify-content: space-between;}
#ct03 .pics img { width: 31%; margin: 0;}
#ct03 .stdBx.min div { background: var(--main); margin-top: 8%; padding: 2em;}
#ct03 .stdBx.min div h3 { text-align: center; margin-bottom: 1em;}
#ct03 .stdBx.min div h3,
#ct03 .stdBx.min div p { color: #fff;}
#ct03 td p { text-align: left;}

@media(max-width:767px) {
    #ct03 > picture img { margin-bottom: 8%;}
    #ct03 p { text-align: left;}
    #ct03 li { margin-top: 5%; padding: 8% 10%; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);flex-direction: column;}
    #ct03 li:first-child p { text-align: left;}
    #ct03 li h4 { width: 100%; margin: 0 0 1em; font-size: 4.5vw;}
    #ct03 li p { width: 100%; text-align: left;}
    #ct03 li::after {
        width: 40px;
        height: 40px;
        font-size: 24px;
        left: 50%;
        bottom: -30px;
        transform: translate(-50%,0);
    }
    
    #ct03 .pics { margin-top: 5%; flex-wrap: wrap;}
    #ct03 .pics img { width: 47%;}
    #ct03 .pics img:last-of-type { width: 100%; margin-top: 5%;}
    #ct03 .stdBx.min div { margin-top: 10%;}
}


/* ct04 */
#ct04 h2 { position: relative; margin-bottom: 0;}
#ct04 .stdBx:nth-of-type(1) dt { width: 55%;}
#ct04 .stdBx:nth-of-type(1) dd { width: 45%;}
#ct04 .stdBx:nth-of-type(1) dt h3,
#ct04 .stdBx:nth-of-type(1) dt h5 { color: var(--main); line-height: 1.7;}
#ct04 .stdBx:nth-of-type(1) dt h3 { margin-bottom: 1em;}

#ct04 .stdBx:nth-of-type(2) h2 span {
    display: inline-block;
    padding: 0 2.5em;
    background-image: url(images/icon_title_l.svg),url(images/icon_title_r.svg);
    background-position: 0 50%,100% 50%;
    background-repeat: no-repeat;
    min-height: 52px;
}
#ct04 .stdBx:nth-of-type(2) article { margin-top: 4%; border: 1px solid var(--main);}
#ct04 .stdBx:nth-of-type(2) article h4 { background: url(images/icon_logo.svg) 1.5em 50% no-repeat var(--bg); color: var(--main); padding: .6em 1em .6em 4em; border-bottom: 1px solid var(--main);}
#ct04 .stdBx:nth-of-type(2) article div { padding: 1.3em 2.5em 2em; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;}
#ct04 .stdBx:nth-of-type(2) article div img { margin: 0; width: 100%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(1) p { width: 66%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(1) img { width: 32%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(2) p { width: 100%; margin-bottom: 1.5em;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(2) img { width: 31%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) div > p { width: 100%; margin-bottom: 1.5em;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) div > picture { width: 35%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dl { width: 60%; padding: 1.4em 1.6em; background: var(--main); color: #fff; display: flex; align-items: flex-start; justify-content: space-between;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dt { width: 65%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dd { width: 33%; text-align: center;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dd img { border-radius: 50%; margin-bottom: 1em;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(4) div p { width: 76%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(4) div div { width: 23.5%; text-align: center; flex-direction: column; align-items: center; padding: 1em 1.6em;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(4) div div img { border-radius: 50%; margin-bottom: 1em;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div > p { width: 65%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div div { width: 32%; text-align: center; flex-direction: column; align-items: center; padding: 0;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div div > img { margin-bottom: 1em;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dl { width: 100%; margin-top: 4%; padding: 1.5em 2em; background: var(--main); color: #fff; align-items: flex-start;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dt p { color: #fff; }
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dt { width: 78%;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dd { width: 18.5%; text-align: center;}
#ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dd img { margin-bottom: 1em;}

#ct04 .stdBx:nth-of-type(3) article { margin-top: 8%; padding: 8% 4% 4%; background: var(--bg);}
#ct04 .stdBx:nth-of-type(3) article > h5 { text-align: center; margin: -3.6em 0 1.6em;}
#ct04 .stdBx:nth-of-type(3) article > h5 span { display: inline-block; padding: .4em .6em .5em 1em; color: #fff; background: var(--main);}
#ct04 .stdBx:nth-of-type(3) article > h6 { font-size: 22px; text-align: center;}
#ct04 .stdBx:nth-of-type(3) article > p { margin: 1.5em 0;}
#ct04 .stdBx:nth-of-type(3) dl p { margin-top: 1em;}
#ct04 .stdBx:nth-of-type(3) article > h6 strong,
#ct04 .stdBx:nth-of-type(3) dt strong { color: var(--main);}
#ct04 .stdBx:nth-of-type(3) article > h6 strong.pt2,
#ct04 .stdBx:nth-of-type(3) dd strong { color: var(--bl);}
#ct04 .stdBx:nth-of-type(3) article > h6 strong { padding: 0 .2em 0 .3em;}
#ct04 .stdBx:nth-of-type(3) strong b { font-size: calc(1em + 14px);}
#ct04 .stdBx:nth-of-type(3) article div { margin-top: 2em; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;}
#ct04 .stdBx:nth-of-type(3) article div img { width: 47%;}
#ct04 .stdBx:nth-of-type(3) article div p { width: 100%; margin-top: 1em;}

#ct04 .stdBx.kadi dl { flex-wrap: wrap; align-items: stretch;}
#ct04 .stdBx.kadi dt { width: 48%;}
#ct04 .stdBx.kadi dt h4,
#ct04 .stdBx.kadi dd h4 { text-align: center; padding: .6em; color: var(--main); margin-bottom: .5em;}
#ct04 .stdBx.kadi dt h4,
#ct04 .stdBx.kadi dd h4,
#ct04 .stdBx.kadi dt p,
#ct04 .stdBx.kadi dd div { background: var(--bg);}
#ct04 .stdBx.kadi dt p { padding: 1.2em 2em; height: calc(100% - 4em);}
#ct04 .stdBx.kadi dd { width: 100%; margin-top: 4%;}
#ct04 .stdBx.kadi dd div { padding: 1.2em; display: flex; align-items: flex-start; justify-content: space-between;}
#ct04 .stdBx.kadi dd div picture { width: 32%;}
#ct04 .stdBx.kadi dd div img { margin: 0; width: 100%;}
#ct04 .stdBx.kadi dd div p { width: 63%; padding-left: 1em;}

#ct04 .stdBx.mukiai dl { flex-wrap: wrap; align-items: stretch;}
#ct04 .stdBx.mukiai dt { width: 48%;}
#ct04 .stdBx.mukiai dt h4 { text-align: center; padding: .6em; background: var(--bg);}
#ct04 .stdBx.mukiai dt p { padding: 0 2em 1.2em;}
#ct04 .stdBx.mukiai dt img { width: 60%; margin: 1.5em auto;}
#ct04 .stdBx.mukiai dt,
#ct04 .stdBx.mukiai dd { border: 1px solid #ddd;}
#ct04 .stdBx.mukiai dd { padding: 1.5em 2em; width: 100%; margin-top: 4%; display: flex; align-items: center; justify-content: space-between;}
#ct04 .stdBx.mukiai dd p,
#ct04 .stdBx.mukiai dd img { width: 23%; margin: 0;}
#ct04 .stdBx.mukiai dt p,
#ct04 .stdBx.mukiai dd p { font-size: 16px; line-height: 1.7;}

@media(max-width:767px) {
    #ct04 .stdBx:nth-of-type(1) { width: 100%; max-width: 100%;}
    #ct04 .stdBx:nth-of-type(1) dl.bg { padding: 8% 10%;}
    #ct04 .stdBx:nth-of-type(1) dt,
    #ct04 .stdBx:nth-of-type(1) dd { width: 100%;}
    #ct04 .stdBx:nth-of-type(1) dt h3,
    #ct04 .stdBx:nth-of-type(1) dt h5 { text-align: center;}
    #ct04 .stdBx:nth-of-type(1) dt h3 { font-size: 5.2vw;}
    #ct04 .stdBx:nth-of-type(1) dt h5 { font-size: 4.2vw;}
    
    #ct04 .stdBx:nth-of-type(2) article { margin-top: 6%;}
    #ct04 .stdBx:nth-of-type(2) article h4 { padding: 1em 1em 1em 4em; background-size: 8vw; background-position: 1em 50%;}
    #ct04 .stdBx:nth-of-type(2) article div { padding: 1.3em 1.6em 1.6em; flex-wrap: wrap;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(1) p { width: 100%; margin-bottom: 1.5em;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(1) img { width: 100%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(2) p { width: 100%; margin-bottom: 1.5em;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(2) img { width: 48%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(2) img:first-of-type { width: 100%; margin-bottom: 4%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) div,
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div { padding: 1.3em 0 0;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) div > p,
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) div img,
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div > p,
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div img { width: 84%; margin: 0 auto;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) div > p { margin-bottom: 1.5em;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) div > picture { width: 100%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dl { width: 100%; margin-top: 8%; padding: 1.4em 1.6em; flex-direction: column-reverse;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dt { width: 100%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dd { width: 100%; text-align: center; margin: 0 0 8%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(3) dd img { width: 50%; margin-bottom: .6em}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(4) div { flex-direction: column-reverse;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(4) div p { width: 100%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(4) div div { width: 100%; padding: 1em 1.6em;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(4) div div img { width: 62%; margin-bottom: .6em;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div > p { order: 1;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div div { width: 100%; order: 2; margin: 6% 0;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) div div > img { margin-bottom: .6em;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dl { order: 3; padding: 1.4em 1.6em; flex-direction: column-reverse;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dt { width: 100%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dd { width: 100%; margin: 0 0 8%;}
    #ct04 .stdBx:nth-of-type(2) article:nth-of-type(5) dd img { width: 50%; margin-bottom: .6em;}
    
    #ct04 .stdBx:nth-of-type(3) article { margin-top: 12%; padding: 8% 6% 6%;}
    #ct04 .stdBx:nth-of-type(3) article > h5 { margin: -2.8em 0 1.6em;}
    #ct04 .stdBx:nth-of-type(3) article > h6 { font-size: 5vw;}
    #ct04 .stdBx:nth-of-type(3) strong b { font-size: 7vw;}
    #ct04 .stdBx:nth-of-type(3) article div img { width: 100%; order: 1;}
    #ct04 .stdBx:nth-of-type(3) article div img:nth-of-type(1) { order: 2;}
    #ct04 .stdBx:nth-of-type(3) article div p { order: 3;}

    h3 span.nolines::before,
    h3 span.nolines::after { display: none;}
    h3 span.nolines { padding: 0;}
    #ct04 .stdBx.kadi h3 { border-bottom: 1px solid var(--main); padding-bottom: .8em;}
    #ct04 .stdBx.kadi dl { align-items: flex-start;}
    #ct04 .stdBx.kadi dt { width: 100%;}
    #ct04 .stdBx.kadi dt h4,
    #ct04 .stdBx.kadi dd h4 { padding: .7em .5em .9em;}
    #ct04 .stdBx.kadi dt p { padding: 1.2em 1.6em; height: auto;}
    #ct04 .stdBx.kadi dt:not(:first-of-type),
    #ct04 .stdBx.kadi dd { margin-top: 10%;}
    #ct04 .stdBx.kadi dd div { padding: 1.2em; flex-direction: column;}
    #ct04 .stdBx.kadi dd div picture { width: 100%;}
    #ct04 .stdBx.kadi dd div img { margin: 1em 0 0; width: 100%;}
    #ct04 .stdBx.kadi dd div p { width: 100%; padding: 0;}
    
    #ct04 .stdBx.mukiai h3 { border-bottom: 1px solid var(--main); padding-bottom: .8em;}
    #ct04 .stdBx.mukiai dl { align-items: flex-start;}
    #ct04 .stdBx.mukiai dt { width: 100%;}
    #ct04 .stdBx.mukiai dt h4 { padding: .7em .5em .9em;}
    #ct04 .stdBx.mukiai dt p { padding: 0 1.6em 1.4em;}
    #ct04 .stdBx.mukiai dt img { width: 80%; margin: 1.5em auto;}
    #ct04 .stdBx.mukiai dt:not(:first-of-type),
    #ct04 .stdBx.mukiai dd { margin-top: 10%;}
    #ct04 .stdBx.mukiai dd { padding: 1.5em 1.6em; flex-wrap: wrap;}
    #ct04 .stdBx.mukiai dd p { width: 100%; margin: 1.2em 0;}
    #ct04 .stdBx.mukiai dd img { width: 48%; margin: 0;}
    #ct04 .stdBx.mukiai dd img:first-of-type { width: 70%; margin: 0 auto;}
    #ct04 .stdBx.mukiai dt p,
    #ct04 .stdBx.mukiai dd p { font-size: 1.6rem;}
}


/* ct05 */
#ct05 .stdBx.event article { margin-top: 4%; border: 1px solid var(--main);}
#ct05 .stdBx.event article h4 { background: url(images/icon_logo.svg) 1.5em 50% no-repeat var(--bg); color: var(--main); padding: .6em 1em .6em 4em; border-bottom: 1px solid var(--main);}
#ct05 .stdBx.event article h4 span { font-size: calc(1em - 8px); color: #fff; background: var(--main); display: inline-block; margin-left: .6em; border-radius: 100px; padding: .1em .8em .2em;}
#ct05 .stdBx.event article div { padding: 1.3em 2.5em 2em; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;}
#ct05 .stdBx.event article div p { width: 62%;}
#ct05 .stdBx.event article div img { width: 33%; margin: 0;}
#ct05 .stdBx.event article div p.redbg { width: 100%; margin-top: 4%; padding: 1.4em 2em; color: #fff; background: var(--main);}

#ct05 .stdBx.menber { margin-bottom: 4%;}
#ct05 .stdBx.menber > h3 { color: var(--main); padding-bottom: .8em; border-bottom: 1px solid var(--main);}
#ct05 .stdBx.menber > p { text-align: center;}
#ct05 .oneside1-left .stdBx,
#ct05 .oneside1-right .stdBx { padding: 0;}
#ct05 .menber dl { align-items: stretch;}
#ct05 .menber dt { width: 45%;}
#ct05 .menber dt img { width: 100%; height: 100%; object-fit: cover;}
#ct05 .menber dd { width: 55%; padding: 4% 0 4% 5%;}
#ct05 .menber dd h4 { color: var(--main); margin-bottom: 1.2em;}
#ct05 .menber.menb2 dl { flex-direction: row-reverse;}
#ct05 .menber.menb2 dl dd { padding: 4% 5% 4% 0;}

@media(max-width:767px) {
    #ct05 .stdBx.event article { margin-top: 6%;}
    #ct05 .stdBx.event article h4 { padding: 1em 1em 1em 4em; background-size: 8vw; background-position: 1em 35%; text-indent: -.5em;}
    #ct05 .stdBx.event article h4 span { font-size: calc(1em - 5px); margin: .6em 0 0; padding: .1em .8em .2em; text-indent: 0;}
    #ct05 .stdBx.event article div { padding: 1.3em 0 0;}
    #ct05 .stdBx.event article div p,
    #ct05 .stdBx.event article div img { width: 84%; margin: 0 auto;}
    #ct05 .stdBx.event article div img { margin: 1.5em auto;}
    #ct05 .stdBx.event article div p.redbg { width: 100%; margin: 0; padding: 1.4em 1.6em;}
    
    #ct05 .stdBx.menber { margin-bottom: 8%;}
    #ct05 .stdBx.menber > p { text-align: left;}
    #ct05 .menber dl { align-items: flex-start;}
    #ct05 .menber dt { width: 100%;}
    #ct05 .menber dt img { width: 100%; height: 100%; object-fit: cover;}
    #ct05 .menber dd { width: 100%; padding: 0;}
    #ct05 .menber dd h4 { font-size: 4.4vw;}
    #ct05 .menber.menb2 dl { flex-direction: column;}
    #ct05 .menber.menb2 dl dd { padding:0;}
}


/* MESSAGE2 */
#messa2.bg { background: var(--main);}
#messa2 h2 { color: #fff; padding-bottom: .8em; border-bottom: 1px solid #fff;}
#messa2 dl { align-items: stretch;}
#messa2 dt { width: 45%;}
#messa2 dd { width: 50%;}
#messa2 dt img { width: 100%; height: 100%; object-fit: cover;}
#messa2 dd p { color: #fff;}

@media(max-width:767px) {
    #messa2 h2 { padding-bottom: 0; border-bottom: 0;}
    #messa2 dl { align-items: flex-start;}
    #messa2 dt,
    #messa2 dd { width: 100%;}
}


/* ct06 */
#ct06 li div { padding: 6% 4% 4%; background: var(--bg);}
#ct06 li div img { width: 36%; margin-bottom: 1em;}
#ct06 li div h4,
#ct06 li div p { text-align: center;}
#ct06 li > p { color: #fff; background: var(--main); padding: 1.4em 2em;}

#ct06 .voice2 h3 { color: var(--main); padding-bottom: .8em; border-bottom: 1px solid var(--main);}
#ct06 .voice2 dl { align-items: stretch;}
#ct06 .voice2 dt { width: 49%; padding: 6% 4% 4%; background: var(--bg);}
#ct06 .voice2 dt img { width: 42%; margin-bottom: 1em; border-radius: 50%;}
#ct06 .voice2 dt h4,
#ct06 .voice2 dt p { text-align: center;}
#ct06 .voice2 dd { width: 51%; padding: 1.4em 2em; background: var(--main);}
#ct06 .voice2 dd p { color: #fff;}

#ct06 .read h4 { text-align: center; color: var(--main); line-height: 2;}
#ct06 .read h2 { margin: 2em 0 1.2em;}
#ct06 .read h2 span { position: relative; display: inline-block; padding: .4em 1.6em .6em; background: var(--main); color: #fff;}
#ct06 .read h2 span::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -7px;
    border: 7px solid transparent;
    border-top: 24px solid var(--main);
}

@media(max-width:767px) {
    #ct06 li div { padding: 8% 5% 6%;}
    #ct06 li div img { width: 50%;}
    #ct06 li div h4 { font-size: 5vw;}
    #ct06 li > p { padding: 1.4em 1.6em;}
    #ct06 li:not(:first-of-type) { margin-top: 8%;}
    #ct06 .voice2 dl { align-items: flex-start;}
    #ct06 .voice2 dt { width: 100%; padding: 8% 5% 6%;}
    #ct06 .voice2 dt img { width: 50%;}
    #ct06 .voice2 dt h4 { font-size: 5vw;}
    #ct06 .voice2 dd { width: 100%; padding: 1.4em 1.6em; margin: 0;}
    
    #ct06 .read h4 { text-align: left; font-size: 4.6vw;}
    #ct06 .read h2 span { padding: .8em 1.4em 1em;}
}


/* ct07 */
#ct07 ul { margin-top: 5%;}
#ct07 .clm3::after { display: none;}
#ct07 li { border: 1px solid #ddd;}
#ct07 li:nth-child(4) { margin: 2% 1% 0 auto;}
#ct07 li:nth-child(5) { margin: 2% auto 0 1%;}
#ct07 li h4 { text-align: center; color: var(--main); background: var(--bg); padding: .3em 0 .4em;}
#ct07 li h4 strong { font-size: calc(1em + 14px); color: var(--main);}
#ct07 li p { padding: 1.4em 2em; text-align: center;}
#ct07 .stdBx > .caption { text-align: center; margin-top: 1.4em;}

#ct07 .merit dt { width: 81%; display: flex; flex-wrap: wrap; justify-content: space-between;}
#ct07 .merit dd { width: 17%;}
#ct07 .merit dt h6 { text-align: center; background: var(--bg); padding: .6em .2em .7em; width: 48%; display: flex; align-items: center; justify-content: center;}
#ct07 .merit dt h6:nth-of-type(n+3) { margin-top: 2%;}
#ct07 .merit dd img { width: 100%; height: 100%; object-fit: cover;}

@media(max-width:767px) {
    #ct07 ul { margin-top: 8%;}
    #ct07 li:not(:first-of-type),
    #ct07 li:nth-child(4),
    #ct07 li:nth-child(5) { margin: 5% 0 0;}
    #ct07 li h4 { padding: .5em 0 .6em;}
    #ct07 li h4 strong { font-size: calc(1em + 18px);}
    #ct07 li p { padding: 1.4em 1.6em;}
    #ct07 .stdBx > .caption { text-align: left;}
    
    #ct07 h3 { color: var(--main); padding-bottom: .8em; border-bottom: 1px solid var(--main);}
    #ct07 .merit dt { width: 100%;}
    #ct07 .merit dd { width: 35%; margin-top: 4%;}
    #ct07 .merit dt h6 { padding: 1em .2em 1.1em;}
    #ct07 .merit dt h6:nth-of-type(n+3) { margin-top: 4%;}
}


/* VISION/MISSION */
#vimi dt,
#vimi dd { background: var(--main);}
#vimi h2,
#vimi h4,
#vimi h5,
#vimi h2 strong { text-align: center; color: #fff;}
#vimi h2 strong { font-size: calc(1em + 20px);}
#vimi h2 { padding: 1em .5em 0; line-height: 1.2;}
#vimi h5 { padding: .2em .5em 1.5em; }
#vimi dl div { padding: 10% 6% 7%; border-top: 1px solid #fff;}
#vimi h4 { margin-bottom: 1.5em;}
#vimi p { color: #fff;}

#vimi .ovv table { border: 1px solid #ddd;}
#vimi .ovv th,
#vimi .ovv td { padding: 1.5em 2em; border-bottom: 1px solid #ddd;}
#vimi .ovv tr:last-of-type th,
#vimi .ovv tr:last-of-type td { border-bottom: 0;}
#vimi .ovv th { width: 24%; background: var(--bg); font-weight: 500; vertical-align: top;}

@media(max-width:767px) {
    #vimi .stdBx { width: 100%; max-width: 100%;}
    #vimi h2 strong { font-size: 13vw;}
    #vimi h4 { font-size: 5vw;}
    #vimi p { color: #fff;}
    
    #vimi .ovv table { width: 88%; margin: 0 auto;}
    #vimi .ovv th,
    #vimi .ovv td { padding: 1.5em 1em; font-size: 3.4vw;}
    #vimi .ovv th { width: 26%;}
}


/* FAQ */
#faq h3 { color: var(--main); padding-bottom: .8em; border-bottom: 1px solid var(--main);}

.acd { width: 100%; margin: 1.4em auto 0; background: var(--bg);}
.acd input { display: none;}
.acd label { width: 100%; padding: 2em 6em 2em 3em; cursor: pointer; position: relative; display: block; transition: all 0.25s;}
.acd label:hover { color: var(--main);}
.acd label::after,
.acd label::before {
content: "";
position: absolute;
top: 50%;
right: 3em;
transform-origin :50% 50%;
width: 30px;
height: 3px;
background-color: var(--main);
transition: all 0.25s;
}
.acd label::after { transform: rotate(-90deg); }
.acd > div { height: 0; overflow: hidden; opacity: 0; transition: 0.25s;}
.acd input:checked ~ div { height: auto; opacity: 1; padding: 1.5em 2.6em 1.8em; border-top: 2px solid #fff;}
.acd input:checked ~ label::before { transform: rotate(0deg);}
.acd input:checked ~ label::after { transform: rotate(180deg);}
.acd input:checked ~ label { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0;}
.acd label h6 { display: flex; align-items: center; justify-content: flex-start; margin: 0;}
.acd label h6 strong { border-radius: 50%; color: #fff; background: var(--main); font-size: calc(1em + 4px); margin-right: 1em; padding: .2em .6em .3em;}
.acd > div p { width: 100%;}
.acd > div p a { text-decoration: underline; color: var(--bl);}
.acd > div p a:hover { text-decoration: none; color: var(--bl);}

@media(max-width:767px) {
  .acd { padding-bottom: 0; margin-top: 5%;}
  .acd:first-of-type { margin-top: 14%;}
  .acd label { padding: 1.5em 3.6em 1.5em 1.5em;}
  .acd label::after,
  .acd label::before { right: 1.4em; width: 22px; }
  .acd input:checked ~ div { padding: 1.3em 1.5em;}
  .acd label h6 { font-size: 1.6rem;}
}


/* PARTNER */
#partner h3 { color: var(--main); padding-bottom: .8em; border-bottom: 1px solid var(--main);}
#partner ul { margin-top: 5%;}
#partner .clm3::after { display: none;}
#partner li { border: 1px solid #ddd;}
#partner li:nth-child(n+4) { margin-top: 2%;}
#partner li:nth-child(7) { margin: 2% 1% 0 auto;}
#partner li:nth-child(8) { margin: 2% auto 0 1%;}

@media(max-width:767px) {
    #partner ul { margin-top: 10%;}
    #partner li { width: 48%;}
    #partner li:nth-child(n+3),
    #partner li:nth-child(n+4),
    #partner li:nth-child(7),
    #partner li:nth-child(8) { margin: 4% 0 0;}
}


/*------------------------------------------------------------
    footer
------------------------------------------------------------ */
footer { position:relative; margin:10% 0 0;}
footer div { width: 100%; padding: 4%; background:var(--main);}
footer img { display:block; width:60%; max-width: 270px;}
footer p { padding: 2%; background: #282828; color:#fff; text-align:center; letter-spacing:1px; font-size:12px;}

.pagetop a { position:fixed; right:2%; bottom:4%!important; background: rgba(200,22,29,.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(200,22,29,.8);}

@media(max-width:767px) {
    footer { margin:14% 0 0;}
    footer div { padding: 7% 5% 8%; }
    footer img { width: 54%; }
    footer p { padding: 5%; font-size:2.8vw;}
    .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;
    }
}

/*------------------------------------------------------------
	INDEX NAVIGATION (インデックスナビゲーション) - 元の動きを維持
------------------------------------------------------------ */
/* インデックスメニュー */
.index-nav {
    position: static !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 15px !important;
    flex: 1;
    display: flex !important;
    align-items: left;
    justify-content: left;
}

.index-nav ul {
    position: static !important;
    top: auto !important;
    padding: 0 !important;
    width: auto !important;
    background: none !important;
    display: flex !important;
    align-items: center;
    gap: 20px;
    margin: 0 !important;
    transition: none !important;
}

.index-nav ul li {
    padding: 0 !important;
    text-align: center !important;
    width: auto !important;
    margin: 0 !important;
}

.index-nav ul li a {
    color: white !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    transition: background-color 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.index-nav ul li a:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.index-nav ul li a i {
    font-size: 10px !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

/* 寄付ボタンを完全に削除 */
.donate-btn {
    display: none !important;
}

/* レスポンシブ対応 */
@media(max-width: 1024px) {
    .index-nav ul {
        gap: 15px;
    }
    
    .index-nav ul li a {
        font-size: 13px !important;
        padding: 6px 8px !important;
    }
}

@media(max-width: 768px) {
    /* スマホ版：ハンバーガーメニューを非表示 */
    #nav-toggle {
        display: none !important;
    }
    
    /* スマホ版：ヘッダーを一行に配置 */
    header #mobile-head {
        flex-direction: row !important;
        gap: 0 !important;
        height: 60px !important;
        padding: 10px 0 !important;
        align-items: center !important;
    }
    
    /* スマホ版：ロゴサイズ調整 */
    header h1 {
        width: auto !important;
        max-width: 120px !important;
        margin-right: 10px !important;
    }
    
    /* スマホ版：インデックスメニューを横並びに */
    .index-nav {
        margin: 0 !important;
        flex: 1 !important;
    }
    
    .index-nav ul {
        gap: 8px !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
    }
    
    .index-nav ul li a {
        font-size: 10px !important;
        padding: 4px 6px !important;
        gap: 1px !important;
    }
    
    .index-nav ul li a i {
        font-size: 7px !important;
    }
}

@media(max-width: 480px) {
    /* より小さい画面での調整 */
    .index-nav ul li a {
        font-size: 9px !important;
        padding: 3px 4px !important;
    }
    
    .index-nav ul {
        gap: 6px !important;
    }
    
    header h1 {
        max-width: 100px !important;
    }
}

/* スムーズスクロール */
html {
    scroll-behavior: smooth;
}