@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:10;
}

div.moose img{
    position:absolute;
    width:32%;
}

div.swedi img{
    position:absolute;
    width:28%;
}

div.moose p,
div.swedi p,
div.mulle p,
div.tomoku p{
    background:#FFF;
    border-radius:50px;
    font-size:16px;
    line-height:25px;
    text-align: center;
    padding:2em;
    transition:2s;
}

div.moose p{
    color:#009AAA;
}

div.swedi p{
    color:#EE7800;
}

div.mulle p,
div.tomoku p{
    color:#008E00;
}

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;
}

.step h4{
    padding-bottom:1em;
}

.column h5,
.column h6{
    font-size:20px;
    line-height:1.5em;
}

.column 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:0;
    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{
    width:100%;
    margin-bottom:0.8em;
}

div.step h4 > img{
    width:100%;
}

div.step p{
    width:96%;
    margin:0 auto;
    line-height:1.6em;
}

div.column{
    background:#CEE4E3;
    border-radius:40px;
    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 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 img{
    width:100%;
}

/*cont1-1*/
#cont1-1{
    position:relative;
    padding:8.5em 0 5em;
}

#cont1-1 span.anno{
    position:absolute;
    left:-2em;
    bottom:3em;
}

#cont1-1 div.moose{
    position:absolute;
    left:3em;
    top:0;
    width:60%;
}

#cont1-1 div.moose p{
    line-height:1.8em;
}

#cont1-1 div.swedi{
    position:absolute;
    right:0;
    bottom:2em;
}

#cont1-1 div.swedi p{
    width:70%;
}

#cont1-1 span.anno{
    position:absolute;
    width:40%;
    left:10%;
    bottom:5em;
}

/*cont2*/

/*cont2-1*/
#cont2-1{
}

#cont2-1 .ill{
    position:relative;
}

#cont2-1 div.moose{
    margin-left:15%;
}

#cont2-1 div.swedi{
    width:40%;
    margin-top:12em;
    margin-left:10%;
    margin-bottom:1.5em;
}

#cont2-1 div.swedi img{
    width:78%;
    min-width:300px;
    left:-20%;
    top:-16em;
}

#cont2-1 div.mulle:first-child{
    width:28%;
    min-width:280px;
    margin:0 0 0 60%;
}

#cont2-1 img#mulle_01{
    position:absolute;
    top:0;
    right:12%;
    width:58%;
    min-width:580px;
    z-index:10;
}

#cont2-1 div.mulle:nth-child(2){
    width:50%;
    /*min-width:500px;*/
    margin-left:48%;
}
#cont2-1 div.mulle:nth-child(3){
    margin-top:-5em;
    margin-bottom:6em;
    /*min-width:500px;*/
}

#cont2-1 div.mulle:nth-child(2) img{
    width:40%;
    position:absolute;
    right:-10%;
    top:-6.5em;
}

#cont2-1 div.mulle:nth-child(3) img{
    width:43%;
    position:absolute;
    right:-25%;
    bottom:-5em;
}

#cont2-1 div.mulle p span,
#cont2-1 div.swedi p span{
    font-size:50px;
    line-height:1.5em;
}

#cont2-1 div.mulle p,
#cont2-1 div.swedi p{
    padding:2em;
}

#cont2-2{
    width:100%;
}

#cont2-3 div.swedi{
    width:35%;
    margin-top:-3em;
    margin-left:60%;
}

#cont2-3 div.mulle{
    width:60%;
    min-width:600px;
    margin:0 auto 5em;
}

#cont2-3 div.mulle p{
    padding:3em 0;
}

#cont2-3 div.mulle img{
    width:32%;
    position:absolute;
    right:-18%;
    bottom:-3em;
}

#cont2-4{
    width:100%;
}

#cont2-5 div.moose{
    width:35%;
    margin-top:-2em;
    margin-left:15%;
}

#cont2-5 div.moose img{
    position:absolute;
    right:-30%;
    top:-0.5em;
    width:45%;
}

