@charset "utf-8";
/* CSS Document */

/* =======================================
	2023.04  No.196
    p03/ スウェーデンハウス紀行
======================================= */

/*---Text---*/

p,
ul li{
  font-size:17px;
  line-height:32px;
  margin-bottom:1em;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight:500;
    letter-spacing:0.1em;
}

span{
    display: inline-block;
    letter-spacing:0;
}

h3,h4,h5,h6{
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight:700;
}

span.anno{
    display:inline-block;
    font-size:13px;
    line-height:22px;
   font-family: 'Zen Maru Gothic', sans-serif;
   font-weight:500; 
}

div.moose,
div.swedi,
div.mulle,
div.tomoku{
    width:52%;
    position:relative;
    z-index:2;
}

div.moose img{
    position:absolute;
    width:32%;
}

div.swedi img{
    position:absolute;
    width:28%;
}

div.moose p,
div.swedi p{
    background:#FFF;
    border-radius:50px;
    line-height:1.8em;
    text-align: center;
    padding:2em;
    transition:2s;
}

div.moose p{
    color:#009AAA;
}

div.swedi p{
    color:#EE7800;
}

a.btn_map{
    display:block;
    border:dashed 1px #009AAA;
    color:#009AAA;
    border-radius:30px;
    padding:0.6em 0;
    text-align:center;
    font-weight:bold;
    font-size:0.9em;
    line-height:1.2em;
    margin:1.5em auto;
    transition:1s;
}

a.btn_map span{
    font-size:0.8em;
}

a.btn_map:hover{
    color:#FFF;
    background:#009AAA;
    text-decoration: none;
}

.column h3{
    font-size:2.5em;
    text-align: center;
    line-height: 1em;
    letter-spacing:0.1em;
    margin:0 auto;
    padding:0;
}

h4{
    z-index:2;
}
h5{
    z-index:3;
}

.column h5,
.column h6{
    font-size:20px;
    line-height:1.5em;
}

span.txt-ll{
    font-size:1.8em;
    letter-spacing:0.1em;
    line-height:1.5em;
}

span.ja{
    font-family:
    "Hiragino Kaku Gothic ProN","Hiragino Sans",
    Meiryo,sans-serif;
    font-size:1em!important;
}

span.txt-s{
    letter-spacing:0.1em;
}


/* =======================================
	PC
======================================= */

/*---Layout---*/

div.pageNavi{
    display:block;
}

#mainArea{
    background:#F7F1E3;
    padding-bottom:2em;
    overflow-x: hidden;
}

.contArea{
    width:88%;
    max-width:1200px;
    min-width:850px;
    margin:0 auto;
}

div.videoArea{
    width:80%;
}

.titleArea{
    width:90%;
    padding:3em 0;
    margin:0 auto 5em;
}

.titleArea h2{
    width:84%;
    margin:0 auto 1.5em;
    background:url("../../../assets/images/parts/tec/tec_title.png") no-repeat;
    background-size:100% auto;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
}

.titleArea h2 img{
    opacity:1;
    animation-fill-mode: forwards;
}

h3{
    width:90%;
    margin:0 auto 3em;
}

h2 img,
h3 img{
    width:100%;
}

.titleArea p{
    text-align: center;
    margin:0 auto;
    animation-duration: 3s;
}

.tgt{
    width:90%;
    margin:0 auto 1em;
    position:relative;
}

div.conv{
    margin:0 auto 3em;
    position:relative;
}

div.step{
    margin:0 auto 5em;
    position:relative;
    animation-delay: 1s;
}

div.step h4,
div.step h5{
    width:100%;
    font-size:25px;
    margin-bottom:0.8em;
}

div.step h6{
    width:100%;
    font-size:18px;
    margin-bottom:0.8em;
}


div.step p{
    width:100%;
    margin:0 auto;
    line-height:1.6em;
}

div.column{
    background:#CEE4E3;
    border-radius:40px;
    padding:2.5em 0 1em;
}

div.column.nobg{
    background:none;
    border-radius:none;
    padding:2.5em 0 2em;
}

