@charset "utf-8";
/* CSS Document */
html { }
body { margin: 0;background-color: #7CA7B7;font-family: 'Noto Sans JP', sans-serif;}

#mainBg:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top:0; left: 0; background-image: url("../img/3.svg"); background-repeat: no-repeat; background-position: center; background-size: 10vw auto; opacity: 0;  transition: all 1s ease 0s;}
.intro #mainBg:before { opacity: 1;}

        body,html { height: 100%;}
        h2,h1,h3 { margin: 0;}
        #main { width: 100%; height: 100vh; height: 100svh; position: fixed; top:0; left: 0; transform: translateY(0%);background-color: #7CA7B7;}
.intros #main,.intros #contact { z-index: 1;}
        #s1 { width: 100%; height: 100vh; height: 100svh; position: fixed; top:0; left: 0; transform: translateY(0%); background-color: #FFF;}
#s1 .in{ width: 100%; height: 100%;}
        #s1 h1,#wihite h1 { width: 100%; height: 100%; background-image:url("../img/logo.svg"); background-repeat: no-repeat; background-position: center; background-size: 30vw auto;}
        #wihite h1 {/*background-image:url("../img/logo2.svg");*/ position: absolute; top:50%; left:50%; transform: translate(-50%,-50%); color: #FFF; font-size: 6vw; background-image: none; width: 100%; height: auto; text-align: center;}
#s1 h1 { background-image: none; width: 100%; height: auto; position: absolute; top:50%; left: 50%; transform: translate(-50%,-50%); text-align: center; font-size: 3vw; line-height: 1.8; color: #7CA7B7; display: block;}
#s1 h1 span {
    
}

#icons { width: 6vw; height: 6vw; background-image: url("../img/scroll.svg"); background-repeat: no-repeat; background-size: contain; margin: 0 auto; margin-top: 3em; transition: all .4s ease 0s;animation: arrowmove 1s ease-in-out infinite;background-position: center bottom;}
.intros #icons { width: 0; height: 0; margin-top:0; overflow: hidden;}
#icons span { display: block; text-align: center; font-size: 1vw; color: #FFF;}

#selected.flash { animation: flash 1s ease-in-out infinite; }

@keyframes arrowmove{
      0%{transform: translateY(0);}
      50%{transform: translateY(-20%);}
     100%{transform: translateY(0);}
 }

@keyframes flash {
      0%{ background-color: #C7D9E0; }
      50%{ background-color: #FFF;}
     100%{ background-color: #C7D9E0; }
 }

#selectedProducts { text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    padding: 0 1em;
    box-sizing: border-box;
}
        
        #office { width: 100%; height: 200vh; height: 200svh; position: fixed; top:0; left: 0; /*background-color: #7CA7B7;*/ display: flex; align-items: center; }
        #office img:nth-child(1) { width: 30%; height: auto; position: absolute; left: 0; }
        #office img:nth-child(2) { width: 30%; height: auto; position: absolute; right: 0; }
        
        #bule,#bule2 { width: 100%; height: 100vh; height: 100svh; background-color: #7CA7B7; position: fixed; top:0; left: 0;}
        #bule { background-color: transparent;}
        
        #s2 { width: 100%; height: 100%; color: #FFF; display: flex;justify-content: center;align-items: center; padding: 4vw; box-sizing: border-box; text-align: center;}
        #s2 .inner {}
        #s2 p { line-height: 2; font-size: 2.3vw; color: rgba(255,255,255,.8);}
        #s2 h2,#wihite h2 { font-size: 3.5vw; text-align: center; margin-bottom: .7em; line-height: 1.4;}
        #wihite h2 {
            position: absolute; top:30%; left: 50%; transform: translate(-50%,0%); width: 100%;color: #7CA7B7;
        }
#wihite h2 span,#wihite h3 span,#s2 .inner p span,#wihite p span.span { display: block; font-size: 1.3vw; color: #FDD642; margin-bottom: .7em;}
        #wihite h3 {
            position: absolute; top:30%; left: 50%; transform: translate(-50%,0%); width: 100%;
            font-size: 2.5vw; text-align: center;color: #7CA7B7; line-height: 1.5;
        }

