@charset "utf-8";

/*************************************************

Common styles

*************************************************/

/*//////// HTML ////////*/

*{
	margin:0;
	padding:0;
	}
html,body{
	font-size:100%;
	}
body{
	background-color:#FFF;
	color:#000;
	font-family:'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'メイリオ',Meiryo,'MS Pゴシック',MS PGothic,sans-sans-serif;
	line-height:150%;
	}
a{
	color:#000;
	text-decoration:none;
	}
a:link{
	color:#000;
	text-decoration:none;
	}
a:visited{
	color:#555;
	}
a:active{
	color:#555;
	}
a:hover{
	color:#555;
	text-decoration:none;
	opacity:0.75;
	filter:alpha(opacity=75);
	-ms-filter:"alpha( opacity=75 )";
	}
h1,h2,h3,h4,h5,h6{
	font-family:'Mplus 1p', sans-serif !important;
	font-weight:700;
	line-height:150%;
	margin-bottom:30px;
	transform: rotate(0.001deg);
    text-align: center;
	}
h1{
    font-size: 4.0rem;
	}
h2{
    font-size: 3.5rem;
	}
h3{
    font-size: 3.0rem;
	}
h4{
    font-size: 2.5rem;
	}
h5{
    font-size: 2.0rem;
	}
h6{
    font-size: 1.8rem;
	}
p{
	line-height:150%;
	margin-bottom:15px;
	}
ul{
	list-style-type:none;
	}



/*//////// common ////////*/

.btm{
    margin-bottom: 50px;
}

.btnWrap .btn{
	border:0;
	border-radius:3px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
    display: block;
    margin: 0 auto;
	padding:10px;
	width:200px;
	}
.btnWrap .btn.back{
	background:#DDD;
	color:#000;
	}



/*//////// #main ////////*/

#main h1 .default{
    display: block;
}
#main h1 .dark{
    display: none;
}


/******************************************************
 PC Styles
******************************************************/

@media only screen and (min-width: 768px) {


/*//////// HTML ////////*/

html,body{
	font-size:62.5%;
	text-align:left;
	}
body{
	overflow-x:hidden;
	position:relative;
	font-size:1.6rem;
	}
    
/*//////// common ////////*/

.pc{
	display:block;
}
.sp{
	display:none;
}

header,
section,
footer{
	clear:both;
	display:block;
	width:100%;
	}

a img{
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
a:hover img{
	opacity: 0.6;
	filter: alpha(opacity=60);
}

#backtotop a{
    background: url("../img/arw.png") no-repeat;
    display: block;
	position:fixed;
	bottom:20px;
	right:20px;
    height: 40px;
    width: 40px;
    text-indent: -9999px;
	}
    #backtotop a:hover{
        cursor: pointer;
    }



/*//////// header ////////*/

header{
	background:#F3F3F3;
    line-height: 100%;
    height: 3.0rem;
    width: 100vw;
    position: relative;
	}
    header nav.social{
        -webkit-flex-direction: row;
        flex-direction: row;
        position: absolute;
        left: 1.0rem;
        top: 25%;
	}
    header nav.social ul{
        display: -webkit-flex;
        display: flex;
	}
    header nav.social ul li{
        -webkit-flex-direction: row;
        flex-direction: row;
        font-size: 1.6rem;
        margin-right: 1.0rem;
	}
    header nav.social ul li span{
        display: inline-block;
        text-indent: -9999px;
	}
    header nav.global{
        position: absolute;
        right: 2.5rem;
        top: 50%;
        transform: translateY(-50%) translateX(0);
        -webkit- transform: translateY(-50%) translateX(0);
    }
    header nav.global ul{
        display: -webkit-flex;
        display: flex;
    }
    header nav.global li{
        -webkit-flex-direction: row;
        flex-direction: row;
        font-size: 1.2rem;
    }
    header nav.global li a{
        padding-left: .5rem;
    }
    /*header nav li:before{
        content: '';
        display: inline-block;
        width: 1.2rem;
        height: 1.2rem;
        background-image:url("../img/arw.png");
        background-size: contain;
        vertical-align: middle;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform:rotate(90deg)
    }*/