div.column h5{
    width:88%;
    font-size:22px;
    line-height:1.5em;
    letter-spacing:0.1em;
    text-align: center;
    border-bottom:solid 1px #000;
    padding-bottom:0.5em;
    margin:0 auto 0.5em;
}

div.column.nobg h5{
    width:88%;
    font-size:28px;
    line-height:1.5em;
    letter-spacing:0.1em;
    text-align: center;
    border-bottom:solid 2px #008E00;
    padding-bottom:0.5em;
    margin:0 auto 0.5em;
}

div.column hr{
    width:88%;
    height:0;
    padding:0;
    margin:0 auto 1.5em;
	border-top: 1px solid #000;
}

div.column ul{
    width:88%;
    margin:0 auto;
    padding-top:2em;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
    justify-content: space-between;
	gap: 1.5%;
}

div.column ul li{
    width:28%;
    position:relative;
    margin:0 auto 1.5em;
}

div.column ul li img{
    width:25%;
    display:inline-block;
    margin-right:0.2em;
    vertical-align: middle;
}

div.column ul li:nth-child(2) > img{
    animation-delay: 0.5s;
}
div.column ul li:nth-child(3) > img{
    animation-delay: 1s;
}
div.column ul li:nth-child(4) > img{
    animation-delay: 1.1s;
}
div.column ul li:nth-child(5) > img{
    animation-delay: 1.5s;
}
div.column ul li:nth-child(6) > img{
    animation-delay: 1.8s;
}

div.column ul li:nth-child(2){
    animation-delay: 0.5s;
}
div.column ul li:nth-child(3){
    animation-delay: 1s;
}
div.column ul li:nth-child(4){
    animation-delay: 1.1s;
}
div.column ul li:nth-child(5){
    animation-delay: 1.5s;
}
div.column ul li:nth-child(6){
    animation-delay: 1.8s;
}

div.column ul li h6{
    width:72%;
    font-size:19px;
    letter-spacing: 0.1em;
    display:inline-block;
    vertical-align: middle;
}

div.column p{
    width:88%;
    margin:0 auto 1.5em;
    letter-spacing:0.5px;
}

div.column ul li p{
    width:100%;
}

div.ill{
    position:relative;
}

div.ill img{
    width:100%;
}

div.ill .anime{
    width:100%;
    height:auto;
    position:absolute;
    left:0;
    top:0;
}

/*cont1*/
#cont1-1{
    position:relative;
    padding:0;
}

#cont1-1 div#ill_main{
    width:80%;
    margin:-12% auto 0;
    position:relative;
    z-index:2;
}

#cont1-1 div#ill_main2{
    width:50%;
    margin:-3.5em 0 0 35%;
    position:relative;
    z-index:2;
}
#cont1-1 div.moose#mse01{
    width:60%;
    left:0;
    top:0;
    z-index:1;
}
#cont1-1 div.moose#mse01 p{
    padding:2em 0;
}

#cont1-1 div.swedi#swd01{
    width:40%;
    margin-top:-7em;
    margin-left:40%;
}
#cont1-1 div.moose#mse02{
    margin-top:-2em;
}
#cont1-1 div.moose#mse02 img{
    position:absolute;
    right:-25%;
    bottom:4em;
}
#cont1-1 div.swedi#swd02{
    width:40%;
    margin-top:-13em;
    margin-left:10%;
    z-index:1;
}

#cont1-1 div.swedi#swd02 p{
    padding:50px 0;
}
#cont1-1 div.moose#mse03{
    width:42%;
    float:right;
    margin-top:12em;
    position:relative;
}
#cont1-1 div.moose#mse03 p{
    position:relative;
    width:100%;
    left:-30%;
    top:0;
}
#cont1-1 div.moose#mse03 span.anno{
    width:83%;
    text-align: left;
    color:#000;
    margin:1.5em auto;
}
div.moose#mse03 img{
    /*width:40%;
    position:absolute;
    left:0;
    bottom:-6.5em;*/
    position:relative;
    width:40%;
    margin-left:10%;
    margin-top:-3em;
    z-index:5;
}
#cont1-1 div#ill01{
    width:50%;
    margin:2em 0 0;
    position:relative;
    z-index:3;
}