.photo { font-size: 10px; position: absolute; bottom: 10px; left: 10px; color: #FFF; z-index: 2; opacity: 0; transition: all 1s ease 0s;}
.photos {font-size: 10px;}
.intros .photo { opacity: 1;transition: all 1s ease 1s;}
.intro .photo { opacity: 0;}

@media (orientation: portrait) and (min-width:768px) {
    #wihite h2,#wihite h3 {top:50%;  }
}

#wihite p { color: #FFF; line-height: 1.6; font-weight:bold;
    text-align: center;
    position: fixed;
    top: 50%;
    width: 100%;
    font-size: 2.5vw; transform: translate(0%,-50%);}
#s2 h2 { position: fixed; top:50%; left: 50%; transform: translate(-50%,-50%); width: 100%; text-align: center;}
#s2 h2+.p {position: fixed; top:50%; left: 50%; transform: translate(-50%,-50%); width: 100%; text-align: center; font-weight: bold;}
#s2 h2+.p+.p {position: fixed; top:50%; left: 50%; transform: translate(-50%,-50%); width: 100%; text-align: center; font-weight: bold;}
        
        #wihite { width: 50%; height: 100%; /*background-color: #FFF;*/ position: fixed; top:0; right:0;}
        
        #s3 { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; padding: 6vw; box-sizing: border-box;}
        #s3 p { font-size: 1.5vw; line-height: 1.8;}
        
        #quiz { background-color: #FFF; width: 100%; position: fixed; bottom: 0; left: 0; padding: 4vw 0vw 0vw 0vw; box-sizing: border-box; border-top-left-radius: 2vw; border-top-right-radius: 2vw; transform: translateY(120%); text-align: center;
            transition: all .5s ease .2s; font-size: 1vw; box-shadow: 0 -1vw 2vw rgba(0,0,0,.1);
        }
        .quiz #quiz  { transform: translateY(0);}
#quiz h3 ,#quiz p { font-size:2vw; margin-bottom: .7em; }
#quiz .inner { margin-top: 3em; background-color: #E8EFF2; padding: 4vw;}
#quiz .inner label { display: inline-block; padding: 1em 2em; border: 2px solid #7CA7B7; box-sizing: border-box; border-radius: 2vw; margin: 0 .5em; cursor: pointer; position: relative; height: 4vw; width: 16vw; overflow: hidden;}

#quiz .inner label input { opacity: 0;}
#quiz .inner label input + div { height: 100%; width: 100%; position: absolute; top:0; left: 0; line-height: 4vw;color: #7CA7B7; font-weight: bold; background-color: #FFF;}
#quiz .inner label input:checked + div { background-color: #7CA7B7; color: #FFF; }
#quiz .inner label.bad input:checked + div { background-color: #FD1755;}
#quiz h1 {  width: 100%; top:0; line-height: 1; left: 0; z-index: 1; font-size: 3vw!important; margin-bottom: 1em!important;}

        
        #fixed { width: 100%; height: 50px; position: fixed; top:0; left: 0; background-color: #EDF3F5; transform: translateY(-120%);transition: all .5s ease 0s; display: flex;justify-content: center; align-items: center;}
        .fixed #fixed { transform: translateY(0%);}

#fixed span { display: inline-block; background-color: #FDD642; border-radius: .3em; text-align: center; color: #000; font-weight: bold; margin-right: 1em; padding: .7em 2em; font-size: 70%;}
        
        .image { display: flex; position: absolute; bottom:0; left: 0; width: 170%;}
        .image div { width: 25%;}
        .image div img { width: 100%; height: auto;}
        
        /*紙吹雪*/
        .container {
	position:fixed; top:0; left: 0;
	width: 100%; height: 100%;
	overflow: hidden;
	/* for text	 */
	display: flex;
	justify-content: center;
	align-items: center;
}
.intros .container { z-index: 1!important;}


.confetti {
	position: absolute;
	width: 100%;
	height: 100%;
}

.confetti span {
	position: absolute;
	top: -10%;
	left: 0;
	width: 1.5vw;
	height: 1vw;
	background: #FFF;
}

/* add animation */
.confetti span:nth-child(2n+1) {
	animation: confetti-anim-1 10s 0s linear infinite;
}

.confetti span:nth-child(2n+2) {
	animation: confetti-anim-2 10s 0s linear infinite;
}

/* side position */
.confetti span:nth-child(1) {
	left: 0%;
}

.confetti span:nth-child(2) {
	left: 2%;
}

.confetti span:nth-child(3) {
	left: 4%;
}

.confetti span:nth-child(4) {
	left: 6%;
}

.confetti span:nth-child(5) {
	left: 8%;
}