/*//////// #main ////////*/

#main{
    height:100vh;
    width:100vw;
    position:relative;
	}
    #main h1{
        display:block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
        margin: auto;
	}
    #main h1 svg{
        height: auto;
        width: 1000px;
    }



/*//////// #contactform ////////*/

#contactform{
    background: #F3F3F3;
    padding: 50px 0;
    }
    #contactform .inner{
        margin:0 auto;
        width:960px;
	}
    #contactform dl{
        border-bottom: 1px dotted #DDD;
        display: -webkit-flex;
        display: flex;
        padding-bottom: 15px;
        margin-bottom: 15px;
        width:940px;
	}
    #contactform dt,
    #contactform dd{
        -webkit-flex-direction: row;
        flex-direction: row;
	}
    #contactform dt{
        font-family:'Mplus 1p', sans-serif !important;
        font-weight:700;
        transform: rotate(0.001deg);
        display:inline-block;
        min-height:20px;
        padding-top:5px;
        width:300px;
	}
    #contactform dt span.required,
    #contactform dt span.optional{
        background: #FFF;
        border: 1px solid #DDD;
        border-radius:3px;
        -webkit-border-radius:3px;
        -moz-border-radius:3px;
        font-family:'Mplus 1p', sans-serif !important;
        font-size: 1.0rem;
        transform: rotate(0.001deg);
        display: inline-block;
        line-height: 100%;
        margin-right: 10px;
        padding-top: 1.0rem;
        height: 2.0rem;
        width: 4.0rem;
        text-align: center;
        vertical-align: middle;
	}
    #contactform dt span.required{
        color:#B00;
	}
    #contactform dt span.optional{
        color:#069;
	}
    #contactform dd{
        width:640px;
	}
    #contactform dd input,
    #contactform dd select,
    #contactform dd textarea{
        background-color:#FFF;
        border:1px solid #DDD;
        border-radius:3px;
        -webkit-border-radius:3px;
        -moz-border-radius:3px;
        padding:5px;
        -webkit-box-shadow:2px 2px 2px 0 rgba(200,200,200,0.2) inset;
        -moz-box-shadow:2px 2px 2px 0 rgba(200,200,200,0.2) inset;
        box-shadow:2px 2px 2px 0 rgba(200,200,200,0.2) inset;
        width:630px;
	}
    #contactform dd select{
        background-image: url("../img/arw_select.png");
        background-repeat: no-repeat;
        background-position: right 20px center;
        }
    #contactform dd textarea{
        min-height:150px;
	}
    #contactform dd .caution{
        font-weight:bold;
	}
    #contactform dd .error_blank,
    #contactform dd .error_match{
        color: #D00000;
        font-weight:bold;
	}
    #contactform .btnWrap{
        min-height:50px;
        margin-bottom:30px;
        position:relative;
        text-align:center;
	}
    #contactform .btnWrap .btnSend{
        background:#000;
        border:0;
        border-radius:3px;
        -webkit-border-radius:3px;
        -moz-border-radius:3px;
        color:#FFF;
        cursor:pointer;
        font-family:'Mplus 1p', sans-serif !important;
        transform: rotate(0.001deg);
        padding:10px;
        width:200px;
	}
    #contactform .btnWrap .btnSend:hover{
        opacity:0.75;
        filter:alpha(opacity=75);
        -ms-filter:"alpha( opacity=75 )";
	}



/*//////// footer ////////*/

footer{
    font-size: 1.2rem;
    position: fixed;
    bottom: 0;
	}
    footer .inner address{
        font-style:normal;
        padding-left: 1.0rem;
	}



}



/******************************************************
 SP Styles
******************************************************/

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