#cont1-1 div#ill01 img.fadeInOut{
    animation: fadeInOut 8s ease-in-out infinite;
}

#cont1-1 div#ill01 img.fadeInOut.o2{
    animation: fadeInOut 8s 4s ease-in-out infinite;
}

div#cont1-2{
    margin-top:-5em;
    position:relative;
    clear:both;
    z-index:1;
}

/*cont2*/
#cont2-1{
    position:relative;
    margin:5em auto 0;
}

div.moose#mse04{
    position:relative;
    margin-left:45%;
    z-index:5;
    /*position:absolute;
    right:0;
    top:0;
    z-index: 5;*/
}
div.moose#mse04 img{
    top:-2em;
    left:-18%;
}

#cont2-1 div#ill02{
    width:88%;
    margin:-5em 6% 0;
    padding-bottom:2em;
    position:relative;
}

#cont2-1 div#ill02 span.anno{
    position:absolute;
    right:0;
    bottom:0;
}

div#ill03{
    position:relative;
    z-index:5;
}

div.swedi#swd03{
    width:40%;
    margin-top:2em;
    margin-left:12%;
    position:relative;
}
div.swedi#swd03 img{
    width:38%;
    left:-18%;
    bottom:-4em;
    z-index:12;
}

div.moose#mse05{
    position:relative;
    margin-left:45%;
    margin-top:-4.5em;
}
div.moose#mse05 img{
    top:-60%;
    right:-5%;
}

div.column#cont2-2,div.column#cont4-1{
    border-radius:100px;
    margin:3em auto 5em;
    padding-bottom:2em;
}

div.column#cont2-2 span.txt-ll,div.column#cont4-1 span.txt-ll{
    width:100%;
    font-size:2.3em;
    margin:0 auto;
    text-align:center;
}

div.moose#mse06{
    position:relative;
}
div.moose#mse06 img{
    top:-4em;
    right:-20%;
}

div.swedi#swd04{
    width:28%;
    margin-top:-8em;
    margin-left:50%;
    position:relative;
}
div.swedi#swd04 img{
    width:58%;
    right:-23%;
    top:-4.5em;
}

/*cont3*/
/*#area2 div,#area3 div {
    border:solid 1px;
}*/

#area3{
    padding-bottom:1em;
}

#area3 h4 img{
    width:100%;
}

div.column#cont3-1{
    border-radius:80px;
    padding-bottom:1em;
}

div#cont3-2 h4{
    width:60%;
    margin:3em auto 1em;
}
div.moose#mse07{
    position:relative;
    width:45%;
    margin-left:33%;
}
div.moose#mse07 img{
    width:38%;
    top:-2em;
    left:-25%;
}

#area3 div.step div.step_txt{
    width:40%;
}
#area3 div.step div.step_txt h5{
    width:100%;
    text-align:center;
    line-height:1.4em;
    margin-bottom:0.5em;
}

#area3 div.step h5 span{
    font-size:72%;
}

#area3 div.step h6{
    background:#008E00;
    color:#FFF;
    text-align: center;
    border-radius:45px;
    padding:0.5em 0 1.5em;
    letter-spacing:0.1em;
}

#area3 div.step h6:last-child{
    border-radius:80px;
}

#area3 div.step h6 span{
    display:inline-block;
}

#area3 div.step h6 span.sub{
    font-size:90%;
    letter-spacing:0.1em;
    display:block;
}
#area3 div.step h6 span.total{
    background:#FFF;
    color:#008E00;
    padding:0.5em 1em;
    margin:1.5em auto 0.5em;
    border-radius:20px;
    display:block;
    width:40%;
}

#area3 div.step_txt,
#area3 div.ill{
    display:inline-block;
    vertical-align: middle;
}

#area3 div.step div.ebc{
    width:80%;
    margin:0 auto;
    position:relative;
}

#cont3-2 div.ebc div.ill{
    width:55%;
    margin-left:3%;
}