#cont2-7{
    margin-bottom:5em;
}
#cont2-7 div.mulle{
    width:50%;
    margin:0 0 3.5em 45%;
}

#cont2-7 div.mulle p{
    padding:3em 0;
    line-height: 1.8em;
}
#cont2-7 div.mulle img{
    width:100%;
    position:absolute;
    left:-90%;
    top:0;
}

#cont2-7 div.moose{
    width:44%;
    margin:-5em 0 3.5em 45%;
}

#cont2-7 div.moose p{
    padding:3em 0;
    line-height: 1.8em;
}

#cont2-7 div.moose img{
    width:35%;
    position:absolute;
    right:-20%;
    bottom:-2.5em;
}


/*cont3*/
#area3{
    padding-bottom:5em;
}

#cont3-1{
    width:100%;
    border-radius:50px;
}

#cont3-2{
    width:45%;
    margin:5em 0 5em 0;
}

#ill02{
    width:50%;
    height:15vh;
    position:relative;
    margin:0;
    float:right;
}

#ill02 img{
    position:relative;
    margin-top:15em;
    animation-duration: 3.5s;
    margin-bottom:-15em;
}

#ill02-2{
    width:85%;
    margin:-3.5em auto 0;
    animation-delay: 0.5s;
    /*border:solid 1px;*/
}

#ill02-2 div#woods{
    width:100%;
    position:relative;
    margin:0;
    padding:0;
    
}

#ill02-2 div#woods img{
    margin:0;
    padding:0;
}

#ill02-2 div#woods img.grow{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    animation-duration: 2s;
}

#ill02-2 div#woods img.grow#grow02{
    animation-delay: 1s;
}
#ill02-2 div#woods img.grow#grow03{
    animation-delay: 1.5s;
}
#ill02-2 div#woods img.grow#grow04{
    animation-delay: 2s;
}
#ill02-2 div#woods img.grow#grow05{
    animation-delay: 2.5s;
}
#ill02-2 div#woods img.grow#grow06{
    animation-delay: 3s;
}

#ill02-2 #ill_circle{
    width:80%;
    margin:1.5em 10% 5em;
    position:relative;
}

#ill02-2 #ill_circle img.circle{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:100%;
    animation-duration: 0.5s;
}

#ill02-2 #ill_circle img.circle#circle02{
    animation-delay: 0.5s;
}
#ill02-2 #ill_circle img.circle#circle03{
    animation-delay: 1s;
}
#ill02-2 #ill_circle img.circle#circle04{
    animation-delay: 1.5s;
}
#ill02-2 #ill_circle img.circle#circle05{
    animation-delay: 2s;
}

#cont3-3{
    width:90%;
    margin-bottom:5em;
}

#cont3-3 h4{
    width:42%;
    margin:0 5% 0 0;
    display:inline-block;
    vertical-align: top;
}

#cont3-3 p{
    width:48%;
    margin:5em 0 0;
    display:inline-block;
}

#cont3-4{
    width:40%;
    margin:8em 0 2% 0;
}

#cont3-4 h4{
    margin-top:10em;
}

#cont3-4 p{
    margin-bottom:5em;
}

#ill03{
    width:45%;
    float:right;
    position:relative;
    margin:0;
    padding:0;
}

#ill03 img.uses{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:100%;
    animation-duration: 2s;
}

#ill03 img.uses#uses02{
    animation-delay: 1s;
    animation-duration: 1.2s;
}
#ill03 img.uses#uses03{
    animation-delay: 1.5s;
    animation-duration: 1.2s;
}
#ill03 img.uses#uses04{
    animation-delay: 2s;
    animation-duration: 1.2s;
}
#ill03 img.uses#uses05{
    animation-delay: 3s;
    animation-duration: 0.5s;
}

#cont3-5{
    margin:8em 0 0 5em;
}