.confetti span:nth-child(6) {
	left: 10%;
}

.confetti span:nth-child(7) {
	left: 12%;
}

.confetti span:nth-child(8) {
	left: 14%;
}

.confetti span:nth-child(9) {
	left: 16%;
}

.confetti span:nth-child(10) {
	left: 18%;
}

.confetti span:nth-child(11) {
	left: 20%;
}

.confetti span:nth-child(12) {
	left: 22%;
}

.confetti span:nth-child(13) {
	left: 24%;
}

.confetti span:nth-child(14) {
	left: 26%;
}

.confetti span:nth-child(15) {
	left: 28%;
}

.confetti span:nth-child(16) {
	left: 30%;
}

.confetti span:nth-child(17) {
	left: 32%;
}

.confetti span:nth-child(18) {
	left: 34%;
}

.confetti span:nth-child(19) {
	left: 36%;
}

.confetti span:nth-child(20) {
	left: 38%;
}

.confetti span:nth-child(21) {
	left: 40%;
}

.confetti span:nth-child(22) {
	left: 42%;
}

.confetti span:nth-child(23) {
	left: 44%;
}

.confetti span:nth-child(24) {
	left: 46%;
}

.confetti span:nth-child(25) {
	left: 48%;
}

.confetti span:nth-child(26) {
	left: 50%;
}

.confetti span:nth-child(27) {
	left: 52%;
}

.confetti span:nth-child(28) {
	left: 54%;
}

.confetti span:nth-child(29) {
	left: 56%;
}

.confetti span:nth-child(30) {
	left: 58%;
}

.confetti span:nth-child(31) {
	left: 60%;
}

.confetti span:nth-child(32) {
	left: 62%;
}

.confetti span:nth-child(33) {
	left: 64%;
}

.confetti span:nth-child(34) {
	left: 66%;
}

.confetti span:nth-child(35) {
	left: 68%;
}

.confetti span:nth-child(36) {
	left: 70%;
}

.confetti span:nth-child(37) {
	left: 72%;
}

.confetti span:nth-child(38) {
	left: 74%;
}

.confetti span:nth-child(39) {
	left: 76%;
}

.confetti span:nth-child(40) {
	left: 78%;
}

.confetti span:nth-child(41) {
	left: 80%;
}

.confetti span:nth-child(42) {
	left: 82%;
}

.confetti span:nth-child(43) {
	left: 84%;
}

.confetti span:nth-child(44) {
	left: 86%;
}

.confetti span:nth-child(45) {
	left: 88%;
}

.confetti span:nth-child(46) {
	left: 90%;
}

.confetti span:nth-child(47) {
	left: 92%;
}

.confetti span:nth-child(48) {
	left: 94%;
}

.confetti span:nth-child(49) {
	left: 96%;
}

.confetti span:nth-child(50) {
	left: 98%;
}

/* colors */
.confetti span:nth-child(5n+1) {
	background: #F44235;
}

.confetti span:nth-child(5n+2) {
	background: #3E50B5;
}

.confetti span:nth-child(5n+3) {
	background: #4BAF4F;
}

.confetti span:nth-child(5n+4) {
	background: #E81E62;
}

.confetti span:nth-child(5n+5) {
	background: #FEEA3B;
}


/* animation-duration */
.confetti span:nth-child(4n+1) {
	animation-duration: 5s;
}

.confetti span:nth-child(4n+2) {
	animation-duration: 12s;
}

.confetti span:nth-child(4n+3) {
	animation-duration: 8s;
}

.confetti span:nth-child(4n+4) {
	animation-duration: 6s;
}


/* animation-delay */
.confetti span:nth-child(11n+1) {
	animation-delay: 0s;
}

.confetti span:nth-child(11n+2) {
	animation-delay: 9s;
}

.confetti span:nth-child(11n+3) {
	animation-delay: 2s;
}

.confetti span:nth-child(11n+4) {
	animation-delay: 5s;
}

.confetti span:nth-child(11n+5) {
	animation-delay: 6s;
}

.confetti span:nth-child(11n+6) {
	animation-delay: 7s;
}

.confetti span:nth-child(11n+7) {
	animation-delay: 3s;
}

.confetti span:nth-child(11n+8) {
	animation-delay: 1s;
}

.confetti span:nth-child(11n+9) {
	animation-delay: 2s;
}

.confetti span:nth-child(11n+10) {
	animation-delay: 11s;
}