div.moose#mse08{
    position:relative;
    margin:1em auto;
}
div.moose#mse08 img{
    top:-2.5em;
    left:-15%;
}

div.moose#mse08 p span.anno{
    color:#000;
    display:inline-block;
    margin-top:1em;
}

#area3 div.step#cont3-3 div.step_txt{
    width:35%;
}

#cont3-3 div.ill{
    position:relative;
    width:60%;
    z-index:3;
}

div.moose#mse09{
    width:30%;
    position:absolute;
    right:18%;
    bottom:0;
    z-index:1;
}

#area3 div.step#cont3-4 div.step_txt{
    width:35%;
    margin-left:10%;
}

#cont3-4 div.ill{
    position:relative;
    width:45%;
    z-index:3;
}

div.moose#mse10{
    position:relative;
    width:45%;
    margin:-3em 0 0 10%;
    z-index:1;
}
div.moose#mse10 img{
    width:38%;
    top:-6em;
    left:-10%;
}
div.moose#mse10 p{
    padding-bottom:3em;
}

#area3 div.step#cont3-4{
    margin:0;
}

#area3 div.step#cont3-5 div.step_txt{
    width:35%;
}

#cont3-5 div.ill{
    position:relative;
    width:37%;
    z-index:3;
    margin-top:-2em;
    margin-left:18%;
}

#area3 div.step#cont3-6 div.step_txt{
    width:35%;
    position:absolute;
    left:12%;
    top:30%;
    z-index:5;
}

#cont3-6 div.ill{
    position:relative;
    width:55%;
    margin-left:44%;
    z-index:4;
}

#cont3-6{
    margin-bottom:0;
}

#area3 div.step#cont3-7 div.step_txt{
    width:35%;
    position:absolute;
    right:8%;
    top:30%;
    z-index:4;
}

#cont3-7 div.ill{
    position:relative;
    width:58%;
    margin-left:10%;
    z-index:5;
}

#cont3-7{
    margin-bottom:0;
}

#cont3-8 div.step_txt{
    margin-left:45%;
    margin-bottom:1em;
}

#cont3-8 div.step_txt p{
    text-align: center;
}

#cont3-8 div.ill{
    position:relative;
    margin-left:10%;
    width:60%;
    z-index:5;
}

div.moose#mse11{
    position:relative;
    width:30%;
    margin:-1em 0 0 10%;
    z-index:1;
}
div.moose#mse11 img{
    width:52%;
    right:-50%;
    top:0;
}

#area3 div.step#cont3-9 div.step_txt{
    width:37%;
    margin-left:3%;
    vertical-align: top;
    position:relative;
}

#cont3-9 div.ill{
    position:relative;
    width:58%;
    vertical-align: top;
}

#area3 div.step#cont3-9 div.step_txt#total_txt{
    width:37%;
    margin-left:26%;
    margin-top:-10%;
}

#area3 div.step#cont3-10 div.step_txt{
    width:46%;
    position:absolute;
    left:5%;
    top:0;
}
#area3 div.step#cont3-10 div.step_txt p span{
    font-size:0.8em;
}

#area3 div.step#cont3-10 div.step_txt p span>span{
    font-size:0.6em;
}

#cont3-10 div.ill{
    position:relative;
    width:90%;
    margin-left:5%;
}

#area3 div.step#cont3-11{
    }

div.moose#mse12{
    width:64%;
    position:relative;
    z-index:1;
}
div.moose#mse12 img{
    width:27%;
    right:-18%;
    top:10%;
}
div.moose#mse13{
    width:64%;
    position:relative;
    margin:-2.5em 0 0 38%;
}

div.swedi#swd05{
    width:32%;
    margin-top:3em;
    margin-left:25%;
    position:relative;
}
div.swedi#swd05 img{
    width:52%;
    left:-8%;
    top:-6em;
}

/*cont4*/
#area4 h5{
    font-size:32px;
}

#cont4-1{
    width:100%;
    position:relative;
}

#cont4-1.column{
    border-radius:100px;
}

#cont4-1 img{
    width:20%;
    position:absolute;
    right:10%;
    bottom:-6.5em;
}

