@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Plus+Jakarta+Sans:ital,wght@0,700;0,800;1,500;1,800&display=swap');

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Plus Jakarta Sans', sans-serif;
min-height: 100vh; min-height: calc(var(--vh, 1vh) * 100);
*/

/* --------------------------------------------------
 normalize
--------------------------------------------------- */
button,hr,input{overflow:visible;padding:0;}progress,sub,sup{vertical-align:baseline;}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0;}html{line-height:1;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{margin:.67em 0;font-size:2em;}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-size:1em;font-family:monospace,monospace;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:normal;}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-size:100%;font-family:inherit;line-height:1;}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none;}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{display:table;max-width:100%;color:inherit;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px-webkit-appearance:textfield;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button;}summary{display:list-item}[hidden],template{display:none}table{border-spacing:0;border-collapse:collapse;}td,th{padding:0;font-weight:normal;}ul{margin:0;padding:0;}ul li{margin:0;padding:0;list-style:none;}ol{margin:0;padding:0;}ol li{margin:0;padding:0;list-style:none;}
main,figure,figcaption,time,address,dl,dt,dd{display: block;margin:0;padding:0;}h1,h2,h3,h4,h5{margin:0;font-size:100%;}p{margin:0; padding:0;}address{font-style: normal;}*,*:after,*:before{outline:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);scrollbar-color: transparent transparent;scrollbar-width: 0px;-ms-overflow-style: none;}h1,h2,h3,h4{font-weight:normal;}mark{background: none;}html{box-sizing:border-box;}*,*:before,*:after{box-sizing:border-box;}

/* --------------------------------------------------
 common
--------------------------------------------------- */
html{ width: 100%; font-size: 62.5%;}
body{
    min-width: 1000px;
    background: #fff;
    color: #000;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1;

    -webkit-font-smoothing: antialiased;
}