#cont3-5 div.moose img{
    width:37%;
    left:-7em;
    top:-2.5em;
    z-index:15;
}

#cont3-5 div.moose:nth-child(2){
    display:inline-block;
}

#cont3-5 div.moose:nth-child(2) p{
    margin-left:-3em;
    margin-top:-1.5em;
    width:80%;
    min-width:350px;
}

#cont3-5 div.swedi{
    width:40%;
    margin-top:-3em;
    margin-left:5%;
    display:inline-block;
    vertical-align: top;
}

#cont3-5 div.swedi p{
    padding:3.5em 0 4em;
}

#cont3-5 div.swedi img{
    width:48%;
    position:absolute;
    right:-20%;
    bottom:-3em;
}

/*cont4*/
#cont4-1{
    width:100%;
}

#cont4-1.column{
    border-radius:100px;
}

#cont4-1 h3{
    line-height:1.5em;
}

#cont4-2{
    margin:3em auto 0;
}

#cont4-2 div.moose{
    width:45%;
    margin:0 0 0 40%;
}

#cont4-2 div.moose img{
    width:42%;
    right:-25%;
    top:-2em;
}

#ill04{
    position:absolute;
    left:10%;
    top:0;
    width:38%;
    z-index:15;
}

#cont4-2 div.tomoku#cont4-2_1{
    width:40%;
    min-width:400px;
    margin:6em 0 0 45%;
}

#cont4-2 div.tomoku#cont4-2_1 p:nth-child(2){
    width:90%;
    margin-left:20%;
    margin-top:-2em;
}

#cont4-2 div.tomoku p span.txt-ll{
    font-size:1.8em;
    line-height:1.5em;
}

#cont4-2 div.tomoku#cont4-2_2{
    width:65%;
    min-width:600px;
    margin:5em auto 0;
}

#cont4-2 div.tomoku#cont4-2_2 p{
    line-height:1.5em;
    padding:3em 0;
}

#cont4-2 div.tomoku#cont4-2_2 img{
    width:25%;
    position:absolute;
    right:-15%;
    bottom:-0.5em;
}

#cont4-2 div.tomoku#cont4-2_2 p span.anno{
    margin-top:1em;  
}

#cont4-3{
    width:100%;
    margin:8em 0 3em;
}

#cont4-3 h5{
    width:80%;
    border-bottom:solid 1px #008E00;
    line-height:1.5em;
}

#cont4-3-a{
    width:80%;
    margin:1em auto 3em;
    position:relative;
}

#cont4-3-a div.moose{
    width:40%;
    position:absolute;
    right:0;
    bottom:0;
}

#cont4-3-a div.moose p{
    padding:1.5em 0;
    position:relative;
}

#cont4-3-a div.moose p img{
    width:62%;
    position:absolute;
    right:-32%;
    top:-4.5em;
}

#cont4-3-a #energy{
    position:relative;
    margin:0;
    padding:0;
}

#cont4-3-a #energy img.det{
    width:100%;
    position:absolute;
    right:0;
    top:0;
    margin:0;
    padding:0;
    animation-duration: 1s;
    animation-duration: 1s;
}

#cont4-3-a #energy img.det#det02{
    animation-delay: 1s;
    animation-duration: 1.2s;
}
#cont4-3-a #energy img.det#det03{
    animation-delay: 1.5s;
}
#cont4-3-a #energy img.det#det04{
    animation-delay: 2s;
}
#cont4-3-a #energy img.det#det05{
    width:16.6%;
    animation-delay: 2.8s;
    animation-duration: 0.5s;
}

#cont4-3-b{
    width:75%;
    margin:0 auto 3em;
}

#cont4-3-b > p{
    width:40%;
    display:inline-block;
    margin:3em 5% 0 3em;
}

#cont4-3-b div.swedi{
    width:40%;
    display:inline-block;
    margin:2em 0 0;
}

#cont4-3-b div.swedi p span.txt-l{
    font-size:1.7em;
    line-height:1.5em;
}

