@charset "UTF-8";

@media screen and (max-width: 999px) {

body {font-size: 3.2vw;}

.spnbr br {display: none;}

.headerlogo { position: fixed; z-index: 21; top: 5vw; left: 5vw; padding: 0; display: block; width: max-content;}
.headerlogo h1 { font-size: 120%;}

#spMenu { position: fixed; z-index: 22; top: 0; right: 0; display: flex; justify-content: center; align-items: center; width: 12vw; height: 10vw; transition: all 1s; padding: 0; align-items: center; margin: 0; }
#spMenu .menu-trigger { position: relative; width: 7.5vw; height: 7.5vw; display: block; justify-content: center; align-items: center; margin: auto; top: 0; bottom: 0; left: 0; right: 0; }

.menu-trigger,.menu-trigger p { display: block; transition: all .4s; box-sizing: border-box; }
.menu-trigger.down p { position: absolute; left: 0; width: 100%; height: 1px; background: #000; font-size: 0.1em; }
.menu-trigger p { position: absolute; left: 0; width: 100%; height: 1px; background: #000; font-size: 0.1em; box-shadow: 0px 0px 8px rgba(0,0,0,0.2); }
.menu-trigger p:nth-of-type(1) { top: 3.2vw; }
.menu-trigger p:nth-of-type(2) { top: 5.0vw; }
.menu-trigger p:nth-of-type(3) { top: 6.8vw; }
.menu-trigger.active p:nth-of-type(1) { transform: translateY(1.2vw) rotate(-45deg); background: #000; top: 4.0vw;}
.menu-trigger.active p:nth-of-type(2) { opacity: 0; }
.menu-trigger.active p:nth-of-type(3) { transform: translateY(-1.05vw) rotate(45deg); background: #000; top: 6.2vw; }

.spnavi { display: flex; justify-content: flex-start; align-items: center; flex-direction: column; padding-top: 20vw; position: fixed; top: 0; left: 0; z-index: -21; opacity: 0; background: rgba(255,255,255,.9); width: 100%; height: 100vh; -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; -webkit-transition: all 1s; transition: all 1s; }
.spnavi.active { opacity: 1; z-index: 20;}
.spnavi a { display: block; width: 100%; color: #fff; margin: 5vw auto 0; text-align: center;filter: blur(1.5rem); transition: all 1.5s; font-size: 120%;}
.spnavi.active a {filter: blur(0);}
.spnavi br {display: none;}

.cp { display: block; text-align: right; position: fixed; z-index: 22; bottom: 2vw; right: 4vw; font-size: 90%;}

.maincont {position: relative; z-index: 2; width: 100%; height: auto;}
.maincont.bgtype1:before { content:""; display: block; position: fixed; z-index: -1; top: 0; left: 0; width: 100%; height: 100vh; background: url(../../../system_panel/uploads/images/bgtype1.jpg) no-repeat; background-size: cover;}
.maincont.bgtype2:before { content:""; display: block; position: fixed; z-index: -1; top: 0; left: 0; width: 100%; height: 100vh; background: url(../../../system_panel/uploads/images/bgtype2.jpg) no-repeat; background-size: cover;}
.maincont.bgtype3:before { content:""; display: block; position: fixed; z-index: -1; top: 0; left: 0; width: 100%; height: 100vh; background: url(../../../system_panel/uploads/images/bgtype3sp.jpg) no-repeat bottom right; background-size: cover;}
.maincont.bgtype4:before { content:""; display: block; position: fixed; z-index: -1; top: 0; left: 0; width: 100%; height: 100vh; background: url(../../../system_panel/uploads/images/bgtype4sp.jpg) no-repeat bottom right; background-size: cover;}

.section {width: 90%; padding: 7vw 0; box-sizing: border-box; margin: 0 auto 20vw;}
.section.wbg { background: #fff; padding: 4vw;}

.pagettl { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: auto; aspect-ratio:1/1.2; }
.pagettl .txt { width: 100%;}
.pagettl h2 {font-size: 150%; text-align: center; margin-bottom: 2.5vw;}
.pagettl p { color: #B99463; text-align: center; font-size: 120%; width: 80%; margin: 0 auto;}

.articlelist { display: block; width: 90%; margin: 0 auto 20vw;}
.articlelist .webgene-blog { display: flex; justify-content: flex-start; flex-direction: column; width: 100%; flex-wrap: wrap;}
.articlelist .webgene-blog .webgene-item { width: 100%; padding: 5vw; background: #fff; box-sizing: border-box; margin: 0 0% 7vw 0;}
.articlelist .webgene-blog .webgene-item:nth-of-type(even) {margin-right: 0;}
.articlelist .webgene-blog .webgene-item .webgene-item-content {}
.articlelist .webgene-blog .webgene-item .webgene-item-content .thumb {display: block; width: 50%; height: auto; aspect-ratio:1/1; overflow: hidden; margin: 0 auto 6vw;}
.articlelist .webgene-blog .webgene-item .webgene-item-content .thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center;}
.articlelist .webgene-blog .webgene-item .webgene-item-content .cat { display: block; font-size: 100%; color: #B99463; margin-bottom: 3vw;}
.articlelist .webgene-blog .webgene-item .webgene-item-content .txt h2 { font-size: 120%; margin-bottom: 3vw;}
.articlelist .webgene-blog .webgene-item .webgene-item-content .txt p { margin-bottom: 3vw;}
.articlelist .webgene-blog .webgene-item .webgene-item-content a.linkbtn { margin-top: 3vw;}

.voicedetail .webgene-blog { width: 100%; background: #fff; padding: 4vw; box-sizing: border-box;}
.voicedetail .webgene-item {}
.voicedetail .webgene-item .cat { display: block; color: #B99463; font-size: 100%; margin-bottom: 3vw;}
.voicedetail .webgene-item-info { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap;}
.voicedetail .webgene-item h2 { font-size: 150%; margin: 0 auto 3vw;}
.voicedetail .webgene-item .date {}
.voicedetail .detail { width: 100%; color: #8EC11F; margin-bottom: 4vw;}
.voicedetail .thumb {}
.voicedetail .webgene-item-content { margin: 3vw auto; line-height: 1.6;}
.voicedetail .webgene-item-content strong {background: linear-gradient(transparent 60%, yellow 0%); display: inline; padding: 0 1px 0px;}
.voicedetail .webgene-item-content a {position: relative; display: block; width: max-content; padding: 1vw 2vw 1vw 5.4vw; margin-top: 1vw; background: #D9BE74; color: #fff; border-radius: 1vw;}
.voicedetail .webgene-item-content a:before { content:""; display: block; position: absolute; z-index: 1; top: 0; bottom: 0; left:1vw; margin: auto 0; width: 3vw; height: 3vw; background: url(../../../system_panel/uploads/images/icon_link.png) no-repeat center center; background-size: contain;}

.methodlist { display: block; width: 100%; margin: 0 auto 10vw;}
.methodlist .webgene-blog { display: block; width: 100%; flex-wrap: wrap; }
.methodlist .webgene-blog .webgene-item .webgene-item-content { display: block; width: 100%; background: #fff; margin: 0 0 10vw 0;}
.methodlist .webgene-blog .webgene-item .webgene-item-content .left { width: 100%;}
.methodlist .webgene-blog .webgene-item .webgene-item-content .right { width: 100%; padding: 6vw 1.5vw; box-sizing: border-box;}
.methodlist .webgene-blog .webgene-item .webgene-item-content .thumb {display: block; width: 100%; height: 100%; overflow: hidden; margin-bottom: 3vw;}
.methodlist .webgene-blog .webgene-item .webgene-item-content .thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center;}
.methodlist .webgene-blog .webgene-item .webgene-item-content .txt .linerHeader {margin-bottom: 5vw !important;}
.methodlist .webgene-blog .webgene-item .webgene-item-content .txt h3 { font-size: 120%; text-align: left!important;}
.methodlist .webgene-blog .webgene-item .webgene-item-content .txt p { margin: 0 2vw 6vw;}

.methoddetail { margin-top: 5vw;}
.methoddetail .webgene-blog { width: 100%; background: #fff; box-sizing: border-box;}
.methoddetail .webgene-item {}
.methoddetail .webgene-item header { width: 100%; display: block; padding: 4vw 4vw 0; box-sizing: border-box;}
.methoddetail .webgene-item header br {display: none;}
.methoddetail .webgene-item header h2 {  font-size: 160%; margin-bottom:3vw;}
.methoddetail .webgene-item-content { margin: 0 auto; padding: 0 5vw 4vw; line-height: 1.6; }
.methoddetail .webgene-item-content h3 { font-size: 130%; margin: 10vw auto 5vw; padding-top: 5vw; border-top: solid 1px #D9BE74; text-align: center;}

a.linkbtn {position: relative; display: block; width: max-content; margin-right: auto; margin-left: auto; background: #D9BE74; color: #fff; font-size: 100%; border-radius: 3vw; padding: 1.5vw 6.0vw;}
a.linkbtn p {position: relative; font-size: 100%; letter-spacing: 0.05em; color: #fff;}

.mb1 {margin-bottom: 2vw!important;}
.mb3 {margin-bottom: 6vw!important;}
.mb5 {margin-bottom: 10vw!important;}
.mb7 {margin-bottom: 7vw!important;}
.mb10 {margin-bottom: 10vw!important;}
.mt10 {margin-top: 10vw!important;}

.tac {text-align: center;}
.tal {text-align: left;}
.tar {text-align: right;}

.largep { font-size: 120%!important;}

.headerH3 {display: block; text-align: center; margin-bottom: 6vw; font-size: 110%; line-height: 1.6;}

.crownhead {display: block; text-align: center; margin-bottom: 10vw; font-size: 110%;}
.crownhead img { width: 40%; height: auto; display: block; margin: 0 auto 3vw;}
.crownhead H3 {display: block; text-align: center; font-size: 115%; font-weight: normal;}

.linerHeader {position: relative; margin-bottom: 3vw;}
.linerHeader:before { display: block; content:""; width: 100%; height: 1px; position: absolute; top: 0; bottom: 0; left: 0; margin: auto; background: #D9BE74;}
.linerHeader h2,.linerHeader h3,.linerHeader h4,.linerHeader p {display: block; /*width: max-content;*/ background: #fff; text-align: center; margin: 0 auto; padding: 0 3vw; line-height: 1.6; position: relative; z-index: 2;}

.faqcell { margin-bottom: 10vw;}
.section .faqcell:last-of-type { margin-bottom: 0vw;}
.faqcell .qcell {position: relative; display: flex; justify-content: flex-start; align-items: center; margin-bottom: 3vw;}
.faqcell .qcell:before { content:"Q"; display: flex; justify-content: center; align-items: center; background: #D9BE74; border-radius: 50%; color: #fff; width: 7vw; height: 7vw; margin-right: 3vw;}
.faqcell .qcell p {font-size: 100%; width: 90%; line-height: 1.2; font-weight: bold; }
.faqcell .acell {position: relative; display: flex; justify-content: flex-start; align-items: flex-start; margin-bottom: 6vw;}
.faqcell .acell:before { content:"A"; display: flex; justify-content: center; align-items: center; background: #E6ABD1; border-radius: 50%; color: #fff; width: 7vw; height: 7vw; margin-right: 3vw;}
.faqcell .acell p {font-size: 100%; width: 90%; line-height: 1.2;}

.sessionCell {margin-bottom: 5vw;}
.sessionCell h4 {font-size: 120%; margin-bottom: 1vw; font-weight: normal; width: max-content !important;}
.sessionCell ul {padding: 0; margin: 0;}
.sessionCell li {text-align: left; margin: 0 0 1vw ; list-style-type: circle;}

.duobox { width: 100%; display: flex; justify-content: flex-start; flex-wrap: wrap; flex-direction: column;}
.duobox p { display: block; width: 100%; text-align: left; margin-bottom: 3vw;}

.section.speech p {margin-bottom: 7vw; line-height: 1.9;}
.section.speech img {margin-bottom: 7vw;}

.kv {position: relative; width: 100%; height: auto; aspect-ratio:1/.873; margin-bottom: 10vw;}
.kv .txt {position: absolute; z-index: 3; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; }
.kv .txt img { display: block; width: 85%; height: auto; margin: 0 auto 0;}
.kv .mid {position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; display: block; }
.kv .mid .bird1 {position: absolute; z-index: 2; width: 12vw; height: auto; top: 11vw; left: 25vw;}
.kv .mid .bird2 {position: absolute; z-index: 2; width: 8vw; height: auto; top: 11vw; right: 23vw;}
.kv .mid .feather {position: absolute; z-index: 1; width: 90vw; height: auto; top: 5vw; right: 0; left: 0; margin: auto;}
.kv .bg {position: absolute; z-index: 1; width: 100%;height: 100%; overflow: hidden;}
.kv .bg img { width: 100%;height: 100%;object-fit: cover;}

.kv .cloud {position: absolute; z-index: 4; bottom: -14vw; left: 0; width: 100%; height: 42vw; }
.kv .cloud img { display: block; width: 100%; height: 100%; object-fit: cover;}

.section.indexsec1 { padding: 0;}
.indexsec1 h2 { font-size: 100%; margin-bottom: 5vw;}
.indexsec1 h3 { font-size: 100%; margin-bottom: 3vw; line-height: 1.6;}
.indexsec1 img { display: block; width: 90%; margin: 0 auto 5vw;}
.indexsec1 p { font-size: 100%; margin-bottom: 7vw;}
.indexsec1 .btnbox { width: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column;}
.indexsec1 .btnbox a {position: relative; display: block; width: 60vw; margin-right: auto; margin-left: auto; margin-bottom: 3vw; background: #D9BE74; font-size: 100%; border-radius: 3vw; padding: 1.8vw 5.0vw;}
.indexsec1 .btnbox a p {position: relative; font-size: 100%; letter-spacing: 0.05em; margin-bottom: 0; color: #fff; text-align: center; }

.txtlist {}
.txtlist .flcell { display: flex; justify-content: space-between; align-items: center; margin: 0 auto 0px; border-bottom: 1px solid rgba(3,3,3,0.1); padding: 3.0vw;}
.txtlist .flcell:nth-of-type(1) { border-top: 1px solid rgba(3,3,3,0.1);}
.txtlist .flcell .fleft { width: 35%; text-align: left; font-size: 100%;}
.txtlist .flcell .fright { width: 65%; text-align: left; font-size: 100%;}

.indexsec2 h2 { font-size: 100%; margin-bottom: 5vw;}


.footer_sns { display: flex; align-items: center; position: fixed; z-index: 22; bottom: 2vw; left: 4vw;}
.footer_sns a { display: block; width: 9vw; margin-right: 3vw;}

.footer { position: relative; z-index: 2; display: block; width: 90%; margin-right: auto; margin-left: auto; margin-bottom:20vw!important;}
.footer img {width: 40vw; height: auto; display: block; margin-right: auto; margin-left: auto;}

.voicecatlist .webgene-blog { display: flex; justify-content: center;flex-wrap: wrap; width:100%}
.voicecatlist .webgene-blog .webgene-item { width: 48%; margin: 0 1% 2% 0;}
.voicecatlist .webgene-blog .webgene-item a.linkbtn { margin: 0 1vw; width: auto; padding: 1vw;}

.kv_link {
    position: absolute;
    bottom: 0;
    z-index: 10;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    width: 100%;
}

.kv_link_item {
    width: 240px;
}
}