.confetti span:nth-child(11n+11) {
	animation-delay: 10s;
}

/* animation */

@keyframes confetti-anim-1 {
	0% {
		top: -10%;
		transform: translateX(0) rotateX(0) rotateY(0);
	}

	100% {
		top: 100%;
		transform: translateX(20vw) rotateX(180deg) rotateY(360deg);
	}
}

@keyframes confetti-anim-2 {
	0% {
		top: -10%;
		transform: translateX(0) rotateX(0) rotateY(0);
	}

	100% {
		top: 100%;
		transform: translateX(-20vw) rotateX(180deg) rotateY(360deg);
	}
}

/* text */
.container p {
	position: absolute;
	font-size: 36px;
	font-weight: bold;
	color: #FFF;
}
        
        #left { width: 200vw; height: 10vw; background-color: #fff; position: fixed; top:0; left: 0;  transform-origin: 0 100%; opacity: 0;}
        #right { width: 200vw; height: 10vw; background-color: #fff; position: fixed; bottom:0; right: 0;  transform-origin: 100% 0%; opacity: 0;}
        
        #progress { width: 100%; padding: 2vw; box-sizing: border-box; position:fixed; bottom: 0; left: 0;}
        #progress p { width: 100%; height: 5px; background-color: #eee; border-radius: 5px; overflow: hidden;}
        #progress p span { display: block; width: 100%; height: 100%; background-color: #FDD642; transform-origin: 0 50%; transform: scaleX(0);}
        
        #mains { position: fixed; width: 100%; top:50%; left: 0; transform: translateY(-50%); text-align: center; color: #FFF;}
.intros #mains { z-index: 2!important;}
        #mains h1,#quiz h1 { font-size: 8.5vw; margin-bottom: .2em;color: #FDD642;font-family: 'Murecho', sans-serif;font-weight: 600;}
#quiz h1 { color: #FDD642;}
        #mains h1+p { font-size: 1.5vw; line-height: 1.5;}
#mains h1 span { font-size: 20%; display: block; font-weight: normal;font-family: 'Noto Sans JP', sans-serif;}

.intros #mainBg { background-color: #7CA7B7; width: 100%; height: 100%; position: fixed; top:0; left: 0; z-index: 1; opacity: 0;}
.intro #mainBg {  opacity: 1;}
#mainBg { transition: all 1s ease 0s;}

/*#mains em { width: 12vw; height: 12vw; margin: 0 auto; background-image: url("../img/3.svg"); background-repeat: no-repeat; background-size: contain; display: block; margin-bottom: .3em;}*/

        
        #dropdown-list { position: absolute; top:4vw; left: 0; background-color: #C7D9E0; width: 100%; border-bottom-left-radius: .3em; border-bottom-right-radius: .3em; height: 20vh; overflow: auto;transition: background-color .4s ease 0s;
  display: none;
  list-style-type: none;
  padding: 0;
}
.open #dropdown-list { background-color: #FFF;} 

#dropdown-list li { padding: 1em; color: #666;
  display: flex;
  align-items: center;
  cursor: pointer;justify-content: space-between; transition: background-color .4s ease 0s;
}

#dropdown-list li figure {
  width: 5vw;
  height: 5vw;
  margin-right: .5em; border-radius: .3em; overflow: hidden;
}
#dropdown-list li figure img { width: 100%;height: 100%; object-fit: cover; object-position: center;}
#dropdown-list li div { width: calc( 100% - 7vw ); text-align: left; color: #000; line-height: 1.6; font-size: 90%;}
#dropdown-list li div span { display: block; width: 4em; height: 1.4em; line-height: 1.4em; background-color: #FDD642; border-radius: .7em; text-align: center; margin-bottom: .3em; color: #000; font-weight: bold;}
#dropdown-list li:hover { background-color: #eee;}

#selected { padding: 0 2em;
  cursor: pointer; background-color: #C7D9E0; color: #666; height: 4vw; border-radius: .3em; line-height: 4vw; position: relative; color: #000;  transition: background-color .4s ease 0s;
 overflow: hidden; display: block;
text-overflow: ellipsis;
    white-space: nowrap;
}
.open #selected {border-bottom-left-radius: 0em; border-bottom-right-radius: 0em; background-color: #FFF;}
#selected:hover { background-color: #FFF;}
#selected span { width: calc( 100% - 0em );}