/*//////// HTML ////////*/

*{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	}

html,body{
	font-size:62.5%;
	margin:0;
	padding:0;
	overflow-x:hidden;
	}
body{
	overflow-x:hidden;
	position:relative;
	font-size:2.0rem;
	}

a{
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

img{
	max-width:100%;
	height:auto;
	display:block;
}

input[ type=checkbox ] {
  -moz-transform-origin: right middle;
  -moz-transform: scale( 2 , 2 );
  -webkit-transform-origin: right middle;
  -webkit-transform: scale( 2 , 2 );
  margin-right:1.5625%;
}



/*//////// common ////////*/

.pc{
	display:none;
}
.sp{
	display:block;
}

header,
section,
footer{
	clear:both;
	display:block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width:100%;
	}

#backtotop a{
    background: url("../img/arw.png") no-repeat;
    display: block;
	position:fixed;
	bottom:20px;
	right:20px;
    height: 40px;
    width: 40px;
    text-indent: -9999px;
	}



/*//////// header ////////*/

header{
	background:#F3F3F3;
    line-height: 100%;
    height: 6.0rem;
    width: 100vw;
    position: relative;
	}
    header nav.social{
        -webkit-flex-direction: row;
        flex-direction: row;
        position: absolute;
        left: 1.0rem;
        top: 25%;
	}
    header nav.social ul{
        display: -webkit-flex;
        display: flex;
	}
    header nav.social ul li{
        -webkit-flex-direction: row;
        flex-direction: row;
        font-size: 3.0rem;
        margin-right: 1.5rem;
	}
    header nav.social ul li span{
        display: inline-block;
        text-indent: -9999px;
	}
    header nav.global{
        position: absolute;
        right: 1.0rem;
        top: 50%;
        transform: translateY(-50%) translateX(0);
        -webkit- transform: translateY(-50%) translateX(0);
    }
    header nav.global ul{
        display: -webkit-flex;
        display: flex;
    }
    header nav.global li{
        -webkit-flex-direction: row;
        flex-direction: row;
        font-size: 2.0rem;
    }
    header nav.global li a{
        padding-left: .5rem;
    }

    
    
/*//////// #main ////////*/

#main{
    height:100vh;
    width:100vw;
    position:relative;
	}
#main h1{
    display:block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
	}
#main h1 svg{
    height: auto;
    width: 600px;
    }


/*//////// #contactform ////////*/