img{ width: 100%; vertical-align: bottom;}
i{ display: block;}
a{ color: #000; text-decoration: none;}
a:hover{ color: #000; text-decoration: none;}
.sp{ display: none;}
#wrap{ position: relative; margin: 0 auto; width: 1000px;}

@media screen and (max-width: 768px){
    body{ min-width: 0; font-size: 1.3rem;}
    .pc{ display: none;}
    .sp{ display: block;}
    #wrap{ width: 100%;}
}

/* --------------------------------------------------
 header
--------------------------------------------------- */
header{ padding: 0 0 60px; min-height: 100vh; min-height: calc(var(--vh, 1vh) * 100); text-align: center; line-height: 1.5;}
header .box{ position: relative; padding: 50px 0 20px; background: #003894; color: #fff;}
header .box:after{ position: absolute; bottom: -27px; left: 50%; border-width: 27px 15px 0 15px; border-style: solid; border-color: #003994 transparent transparent transparent; content: ""; transform: translate(-50%,0);}
header .copy1{ font-weight: 500; font-size: 2.4rem;}
header .logo{ padding: 60px 0 0;}
header .logo img{ width: 370px;}
header .copy2{ display: flex; flex-direction: column; margin: 60px auto 0; width: 520px; height: 125px; border-radius: 125px; background: #fff; align-items: center; justify-content: center;}
header .copy2 span{ margin: 8px 0; border-bottom: 2px solid; color: #eb0000; font-weight: 500; font-size: 3rem; line-height: 1;}
header i{ margin: 40px 0 0;}
header i img{ width: 175px;}
header h1{ margin: 60px 0 0;}
header h1 img{ width: 500px;}

.act0-1 { opacity: 0; animation: zoomIn1 .8s .5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;}
.act0-2 { opacity: 0; animation: zoomIn1 .8s 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;}
@keyframes zoomIn1 {
    0% { opacity: 0; transform: scale(0.5);}
    100% { opacity: 1; transform: scale(1);}
}

@media screen and (max-width: 768px){
    header{ padding: 0 0 30px; line-height: 1.5;}
    header .box{ padding: 25px 0 10px;}
    header .copy1{ font-size: 1.2rem;}
    header .logo{ padding: 30px 0 0;}
    header .logo img{ width: 66.222vw;}
    header .copy2{ margin: 30px auto 0; width: 92.888vw; height: 60px; border-radius: 60px;}
    header .copy2 span{ margin: 4px 0; border-bottom: 1px solid; font-size: 1.5rem;}
    header i{ margin: 40px auto 0; width: 31.111vw;}
    header i img{ width: 100%;}
    header h1{ margin: 30px 0 0;}
    header h1 img{ width: 88.888vw;}
}

/* --------------------------------------------------
 main
--------------------------------------------------- */
section h2{ position: sticky; top: 0; left: 0; z-index: 20; width: 1000px; transform: translate(0,0);}
.btn a{ display: flex; width: 90px; height: 90px; background: #003894; color: #fff; font-weight: 700; font-family: 'Plus Jakarta Sans', sans-serif; align-items: center; justify-content: center;}

@media screen and (max-width: 768px){
    section h2{ width: 100%;}
    .btn a{ width: 16vw; height: 16vw;}
}

/* sec1
--------------------------------------------------- */
.sec1 .logo{ padding: 150px 0 0; text-align: center;}
.sec1 .logo img{ width: 500px;}
.sec1 .lead{ margin: 30px 0 0; color: #003894; text-align: center; font-weight: 500; font-size: 2rem; line-height: 1.5;}

@media screen and (max-width: 768px){
    .sec1 .logo{ padding: 75px 0 0;}
    .sec1 .logo img{ width: 88.888vw;}
    .sec1 .lead{ margin: 15px 0 0; font-size: 1.5rem;}
}

.sec1 .prof{ display: flex; padding: 90px 50px 60px; justify-content: space-between; align-items: center;}
.sec1 .prof figure{ width: 390px;}
.sec1 .prof .detail{ width: 470px;}
.sec1 .prof .detail h3{ font-weight: 700; font-size: 2rem;}
.sec1 .prof .detail h3 strong{ font-weight: 700; font-size: 2.5rem;}
.sec1 .prof .detail p{ margin: 30px 0 0; text-align: justify; line-height: 2;}

@media screen and (max-width: 768px){
    .sec1 .prof{ flex-direction: column; padding: 45px 9.777vw 50px;}
    .sec1 .prof figure{ width: 100%;}
    .sec1 .prof .detail{ padding: 25px 0 0; width: 100%;}
    .sec1 .prof .detail h3{ font-size: 1.4rem;}
    .sec1 .prof .detail h3 strong{ font-size: 1.8rem;}
    .sec1 .prof .detail p{ margin: 15px 0 0;}
}

.box-wrap{ margin: 0 calc(50% - 50vw); padding: 60px calc(50vw - 50%); width: 100vw; background: #ebe687;}
.box-wrap .box{ padding: 0 0 100px; border: 1px solid #003894; border-top: none; border-radius: 0 0 50px 50px;}

@media screen and (max-width: 768px){
    .box-wrap{ padding: 30px 9.777vw;}
    .box-wrap .box{ padding: 0; border: none; border-radius: 0;}
}

.box-wrap .img1{ position: relative;}
.box-wrap .img1 .round{ overflow: hidden; border: 1px solid #003894; border-bottom: none; border-radius: 50px 50px 0 0;}
.box-wrap .img1 i{ position: absolute; bottom: -60px; left: 50%; text-align: center; transform: translate(-50%,0);}
.box-wrap .img1 i img{ width: 100px;}

@media screen and (max-width: 768px){
    .box-wrap .img1{ position: relative; text-align: right;}
    .box-wrap .img1 .round{ overflow: visible; border: none; border-radius: none;}
    .box-wrap .img1 img.sp{ display: inline-block; margin: 0 -4vw 0 0; width: 48.888vw;}
    .box-wrap .img1 i{ top: 10px; bottom: auto; left: 0; transform: none;}
    .box-wrap .img1 i img{ width: 17.777vw;}
}

.box-wrap .ttl{ padding: 30px 50px 0;}
.box-wrap .ttl time{ display: inline-block; border-bottom: 1px solid; font-weight: 800; font-style: italic; font-size: 2rem; font-family: 'Plus Jakarta Sans', sans-serif;}
.box-wrap .ttl p{ padding: 50px 0 0; color: #003894; text-align: center; font-weight: 700; font-size: 3.5rem;}

@media screen and (max-width: 768px){
    .box-wrap .ttl{ display: flex; flex-direction: column-reverse; margin: -100px 0 0; padding: 0; align-items: flex-start;}
    .box-wrap .ttl time{ padding: 15px 0 0; font-size: 1.3rem;}
    .box-wrap .ttl p{ padding: 0; text-align: left; font-size: 1.6rem; line-height: 1.6;}
}

.box-wrap .type1{ position: relative; margin: 90px 0 0; padding: 0 0 0 85px; font-weight: 500; font-size: 3rem; line-height: 1.5;}
.box-wrap .type1:before{ position: absolute; top: 0; left: 50px; width: 5px; height: 100%; background: #000; content: "";}
.box-wrap .type1:after{ position: absolute; top: 0; left: 60px; width: 5px; height: 100%; background: #003894; content: "";}
.box-wrap .type1 span{ position: relative; display: inline-block; padding: 20px 100px 20px 0;}
.box-wrap .type1 i{ position: absolute; right: 0; bottom: 0;}
.box-wrap .type1 i img{ width: 65px;}

@media screen and (max-width: 768px){
    .box-wrap .type1{ margin: 20px 0 0; padding: 0 0 0 18px; font-size: 1.5rem;}
    .box-wrap .type1:before{ left: 0; width: 3px;}
    .box-wrap .type1:after{ left: 6px; width: 3px;}
    .box-wrap .type1 span{ display: block; padding: 0;}
    .box-wrap .type1 i img{ width: 11.555vw;}
}

.box-wrap .img2{ margin: 60px 0 0;}
.box-wrap .img2 .block{ position: relative; height: 1300px; background: #fff;}
.box-wrap .img2 .block-img{ position: absolute; top: 0; left: 50%; width: 1420px; height: 1300px; transform: translate(-50%,0);}
.box-wrap .img2 figcaption{ padding: 60px 50px 0; text-align: justify; line-height: 2;}

@media screen and (max-width: 768px){
    .box-wrap .img2{ margin: 20px 0 0;}
    .box-wrap .img2 .block{ padding: 144.4444% 0 0; height: 0;}
    .box-wrap .img2 .block-img{ top: 8vw; left: -9.777vw; width: 100vw; height: 115.5555vw; transform: translate(0,0);}
    .box-wrap .img2 figcaption{ padding: 20px 0 0; line-height: 1.75;}
}

.box-wrap .item{ position: relative; display: flex; margin: 60px 0 0; padding: 0 50px 0 85px; justify-content: space-between; align-items: center;}
.box-wrap .item:before{ position: absolute; top: 0; left: 50px; width: 5px; height: 100%; background: #000; content: "";}
.box-wrap .item:after{ position: absolute; top: 0; left: 60px; width: 5px; height: 100%; background: #003894; content: "";}
.box-wrap .item .detail{ padding: 15px 0; line-height: 2;}

@media screen and (max-width: 768px){
    .box-wrap .item{ margin: 20px 0 0; padding: 0 0 0 18px; align-items: flex-start;}
    .box-wrap .item:before{ left: 0; width: 3px;}
    .box-wrap .item:after{ left: 6px; width: 3px;}
    .box-wrap .item .detail{ padding: 0; line-height: 1.75;}
}

.dl-share{ display: flex; margin: 60px auto 0; padding: 0 40px; width: 900px; height: 50px; border-radius: 40px; background: #fff; color: #003894; justify-content: space-between; align-items: center;}
.dl-share dt{ font-weight: 500; font-style: italic; font-family: 'Plus Jakarta Sans', sans-serif;}
.dl-share ul{ display: flex;}
.dl-share ul > li{ padding: 0 0 0 40px; font-size: 3rem;}
.dl-share ul a{ display: block; color: #003894;}

@media screen and (max-width: 768px){
    .dl-share{ margin: 20px 0 0; padding: 0 15px; width: 100%; height: 33px; border-radius: 33px;}
    .dl-share ul > li{ padding: 0 0 0 25px; font-size: 2rem;}
}

.box-wrap .type2{ margin: 140px 0 0; text-align: center; font-weight: 500; font-size: 2.5rem; line-height: 1.6;}
.box-wrap .type2 span{ position: relative; display: inline-block; padding: 30px 130px 0;}
.box-wrap .type2 span .i1{ position: absolute; top: 20px; left: 30px;}
.box-wrap .type2 span .i1 img{ width: 64px;}
.box-wrap .type2 span .i2{ position: absolute; top: 0; right: 0; z-index: 10;}
.box-wrap .type2 span .i2 img{ width: 90px;}

@media screen and (max-width: 768px){
    .box-wrap .type2{ margin: 30px 0 0; font-size: 1.6rem;}
    .box-wrap .type2 span{ display: block; padding: 0;}
    .box-wrap .type2 span .i1{ top: 26px; left: 0;}
    .box-wrap .type2 span .i1 img{ width: 11.555vw;}
    .box-wrap .type2 span .i2{ top: 33px; right: -14px;}
    .box-wrap .type2 span .i2 img{ width: 16.08vw;}
}

.list-spec{ margin: 15px 0 0; padding: 0 50px;}
.list-spec > li{ display: flex; padding: 60px 0 0; justify-content: space-between; align-items: center;}
.list-spec > li:nth-child(even){ flex-direction: row-reverse;}
.list-spec figure{ width: 510px;}
.list-spec .detail{ width: 350px;}
.list-spec .detail h4{ color: #003894; font-weight: 700; font-size: 2.5rem; line-height: 1.5;}
.list-spec > li:nth-child(even) .detail h4{ margin: 0 -20px 0 0;}
.list-spec .detail p{ margin: 15px 0 0; line-height: 2;}

@media screen and (max-width: 768px){
    .list-spec{ margin: 0; padding: 0;}
    .list-spec > li{ flex-direction: column; padding: 30px 0 0;}
    .list-spec > li:nth-child(even){ flex-direction: column;}
    .list-spec figure{ width: 100%;}
    .list-spec .detail{ padding: 20px 0 0; width: 100%;}
    .list-spec .detail h4{ font-size: 1.6rem;}
    .list-spec > li:nth-child(even) .detail h4{ margin: 0;}
    .list-spec .detail p{ margin: 15px 0 0; line-height: 1.75;}
}

/* sec2
--------------------------------------------------- */
.sec2{ padding: 0 0 200px;}
.sec2 h3{ padding: 180px 0 0; text-align: center; font-weight: 500; font-size: 2.5rem; line-height: 1.6;}
.sec2 h3 span{ position: relative; display: inline-block; padding: 10px 100px 0;}
.sec2 h3 span i{ position: absolute; top: 0; right: 0;}
.sec2 h3 span i img{ width: 64px;}

@media screen and (max-width: 768px){
    .sec2{ padding: 0 0 9.777vw;}
    .sec2 h3{ padding: 75px 9.777vw 0; font-size: 1.6rem;}
    .sec2 h3 span{ display: block; padding: 0 0 26px;}
    .sec2 h3 span i{ top: auto; bottom: 0;}
    .sec2 h3 span i img{ width: 11.555vw;}
}

.list-item{ overflow: hidden;}
.list-item > li{ display: flex; padding: 100px 50px 0 0; justify-content: space-between;}
.list-item figure{ position: relative; overflow: hidden; padding-top: 92%; width: 510px;}
.list-item figure img{ position: absolute; top: 0; width: 100%;}
.list-item .detail{ position: relative; width: 400px;}
.list-item .ttl{ position: relative; display: flex; justify-content: center;}
.list-item .ttl h4{ width: 88px;}
.list-item .ttl i{ position: absolute; top: 0; right: 0;}
.list-item .ttl i img{ width: 100px;}
.list-item .exp{ position: absolute; bottom: 0; left: 0; width: 100%;}
.list-item .exp p{ margin: 40px 0 0; text-align: justify; line-height: 2;}

@media screen and (max-width: 768px){
    .list-item > li{ position: relative; flex-direction: column; padding: 30px 0 0;}
    .list-item figure{ padding-top: 170.488%; width: 100%;}
    .list-item .detail{ position: static; padding: 0 9.777vw; width: 100%;}
    .list-item .ttl{ position: absolute; top: 60px; left: 9.777vw; flex-direction: column-reverse; align-items: center;}
    .list-item .ttl h4{ padding: 10px 0 0; width: 15.644vw;}
    .list-item .ttl i{ position: relative; top: auto; right: auto;}
    .list-item .ttl i img{ width: 17.777vw;}
    .list-item .exp{ position: relative; bottom: auto; left: auto; display: flex; flex-direction: row-reverse; padding: 20px 0 0; width: 100%; justify-content: space-between;}
    .list-item .exp p{ margin: 0; width: 60.444vw; line-height: 1.75;}
}

.list-item > li:nth-child(even){ flex-direction: row-reverse; padding: 100px 0 0 50px;}
.list-item > li:nth-child(even) .ttl i img{ width: 90px;}
.list-item > li:nth-child(even) .ttl i{ right: auto; left: 0;}
.list-item > li:nth-child(even) .btn{ display: flex; justify-content: flex-end;}

@media screen and (max-width: 768px){
    .list-item > li:nth-child(even){ flex-direction: column; padding: 30px 0 0;}
    .list-item > li:nth-child(even) .ttl{ right: 9.777vw; left: auto;}
    .list-item > li:nth-child(even) .ttl i img{ width: 16.088vw;}
    .list-item > li:nth-child(even) .ttl i{ right: auto; left: auto;}
    .list-item > li:nth-child(even) .btn{ display: flex; justify-content: flex-end;}
}

/* sec3
--------------------------------------------------- */
.sec3{ background: url("../images/bg.jpg") no-repeat center / cover;}
.sec3 .box{ padding: 365px 210px 315px;}
.sec3 .box-inner{ position: relative; padding: 190px 30px 30px; background: rgba(255,255,255,.8); color: #003894;}
.sec3 .box-inner > i{ position: absolute; top: 50px; left: 50%; transform: translate(-50%,0);}
.sec3 .box-inner > i img{ width: 100px;}
.sec3 h3{ position: relative; text-align: center; font-weight: 700; font-size: 3.5rem; line-height: 1.4;}
.sec3 h3 i{ position: absolute; top: -120px; left: 75px; width: 64px;}
.sec3 h3 strong{ display: block; font-weight: 700; font-size: 5rem;}
.sec3 p{ position: relative; display: inline; margin: 30px 0 0; text-align: justify; font-size: 2.4rem; line-height: 2.25;}
.sec3 p.is-animate { animation: line .8s .8s cubic-bezier(0.25, 1, 0.5, 1) forwards;}

@keyframes line {
    0% { background: linear-gradient(transparent 100%, #003894 100%);}
    100% { background: linear-gradient(transparent 95%, #003894 95%);}
}

@media screen and (max-width: 768px){
    .sec3 .box{ padding: 75px 9.777vw 9.777vw;}
    .sec3 .box-inner{ position: relative; padding: 90px 10px 10px;}
    .sec3 .box-inner > i{ position: absolute; top: -5px; left: 50%; transform: translate(-50%,0);}
    .sec3 .box-inner > i img{ width: 17.777vw;}
    .sec3 h3{ margin: 0; font-size: 1.6rem; line-height: 1.6;}
    .sec3 h3 i{ top: -75px; left: 14.222vw; width: 11.55vw;}
    .sec3 h3 strong{ font-size: 2rem;}
    .sec3 p{ margin: 10px 0 0; font-size: 1.3rem; line-height: 2;}
}


/* 傾斜15度リピート */
.act1-1 { transform: translate(0) rotate(0); animation: act1-1 2s running steps(1) infinite;}
@keyframes act1-1 {
    0% { transform: translate(0) rotate(0);}
    50% { transform: translate(0) rotate(15deg);}
    100% { transform: translate(0) rotate(0);}
}

/* 傾斜15度リピート・センタリング */
.act1-2 { transform: translate(-50%,0) rotate(0); animation: act1-2 2s running steps(1) infinite;}
@keyframes act1-2 {
    0% { transform: translate(-50%,0) rotate(0);}
    50% { transform: translate(-50%,0) rotate(15deg);}
    100% { transform: translate(-50%,0) rotate(0);}
}

/* フェードイン1 */
.act2-1 { opacity: 0;}
.fadein2-1{ animation: popup .6s .5s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;}
@keyframes popup {
  0% { opacity: 0; transform: translateY(40px) scale(0.8);}
  100% { transform: translateY(0) scale(1.0);}
  80%, 100% { opacity: 1;}
}

/* フェードイン2 */
.act2-3 { opacity: 0; transform: translateY(-150px);}
.fadein2-3{ animation: poyoyon .5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;}
@keyframes poyoyon {
    0% { opacity: 0; transform: translateY(-150px);}
    50% { transform: translateY(0);}
    65% { transform: translateY(-30px);}
    100% { transform: translateY(0);}
    20%,100% { opacity: 1;}
}

/* フェードイン3 */
.act3 { opacity: 0;}
.fadein3{ animation: zoomIn2 .8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;}
.act4 { opacity: 0;}
.fadein4{ animation: zoomIn2 .8s .8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;}
@keyframes zoomIn2 {
  0% { opacity: 0; transform: scale(0.8);}
  100% { opacity: 1; transform: scale(1);}
}

/* フェードイン4 */
.act6{ opacity: 0;}
.fadein6 { opacity: 1; animation: kurkuru .8s ease-out;}
@keyframes kurkuru {
  0%{ opacity: 0; transform: rotateY(0) translateY(30px);}
  100%{ opacity: 1; transform: rotateY(360deg) translateY(0);}
}

/* --------------------------------------------------
 aside
--------------------------------------------------- */
aside{ overflow: hidden; margin: 0 calc(50% - 50vw); padding: 5.2083vw 0 7.2916vw; width: 100vw; background: #003894;}
aside h2{ display: flex; justify-content: center;}
aside h2 span{ display: flex; width: 23.4375vw; height: 2.6041vw; border-radius: 2.6041vw; background: #fff; color: #003894; font-weight: 800; font-size: 1.0416vw; font-family: 'Plus Jakarta Sans', sans-serif; align-items: center; justify-content: center;}
aside ul{ display: flex; margin: 2.0833vw 0 0; padding: 0 13.802vw; flex-wrap: wrap;}
aside ul > li{ padding: 3.125vw 1.302vw 0; width: 20%;}
aside ul a{ display: block; color: #fff;}
aside ul a:hover{ color: #fff;}
aside ul time{ display: inline-block; margin: 1.0416vw 0 0; border-bottom: 1px solid; font-weight: 800; font-style: italic; font-size: 1.0416vw; font-family: 'Plus Jakarta Sans', sans-serif;}
aside ul p{ position: relative; margin: 1.5625vw 0 0; font-weight: 700; font-size: .7812vw; line-height: 2;}
aside ul p span{ position: absolute; top: -1.2vw; left: 0; color: #eb0000; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif;}
aside .more{ display: flex; padding: 5.2083vw 0 0; justify-content: center;}
aside .more span{ display: flex; width: 23.4375vw; height: 2.6041vw; border: 1px solid; border-radius: 2.6041vw; color: #fff; font-weight: 800; font-size: 1.0416vw; font-family: 'Plus Jakarta Sans', sans-serif; cursor: pointer; align-items: center; justify-content: center;}
aside .more.open{ display: none;}
aside .drop{ display: none;}
aside .drop ul{ margin: 0;}

@media screen and (max-width: 768px){
    aside{ margin: 0; padding: 9.777vw 9.777vw 0; width: 100%;}
    aside h2 span{ width: 100%; height: 8.8888vw; border-radius: 8.8888vw; font-size: 3.5555vw;}
    aside ul{ flex-direction: column; margin: 3.5555vw 0 0; padding: 0;}
    aside ul > li{ padding: 5.3333vw 0 0; width: 100%;}
    aside ul a{ display: flex; justify-content: space-between;}
    aside ul a figure{ width: 50%;}
    aside ul a .detail{ padding: 1.4222vw 0 0 3.1111vw; width: 50%;}
    aside ul time{ margin: 0; font-size: 3.5555vw;}
    aside ul p{ margin: 5.3333vw -9.777vw 0 0; font-size: 2.6666vw; line-height: 1.75;}
    aside ul p span{ top: -3.8vw;}
    aside .more{ padding: 5.3333vw 0 0;}
    aside .more span{ width: 100%; height: 8.8888vw; border-radius: 8.8888vw; font-size: 3.5555vw;}
}

aside .info{ position: relative; margin: 4.1666vw calc(50% - 50vw); width: 100vw;}
aside .info .lead1{ margin: 0 auto; width: 52.0833vw;}
aside .info .lead2{ margin: 2.8645vw auto 0; width: 52.0833vw;}
aside .info .lead3{ position: absolute; top: -8.5416vw; right: 3.125vw; width: 18.2291vw;}
aside .info .img{ position: absolute; width: 7.9166vw;}
aside .info .img9{ top: 12.3437vw; left: 4.2708vw;}
aside .info .img10{ top: -3.2291vw; left: 13.125vw;}
aside .info .img11{ top: 6.0937vw; left: 22.8125vw;}
aside .info .img12{ bottom: 3.0208vw; left: 12.0833vw;}
aside .info .img13{ top: 7.2916vw; right: 19.0104vw;}
aside .info .img14{ right: 4.2187vw; bottom: 7.0833vw;}
aside .info .img15{ right: 14.2187vw; bottom: -1.4583vw;}

@media screen and (max-width: 768px){
    aside .info{ margin: 30px calc(50% - 50vw); padding: 0 4.8885vw; width: 100vw;}
    aside .info .lead1{ width: 100%;}
    aside .info .lead2{ margin: 4.4444vw 0 0; width: 100%;}
    aside .info .lead3{ top: 17.4222vw; right: 8.7107vw; width: 22.2222vw;}
    aside .info .img{ width: 9.244vw;}
    aside .info .img9{ top: 8.7111vw; left: 4.4441vw;}
    aside .info .img10{ top: 19.7333vw; left: 12.444vw;}
    aside .info .img11{ top: auto; bottom: 10.0444vw; left: 17.7773vw;}
    aside .info .img12{ top: auto; bottom: 0.8888vw; left: 6.6662vw;}
    aside .info .img13{ top: 18.1333vw; right: auto; left: 26.844vw;}
    aside .info .img14{ top: auto; right: 6.6662vw; bottom: 1.3333vw;}
    aside .info .img15{ right: 17.5107vw; bottom: 10.0444vw;}
}

/* --------------------------------------------------
 footer
--------------------------------------------------- */
footer{ margin: 0 calc(50% - 50vw); padding: 7.2916vw 0 5.2083vw; width: 100vw; background: #003894; text-align: center;}
footer small{ display: inline-block; width: 11.9791vw;}

@media screen and (max-width: 768px){
    footer{ margin: 0; padding: 20px 0 30px; width: 100%;}
    footer small{ width: 40.622vw;}
}