#selected:after { content: ""; display: block; width: 4vw; height: 4vw; background-image: url("../img/arrow_drop_down_FILL0_wght400_GRAD0_opsz48.svg"); background-position: center; background-size: 2.5vw auto; background-repeat: no-repeat; position: absolute; top:0; right:0; }
.open #selected:after { transform: rotate(180deg);}

.pulldown { width: 30vw; margin: 4vw auto 0 auto; position: relative; font-size: 1.2vw; z-index: 1; border: 1vw solid rgba(255,255,255,.2); border-radius: .3em;}
.open .pulldown { border: 1vw solid rgba(255,255,255,0);}

header { height: 60px; width: 100%; transition: all 1s ease 1s;}
.intro header { opacity: 0;}
header h1 { text-indent: -9999px; height: 100%; width: 200px; background-image: url("../img/logo2.svg"); background-repeat: no-repeat; background-size: auto 13px; background-position: left 20px center;}

header #h1 { width: 7vw; height: 7vw; background-image: url("../img/3.svg"); background-repeat: no-repeat; background-size: contain; display: block; margin-bottom:0; position: absolute; top:23.5px; right: 10px; background-position: center; }


a#contact { display: inline-block; /*height: 60px;*/ position: fixed; right: 10px; bottom:10px; color: #FFF; text-decoration: none; transition: all 1s ease 1s;
 /*line-height: 60px;*/ padding: 0 0px; font-size: 10px; display: none;}
.intros a#contact { display: inline-block;} 
a#contact:hover { text-decoration: underline;}

.intro a#contact { opacity: 0;}

::-webkit-scrollbar { background-color:transparent;width:5px;}
::-webkit-scrollbar-thumb { background-color:rgba(0,0,0,.2);}

html {
scrollbar-color: rgba(0,0,0,.2) transparent;
scrollbar-width: thin;
}


#wrap { transition: all 0s ease 0s;}
.intro #wrap {   }
.intro #mains h1 em { opacity: 0; transform: translateY(20%);}
.intro #mains h1 span { opacity: 0; transform: translateY(100%);}
.intro #mains h1 p { opacity: 0; transform: translateY(20%);}
.intro #mains h1+p { opacity: 0; transform: translateY(20%);}
.intro .pulldown { opacity: 0; transform: translateY(20%);}
.intro #detail { opacity: 0; transform: translateY(20%);}

#mains h1 em { transition: all 1s ease .2s;}
#mains h1 span { transition: all 1s ease .4s;}
#mains h1 p { transition: all 1s ease .6s;}
#mains h1+p { transition: all 1s ease .8s;}
.pulldown { transition: all 1s ease 1s;}
#detail { transition: all 1s ease 1.2s;}


.sp { display: none;}


#white2 { width: 100%; height: 100%; background-color: #FFF; position: fixed; top:0; left: 0; opacity: 0;}
#white2 h1 { width: 100%; text-align: center; position: absolute; top:50%; left: 0; transform: translate(0,-50%); color: #7CA7B7; font-size: 6vw; opacity: 0;}
#white2 h1 p { display: inline-block; vertical-align:top; position: relative; }
#white2 h1 p span { display: block; position: absolute; top:0; left: 0; }
#white2 h1 p:nth-child(2) em { opacity: 0; }
#white2 h1 span.sub { display: block; font-size: 40%; font-weight: normal; margin-top: .7em;}

#products { display: flex; justify-content: center;  width: 100%; padding-top: 2vw;}
#products li { width: 11vw; font-size: 1vw; margin: 0 .7vw;}
#products figure { height: 11vw; width: 11vw; border-radius: .3em; background-color: #eee; overflow: hidden; margin-bottom: 1em;}
#products li h2 { margin-bottom: .7em; line-height: 1.5;}
#products figure img { width: 100%; height: 100%; object-fit: cover; object-position: center;}
#products li h2 span { display: block; background-color: #FDD642; padding: .3em; border-radius: .3em; color: #000; margin-bottom: .4em;}
#products li h2 span em { font-style: normal; font-size: 60%; font-weight: normal; border-left: 1px solid rgba(0,0,0,.2); padding-left: 1em; margin-left: 1em; }