#cont4-3-b div.swedi img{
    position:absolute;
    right:-30%;
    bottom:-1.5em;
    width:60%;
}

#cont4-3-c{
    position:relative;
}

#cont4-3-c ul li img{
    margin:0 auto 0.5em;
}

#cont4-3-c div.moose{
    width:40%;
    position:absolute;
    left:40%;
    bottom:-9em;
    z-index:15;
}

#cont4-3-c div.moose p{
    position:relative;
    line-height:1.8em;
}

#cont4-3-c div.moose p img{
    width:50%;
    position:absolute;
    right:-30%;
    top:-1em;
}

#cont4-4{
    width:100%;
    margin:0 auto 5em;
}

#cont4-4.column{
    padding:5em 0 1.5em
}

#ill06{
    width:115%;
    position:absolute;
    left:-120%;
    top:-3em;
    animation-delay: 1s;
}

/*cont5*/
#cont5-1{
    width:100%;
    margin-bottom:8em;
}

#cont5-1 h5{
    width:80%;
    border-bottom:solid 1px #008E00;
    line-height:1.5em;
    margin-bottom:1.5em;
}

#cont5-1 div.moose#cont5-1a,
#cont5-1 div.tomoku{
    position:relative;
    display:inline-block;
    vertical-align: top;
}
#cont5-1 div.moose#cont5-1a{
    width:35%;
    margin:0 2.5% 0 10%;
}

#cont5-1 div.tomoku{
    width:35%;
    margin:0 2.5% 0;
}

#cont5-1 div.moose#cont5-1a img{
    width:50%;
    left:-15%;
    top:-8em;
}

#cont5-1 div.tomoku img{
    width:45%;
    position:absolute;
    right:-35%;
    bottom:-1em;
}

#cont5-1 ul{
    width:80%;
}

#cont5-1 ul li{
    width:43%;
}

#cont5-1 ul li img{
    width:20%;
    margin:0 40% 0.5em;
}

#cont5-1 div.moose#cont5-1b{
    margin-left:20%;
    min-width:480px;
    margin-bottom:1em;
}

#cont5-1 div.moose#cont5-1b img{
    right:auto;
    left:-15%;
    bottom:-5em;
}

#cont5-1 div.moose#cont5-1c{
    width:20%;
    margin:-2.5em 35% 0;
}

#cont5-1 div.swedi{
    width:30%;
    margin-top:-2em;
    margin-left:50%;
}

#cont5-1 div.swedi img{
    width:65%;
    right:-40%;
    top:-3em;
}

/*cont6 まとめ*/
#area6{
    padding-top:4.5em;
}

#matome{
    position:relative;
    padding-bottom:5em;
    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:32%;
    left:-50%;
    bottom:1.5em;
    z-index:11;
}
#arw02{
    width:12%;
    left:23%;
    bottom:-2.5em;
}
#arw02 img{
    transform:rotate(-10deg);
}

#arw03{
    width:15%;
    right:20%;
    top:5em;
}
#arw03 img{
    transform:scale(-1, 1);
}

#arw04{
    width:35%;
    right:-50%;
    bottom:-5.5em;
}
#arw04 img{
    transform:rotate(40deg);
}
#arw05{
    width:14%;
    right:25%;
    bottom:-1.5em;
}
#arw05 img{
    transform:rotate(-30deg);
}

#arw06{
    width:15%;
    left:8%;
    top:10em;
}

#arw07{
    width:26%;
    right:-20%;
    bottom:-15em;
}
#arw07 img{
    transform:rotate(-25deg);
}

#arw08{
    width:12%;
    right:36%;
    bottom:-16em;
}
#arw08 img{
    transform:rotate(35deg);
}

#arw09{
    width:13%;
    left:25%;
    bottom:-13em;
}

#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%;
}
    
    #cont4-2 div.tomoku#cont4-2_2 img{
    bottom:1.5em;
}
    
}

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;
}
    
}