#cont4-1 h3{
    line-height:1.5em;
}

#cont4-2{
    margin:-2em auto 1.5em;
}

div.moose#mse13-2{
    width:70%;
    position:relative;
    margin-left:20%;
    margin-top:3em;
}
div.moose#mse13-2 img{
    width:29%;
    left:-20%;
    top:-10%;
}

#cont4-3{
    margin:0 auto;
}

div.moose#mse14{
    width:80%;
    position:relative;
    margin-left:5%;
    margin-top:3em;
}
div.moose#mse14 img{
    width:24%;
    right:-15%;
    top:-10%;
}

#cont4-3 div#ill04-3_1{
    width:80%;
    margin:0 0 0 10%;
    position:relative;
}

#cont4-3 div#ill04-3_1 .anno{
    width:96%;
    text-align:right;
    display:block;
    margin:-5% auto 0;
}

#ill04{
    position:absolute;
    left:10%;
    top:0;
    width:38%;
    z-index:15;
}

div.moose#mse15{
    width:74%;
    position:relative;
    margin-left:13%;
    margin-top:3em;
}
div.moose#mse15 img{
    width:24%;
    left:-10%;
    top:25%;
}

div.moose#mse15 p >img{
    position:relative;
    width:50%;
    margin:1em 0 1em 32%;
    display:block;
    right:auto;
    top:auto;
}
#cont4-3 div.u-value{
    width:44%;
    margin-left:4%;
    text-align: center;
    display:inline-block;
    vertical-align: middle;
}

#cont4-3 div.u-value h6 span{
    font-size:80%;
}

#cont4-3 div.u-value p.gr-border{
    display:block;
    width:80%;
    margin:0.3em auto;
    background:#FFF;
    border:solid 3px #008E00;
    border-radius:40px;
    text-align: center;
    font-size:28px;
    font-weight:bold;
    padding:0.5em 0;
}

#cont4-3 div.u-value p{
    text-align: center;
}

#cont4-3 div.u-value p span.anno{
    color:#000;
}

#cont4-3 div.ill{
    width:42%;
    display:inline-block;
    vertical-align: middle;
}

div.moose#mse16{
    width:40%;
    position:relative;
    margin-left:10%;
}
div.moose#mse16 img{
    width:42%;
    left:-15%;
    top:-35%;
}

div.moose#mse16 >p>span{
    display:block;
    font-size:26px;
    line-height:1.5em;
}

div.swedi#swd06{
    width:40%;
    position:relative;
    margin-left:48%;
    margin-top:-4em;
}
div.swedi#swd06 img{
    width:44%;
    right:-15%;
    top:-55%;
}

#cont4-4{
    padding-bottom:3.5em;
}

#cont4-4 div.ill{
    width:84%;
    margin:1em auto;
}


/*cont5*/
#cont5-1{
    position:relative;
    margin-top:-2em;
    margin-bottom:3em;
    padding:3.5em 0;
    border-radius:70px;
}

img#mse16-2{
    /*width:20%;
    position:absolute;
    right:35%;
    top:-10.5em;*/
    position:relative;
    width:20%;
    margin-top:1em;
    margin-left:40%;
    z-index:5;
}

#cont5-2 ul{
    text-align:center;
    width:90%;
    margin:0 auto;
    position:relative;
}

#cont5-2 ul li{
    display:inline-block;
    width:40%;
    margin:0 4%;
    vertical-align:top;
}

div.moose#mse17{
    width:50%;
    position:relative;
    margin-left:20%;
}
div.moose#mse17 img{
    width:34%;
    right:-18%;
    top:-35%;
}

div.swedi#swd07{
    width:40%;
    position:relative;
    margin-left:55%;
    margin-top:-3em;
}
div.swedi#swd07 img{
    width:44%;
    right:-15%;
    top:-45%;
}

/*cont6 まとめ*/

#area6{
    padding:3em 0 1em;
}

#matome{
    position:relative;
    padding-bottom:1em;
    margin:0 auto 0;
}

#matome p{
    width:70%;
    margin-left:25%;
}