@media screen and (max-width:767px){ 
    
    #mainBg:before { background-size: 30vw auto;}
    
    #white2 h1 { font-size: 8vw;}
    
    #icons span { font-size: 2vw;}
    
    #products { padding-top: 6vw;}
    #products li {
    width: 26vw;
    font-size: 3vw;
    margin: 0 1.4vw;
}
    #products figure { height: 26vw; width: 26vw;}
    #products li h2 { }
    
    .sp { display: block;}
    #office img:nth-child(1) { width: 50%;}
    #office img:nth-child(2) { width: 50%;}
    .wrap > * { transition: all .4s ease 0s;}
    #scrollbar {
    position: fixed;
    right: 2px;
    height: 50px;
    width: 3px;
    background: rgba(0,0,0,.4);
    z-index: 300;
    border-radius: 1.5px;
}
    
    #s2 { align-items: start;}
    #s2 .inner { position: absolute; top: 15vh; }
    
    #mains h1 { font-size: 16.5vw; }
    #mains h1+p { font-size: 3.5vw;}
    .pulldown { width: 70vw; font-size: 3vw; margin: 8vw auto 4vw auto;}
    .pulldown { border: 0vw solid rgba(255,255,255,.2);}
.open .pulldown { border: 0vw solid rgba(255,255,255,0);}
    
    
    
    #selected {
 height: 12vw;line-height: 12vw; padding-right:3em; 
}
    
    #selected:after {  width: 12vw; height: 12vw;  background-size: 8vw auto; }
    
    #dropdown-list { top:12vw;  height: 20vh; 
}

    #quiz h1 {
        font-size: 5vw!important;
    margin-bottom: 1.5em!important;
    }
    
    
#dropdown-list li figure {
  width: 10vw;
  height: 10vw;
}
    #s1 h1, #wihite h1 {
    background-size: 60vw auto;
}
    #s2 h2, #wihite h2 {
    font-size: 4vw;
}
    #s2 p {
    font-size: 4vw;
}
   
    .image div {
    width: 100%;
}
    .image div:nth-child(2n){ display: none;}
    #wihite h2 { top:40%;}
    #wihite h3 { top:40%;font-size: 4vw;}
    #wihite p { font-size: 4vw; line-height: 1.8;}
}

#check svg { stroke-dashoffset: 1000; stroke-dasharray: 1000;  width: 50%; height: 50%;}
.finish #check svg { animation: finish 2s linear .4s;}

#bad svg {   width: 50%; height: 50%;}
.finish #bad svg { animation: finish 2s linear .4s;}

#check { width: 10vw; height: 10vw; border-radius: 50%; position: fixed; top:50%; left: 50%; display: flex;justify-content: center;align-items: center; transform: translate(-50%,-50%) scale(0); background-color: #89C246; opacity: 0;}
.finish #check {animation: finish2 2s linear 0s;}

#bad { width: 10vw; height: 10vw; border-radius: 50%; position: fixed; top:50%; left: 50%; display: flex;justify-content: center;align-items: center; transform: translate(-50%,-50%) scale(0); background-color: #FD1755; opacity: 0;}
.bads #bad {animation: finish2 2s linear 0s;}

.inners { height: 100%; background-color: #FFF; position: absolute; bottom: 0; left: 0; width: 100%;display: flex;justify-content: center;align-items: center;
border-top-left-radius: 2vw;
    border-top-right-radius: 2vw; transform: translateY(100%); transition: all .4s ease .4s;}
.finish .inners { transform: translateY(0%); }
.finish .inners a { display: inline-block; padding: 0em; border-radius: 2vw; line-height: 4vw; background-color: #89C246; color: #FFF; text-decoration: none; height: 4vw;
    width: 16vw;}
.finish #quiz .inners p { margin-bottom: 2em; font-size: 1.5vw;}

@keyframes finish{
  0% {
    stroke-dashoffset: 1000;
  }
    20% {
    stroke-dashoffset: 0; 
  }
    80% {
    stroke-dashoffset: 0;
  }

  100% {
    stroke-dashoffset: 1000;
  }
}

@keyframes finish2{
  0% {
    transform: translate(-50%,-50%) scale(.5); z-index: -1; opacity: 0;
  }
    20% {
    transform: translate(-50%,-50%) scale(1);z-index: 0; opacity: 1;
  }
    
     80% {
    transform: translate(-50%,-50%) scale(1); opacity: 1;z-index: 0;
  }

95% {
    transform: translate(-50%,-50%) scale(.5); opacity: 0;z-index: 0;
  }
  100% {
    transform: translate(-50%,-50%) scale(.5);z-index: -1; opacity: 0;
  }
}