#contactform{
    background: #F3F3F3;
	clear:both;
	padding:50px 3.125%;
    width:100%;
	}
    #contactform dl{
        clear:both;
        padding-bottom:3.125%;
        margin-bottom:3.125%;
        width:100%;
        }
    #contactform dt,
    #contactform dd{
        padding:0;
        }
    #contactform dt{
        font-size:150%;
        font-weight:bold;
        display:inline-block;
        margin-bottom:3.125%;
        width:100%;
        }
    #contactform dt span.required,
    #contactform dt span.optional{
        background: #FFF;
        border: 1px solid #DDD;
        border-radius:3px;
        -webkit-border-radius:3px;
        -moz-border-radius:3px;
        font-family:'Mplus 1p', sans-serif !important;
        font-size: 1.2rem;
        transform: rotate(0.001deg);
        display: inline-block;
        line-height: 100%;
        margin-right: 10px;
        padding-top: 1.5rem;
        height: 3.0rem;
        width: 4.0rem;
        text-align: center;
        vertical-align: middle;
        }
    #contactform dt span.required{
        color:#B00;
        }
    #contactform dt span.optional{
        color:#069;
        }
    #contactform dd{
        width:100%;
        }
    #contactform dd input[type="input"],
    #contactform dd input[type="button"],
    #contactform dd select,
    #contactform dd textarea{
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    #contactform dd input,
    #contactform dd select,
    #contactform dd textarea{
        background-color:#FFF;
        border:1px solid #DDD;
        border-radius:3px;
        -webkit-border-radius:3px;
        -moz-border-radius:3px;
        font-size:120%;
        line-height:100%;
        padding:3.125%;
        -webkit-box-shadow:2px 2px 2px 0 rgba(200,200,200,0.2) inset;
        -moz-box-shadow:2px 2px 2px 0 rgba(200,200,200,0.2) inset;
        box-shadow:2px 2px 2px 0 rgba(200,200,200,0.2) inset;
        width:93.75%;
        }
    #contactform dd select{
        background-image: url("../img/arw_select.png");
        background-repeat: no-repeat;
        background-position: right 20px center;
        width: 100%;
        }
    #contactform dd textarea{
        min-height:100px;
        }
    #contactform dd .caution{
        font-weight:bold;
        }
    #contactform dd .error_blank,
    #contactform dd .error_match{
        color: #D00000;
        font-weight:bold;
        }

    #contactform .btnWrap{
        min-height:50px;
        margin-bottom:30px;
        position:relative;
        text-align:center;
        }
    #contactform .btnWrap .btnSend{
        background:#000;
        border:0;
        border-radius:3px;
        -webkit-border-radius:3px;
        -moz-border-radius:3px;
        color:#FFF;
        display:block;
        font-family:'Mplus 1p', sans-serif !important;
        font-weight: 700;
        transform: rotate(0.001deg);
        font-size:150%;
        margin-bottom:50px;
        min-height:80px;
        width:100%;
        }
    #contactform .btnWrap .btnSend:disabled{
        cursor: default;
        opacity: 0.5;
        filter: alpha(opacity=50);
        }

    #contactform #completion{
        width:100%;
        }



/*//////// footer ////////*/

footer{
    font-size: 1.6rem;
    position: fixed;
    bottom: 0;
	}
    footer .inner address{
        font-style:normal;
        padding-left: 1.0rem;
	}



}



@media (prefers-color-scheme: dark) {

a,
a:link{
	color:#DDD;
	}
a:visited,
a:active{
	color:#AAA;
	}
a:hover{
	color:#AAA;
	}

body {
    background-color:#000;
    color:#DDD;
    }

#backtotop a{
    background: url("../img/arw_dark.png") no-repeat;
	}

/*//////// header ////////*/

header{
	background:#111;
	}
    header nav.social{
        mix-blend-mode: difference;
	}

/*//////// #main ////////*/

#main h1 .default{
    display: none;
}
#main h1 .dark{
    display: block;
}

/*//////// #contactform ////////*/

#contactform{
    background: #111;
    }
    #contactform dd input[type="input"],
    #contactform dd input[type="button"],
    #contactform dd select,
    #contactform dd textarea{
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    #contactform dd input,
    #contactform dd select,
    #contactform dd textarea{
        background-color:#000;
        border:1px solid #555;
        }
    #contactform dd select{
        background-image: url("../img/arw_select_dark.png");
        color: #FFF;
        }
    #contactform .btnWrap .btnSend{
        background:#DDD;
        color:#000;
        }
    #contactform dt span.required,
    #contactform dt span.optional{
        background: #000;
        border: 1px solid #555;
        }
    #contactform .btnWrap .btnSend{
        background:#DDD;
        color:#000;
        }



}



/* .clearfix
*************************************************/

/* For modern browsers */
.clearfix:before,
header:before,
section:before,
article:before,
#contactform dl:before,
footer:before,

.clearfix:after,
header:after,
section:after,
article:after,
#contactform dl:after,
footer:after
{
	content:"";
	display:table;
}

.clearfix:after,
header:after,
section:after,
article:after,
#contactform dl:after,
footer:after
{
	clear:both;
}

/* For IE 6/7 (trigger hasLayout) */
.clearfix,
header,
section,
article,
#contactform dl,
footer
{
	zoom:1;
}

/*************************************************

Copyright 2006. Yoyogidesign. All rights reserved.

*************************************************/