#matome h6#sum{
    width:37%;
    position:absolute;
    left:-2em;
    top:-7em;
}

div.ill#cont6-1{
    position:relative;
    margin-top:-5em;
    margin-left:10%;
}

/*矢印*/
div.arw{
    display:block;
    position:absolute;
    z-index:10;
}

div.arw img{
    width:100%;
}

#arw01{
    width:15%;
    right:25%;
    bottom:-17%;
}
#arw01 img{
    transform:rotate(20deg);
}
#arw02{
    width:12%;
    left:15%;
    bottom:-28%;
}
#arw02 img{
    transform:rotate(-10deg);
}

#arw03{
    width:15%;
    right:20%;
    bottom:-8%;
}
#arw03 img{
    /*transform:scale(-1, 1);*/
    transform:rotate(-10deg);
}

#arw04{
    width:12%;
    left:35%;
    bottom:-35%;
}
#arw04 img{
    transform:rotate(-40deg);
}
#arw05{
    width:12%;
    right:32%;
    bottom:-40%;
    z-index: 1;
}
#arw05 img{
    transform:rotate(-15deg);
}

#arw06{
    width:13%;
    left:17%;
    top:0;
}

#arw07{
    width:23%;
    right:8%;
    bottom:-5em;
}
#arw07 img{
    transform:rotate(0deg);
}

#arw08{
    /*width:18%;
    left:15%;
    top:28%;*/
    position:relative;
    width:33%;
    margin-left:32%;
    margin-top:1em;
}
#arw08 img#arw08-1{
    width:100%;
    transform:rotate(0deg);
}
#arw08 img#arw08-2{
    width:100%;
    margin-left:28%;
    transform:rotate(-20deg);
}

#arw09{
    position:relative;
    width:11%;
    margin:1em auto;
}

#arw10{
    width:30%;
    left:0;
    bottom:-14em;
}

#arw10 img{
    transform:rotate(35deg);
}

div.textArea p a.btn{
    display:block;
    width:40%;
    min-width:400px;
    padding:0.3em 0;
    border:dashed 1px #009AAA;
    color:#009AAA;
    border-radius:40px;
    font-size:17px;
    font-weight:700;
    text-align: center;
    transition:0.5s;
    margin:0 auto 5em;
    position:relative;
}

div.textArea p a.btn img.swedi{
    width:30%;
    position:absolute;
    left:-12%;
    bottom:-1.2em;
}
div.textArea p a.btn img.flag{
    width:15%;
    position:absolute;
    right:-6%;
    top:-1em;
}

div.textArea p a.btn:hover{
    text-decoration: none;
    background:#009AAA;
    color:#FFF;
}

/* =======================================
	DISPLAY LARGE
======================================= */

@media screen and  (min-width:1400px){
    
}

/* =======================================
	TABLET
======================================= */

@media screen and  (min-width:1025px) and ( max-width:1300px) {
    
    p,h6{
    font-size:95%;
    }

    div.moose p,
    div.swedi p{
    padding:1.5em;
    font-size:95%;
}

}

@media screen and  (min-width:641px) and ( max-width:1024px) {

    p,h6{
    font-size:90%;
}

    div.moose p,
    div.swedi p{
    font-size:80%;
}
    
}

footer{
    width:100%;
    padding:20px 0 35px;
    text-align:center;
    background:#FFF;
    border-top:solid 1px #000;
}

footer div.next{
    width:500px;
    height:auto;
    margin:0 auto 1.5em;
}

footer div.next a img{
    width:100%;
}

footer div.next a{
    transition:1s;
}

footer div.next a:hover{
    opacity:0.5;
}

footer copyright{
    width:21.5%;
    margin:0.8em auto;
    display:inline-block;
}

footer copyright picture img{
    width:100%;
}

/* =======================================
	SMPH
======================================= */

@media screen and (max-width: 640px) {
    
    #sideArea{
        min-width:850px;
    }
    div.pageNavi{
    opacity:0;
}
    
}

/*.titleArea,#area1,#area2,#area3,#area4,#area6{
    display:none;
}*/