@media screen and (max-width:767px){ 
    #quiz h1 { font-size: 14vw;} 
    #quiz {
        padding: 6vw 0vw 0vw 0vw;
    }
    #quiz h3, #quiz p {
    font-size: 3.5vw;
    margin-bottom: 2em;
}
    #quiz .inner label {
    border-radius: 4vw;
    height: 8vw;
    width: 28vw;
}
    #quiz .inner label input + div {
    line-height: 7vw; font-size: 2.5vw;
}
    .finish .inners a { font-size: 2.5vw;
    border-radius: 4vw;
    line-height: 8vw;
    height: 8vw;
    width: 32vw;
}
    .finish #quiz .inners h3 { font-size: 6vw; margin-bottom: .7em}
    .finish #quiz .inners p { font-size: 3vw;}
    
    #check { width: 20vw; height: 20vw;}


#bad { width: 20vw; height: 20vw;}
    
    #left { height: 30vw;}
        #right {  height: 30vw;}
    #s1 h1 { font-size: 4vw;}

    #icons { width: 12vw; height: 12vw; }
    #wihite h2 span,#wihite h3 span,#s2 .inner p span,#wihite p span.span { font-size: 2.8vw; }
}

#overlay { width: 100%; height: 100%; position: fixed; top:0; left: 0; background-color: rgba(0,0,0,0.67); opacity: 0; z-index: -1;transition: opacity .5s ease 0s,transform .5s ease 0s;}

#modal { background-color: #FFF; border-radius: .3em; position: fixed; top:50%; left: 50%; transform: translate(-50%,-40%); width: 80%; height:80vh; max-width: 800px; z-index: 3; opacity: 0; z-index: -1; transition: opacity .5s ease 0s,transform .5s ease 0s; }

.modalOpen #modal,.modalOpen #overlay { opacity: 1; z-index: 3;}
.modalOpen #modal {transform: translate(-50%,-50%);}

#modal .modal { padding: 40px; overflow: auto; height: 100%; box-sizing: border-box; line-height: 1.8; font-size: 80%;}
#modal .modal h2 { font-size: 200%; margin-bottom: .3em;}
#modal .modal h2+p { margin-bottom: 3em;}
#modal .modal ul li { margin-bottom: 3em;}
#modal .modal ul li figure img { width: 100%; height: auto; border-radius: .3em;}
#modal .modal ul li { display: flex;justify-content: space-between;}
#modal .modal ul li figure { width: 15%;}
#modal .modal ul li div { width: 80%; }
#modal .modal ul li div h3 { margin-bottom: .7em; font-size: 140%;}
#modal .modal ul li div p { }
#modal .modal ul li div p.idt { margin-left: 1em; text-indent: -1em;}
#modal .modal ul li div.inn { width: auto; padding-left: 1em; margin-bottom: 2em;}

#detail { font-size: 1vw; margin-top: 1em; cursor: pointer; display: inline-block; background-image: url("../img/arrow.svg"); background-repeat: no-repeat; background-position: right center; background-size: 1em; padding-right: 1.5em;}
#detail:hover { opacity: .5;}
#close { width: 60px; height: 60px; position: absolute; top:0; right:0; cursor: pointer; background-image: url("../img/close.svg"); background-repeat: no-repeat; background-repeat: no-repeat; background-size: 20px; background-position: center;}

@media screen and (max-width:767px){ 
    #detail { font-size: 3vw;}
    #modal .modal { padding: 20px; }
    #modal { width: 90%; height:90vh; }
    #s2 h2+.p+.p { /*text-align: left;*/ padding: 0 1vw; box-sizing: border-box;/*top: 35%;*/ letter-spacing: -.01em;}
    #s2 h2+.p+.p br { /*display: none;*/}
    
    #modal .modal ul li { flex-direction: column;}
    #modal .modal ul li figure { width: auto; margin-bottom: 1em;}
    #modal .modal ul li div { width: auto;}
    #modal .modal h2+p { margin-bottom: 2em;}
}

@media (min-aspect-ratio: 16/9) {
.image div img {
    width: 90%;
}
.image div {
    text-align: center;
}
#mains h1 { font-size: 8vw; }
#mains h1+p {
    font-size: 1.3vw;
}
.pulldown { font-size: 1vw;}
#selected {
    
    height: 3vw;
    line-height: 3vw;
    
}
#selected:after {
    width: 3vw;
    height: 3vw;
    background-size: 2vw auto;
}
#dropdown-list {
    top: 3vw;
}

}
#overs { width: 100%; height: 100%; position: fixed; top:0; left: 0; background-color: rgba(0,0,0,0); z-index: 99;}
#final { width: 80%; max-width: 600px; height: 80%; background-color: #FFF; border-radius: .4em; position: fixed; top:50%; left: 50%; transform:translate(-50%,-50%); z-index: 99; padding: 40px; font-size: 100%; box-sizing: border-box; line-height: 1.8; overflow: auto;}
#final h2 { font-size: 180%; text-align: center; margin-bottom: .7em;}
#final .sec { margin-bottom: 1.5em;}
#final h3 { margin-bottom: .7em; font-size: 110%;}
#final p:before { content: ""; display: inline-block; width: 1em; height: 4px; background-color: #7CA7B7; vertical-align: middle; margin-right: .5em;}
#final p.read:before { display: none;}
#final p.read { text-align: center; margin-bottom: 2em;}
#final p { color: #333;}

@media (orientation: portrait) and (max-width:767px){ 
    #mains h1 em { display: block; width: 30vw; height: 30vw; margin: 0 auto; margin-bottom: .4em; background-image: url("../img/3.svg"); background-repeat: no-repeat; background-size: contain; background-position: center;}
header #h1 { opacity: 0;}
}

@media (orientation: landscape) and (max-width:767px){ 
    
    #mainBg:before { background-size: 15vw auto;}
    
    #detail {
    font-size: 1.5vw;
}
    
    .pulldown {
    width: 40vw;
    font-size: 1.5vw;
        margin: 4vw auto 2vw auto;
}
    #selected {
    height: 5vw;
    line-height: 5vw;
}
    #selected:after {
    width: 5vw;
    height: 5vw;
    background-size: 3vw auto;
}
    #dropdown-list {
    top: 5vw;
}
    #dropdown-list li div {
    width: calc( 100% - 12vw );
}
    #mains h1+p {
    font-size: 1.8vw;
}
    #icons {
    width: 7vw;
    height: 8vw;
}
    #icons span {
    font-size: 1vw;
}
}


@media (orientation: portrait) and (max-width:767px) and  (min-aspect-ratio: 10/16){ 
    #detail {
    font-size: 1.5vw;
}
    .pulldown {
    width: 40vw;
    font-size: 1.5vw;
        margin: 4vw auto 2vw auto;
}
    #selected {
    height: 5vw;
    line-height: 5vw;
}
    #selected:after {
    width: 5vw;
    height: 5vw;
    background-size: 3vw auto;
}
    #dropdown-list {
    top: 5vw;
}
    #dropdown-list li div {
    width: calc( 100% - 12vw );
}
    #mains h1+p {
    font-size: 1.8vw;
}
    #icons {
    width: 7vw;
    height: 8vw;
}
    #icons span {
    font-size: 1vw;
}
    #mains h1 em { display: none;}
    header #h1 { opacity: 1;}
}

@media (min-aspect-ratio: 20/9) {
    #mains h1 {
    font-size: 5vw;
}
    #mains h1+p {
    font-size: .7vw;
}
    #detail {
    font-size: .5vw;
    }
    .pulldown {
    font-size: .6vw;
            margin: 2vw auto 0 auto;
}
    #selected {
    height: 2vw;
    line-height: 2vw;
}
    #selected:after {
    width: 2vw;
    height: 2vw;
    background-size: 1vw auto;
}
    #dropdown-list {
    top: 2vw;
}
    #icons {
    width: 3vw;
    height: 3.5vw;
    }
    #icons span {
    font-size: .5vw;
}
}

@media (min-aspect-ratio: 20/10) and (max-width:812px) {
    #mains h1 {
    font-size: 5vw;
}
    #mains h1+p {
    font-size: .7vw;
}
    #detail {
    font-size: .5vw;
    }
    .pulldown {
    font-size: .6vw;
            margin: 2vw auto 0 auto;
}
    #selected {
    height: 2vw;
    line-height: 2vw;
}
    #selected:after {
    width: 2vw;
    height: 2vw;
    background-size: 1vw auto;
}
    #dropdown-list {
    top: 2vw;
}
    #icons {
    width: 3vw;
    height: 3.5vw;
    }
    #icons span {
    font-size: .5vw;
}
}

@media (orientation: landscape) and (max-width:767px) and (max-aspect-ratio: 16 / 9){ 
#mains h1 {
    font-size: 12.5vw;
}
}

