@charset 'UTF-8';

/*==========================================================================

   mixin

===========================================================================*/
/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
   head
---------------------------------------------------------------------------*/
head {
	font-family: 'pc';
	
}

/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
body {
	min-width: 100%;
	color: #222;
	font-family: 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', Osaka, Verdana, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/*--------------------------------------------------------------------------
   a
---------------------------------------------------------------------------*/
a {
	color: inherit;
	outline: none;

	-webkit-tap-highlight-color: transparent;
}

a:link,
a:visited {
	text-decoration: none;
}
a:hover img {
	-webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
	
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}

.select_navigation span:hover{
	-webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
	
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}



/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
img {
	vertical-align: top;
}

ul {
	list-style: none;
}

/*--------------------------------------------------------------------------
   selection
---------------------------------------------------------------------------*/
::-moz-selection {
	background-color: #b3d4fc;
	color: #fff;
	text-shadow: none;
}

::selection {
	background-color: #b3d4fc;
	color: #fff;
	text-shadow: none;
}

/* ----------------------------------------------------------------------------------------------------

Super Form Reset

A couple of things to watch out for:

- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs

----------------------------------------------------------------------------------------------------*/
input,
label,
select,
button,
textarea {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	vertical-align: middle;
	white-space: normal;
	-webkit-appearance: none;

	   -moz-appearance: none;
	        appearance: none;
}

/* Remove the stupid outer glow in Webkit */
input:focus,
select:focus,
textarea:focus {
	outline: 0;
}

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input,
textarea {
	box-sizing: content-box;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
	box-sizing: border-box;
}

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
	width: 13px;
	height: 13px;
}

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
	-webkit-box-sizing: content-box;
	-webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
	display: none;
}

/* Buttons
-----------------------------------------------*/
button,
input[type='reset'],
input[type='button'],
input[type='submit'] {
	/* Fix IE7 display bug */
	overflow: visible;
	width: auto;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
	padding: 0;
	border: 0;
	background: none;
}

/* Textarea
-----------------------------------------------*/
textarea {
	/* Turn off scroll bars in IE unless needed */
	overflow: auto;
	/* Move the label to the top */
	vertical-align: top;
}

/* Selects
-----------------------------------------------*/
select[multiple] {
	/* Move the label to the top */
	vertical-align: top;
}

/*==========================================================================

   mixin

===========================================================================*/





/*--------------------------------------------------------------------------
   l-page
---------------------------------------------------------------------------*/
.l-page-wrapper {
	overflow: hidden;
}
.sec_all{
	position: relative;
	padding-top: 40px;
	min-width: 100%;
	width: 100%;
	font-size: 2rem;
}


/*--------------------------------------------------------------------------
   MV
---------------------------------------------------------------------------*/
.sec-mv-wrapper {
	position: relative;
	overflow: hidden;
	background: url(../img/dot.png) left top repeat;
	padding: 0 5%;
}
.sec-mv-wrapper video{
	position: absolute;
	left: 50%;
	top:0;
	width: auto;
	height: 100%;
	z-index: -1;
}

.sec-mv-wrapper::before{
	
}
.sec-mv-wrapper h1{
	width: 23%;
}
.sec-mv-wrapper h1 img{
	width: 100%;
}
.sec-mv-wrapper .catch{
	width: 86%;
	position: absolute;
	left: 50%;
	top:50%;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	text-align: center;
}
.sec-mv-wrapper .y-btn p:first-child{
	width:32%;
	position: absolute;
	left: 50%;
	top:65%;
	transform: translate(-50%,0%);
	-ms-transform: translate(-50%,0%);
}
.sec-mv-wrapper .y-btn p:last-child{
	width:24%;
	position: absolute;
	left: 50%;
	top:69%;
	transform: translate(-50%,0%);
	-ms-transform: translate(-50%,0%);
}
.sec-mv-wrapper .img_scroll{
	width:12%;
	position: absolute;
	left: 50%;
	bottom:0%;
	transform: translate(-50%,0%);
	-ms-transform: translate(-50%,0%);
}

.sec-mv-wrapper .catch img,
.sec-mv-wrapper .y-btn img,
.sec-mv-wrapper .img_scroll img{
	width: 100%;
}


.sns{
	padding: 10% 5% 5% 5%;
	overflow: hidden;
}
.sns li{
	line-height: 1;
	width: 31%;
	float: left;
	margin-right: 3%;
}
.sns li img{
	width: 100%;
}
.sns li:last-child{
	margin-right: 0
}






/*==========================================================================

   mixin

===========================================================================*/
/*--------------------------------------------------------------------------
   l-wrap
---------------------------------------------------------------------------*/
.l-wrap {
	position: relative;
	width: 1160px;
	margin: 0 auto;
}

/*--------------------------------------------------------------------------
   inner
---------------------------------------------------------------------------*/
.inner {
	width: 100%;
	margin: 0 auto;
}

/*--------------------------------------------------------------------------
   TEXT
---------------------------------------------------------------------------*/
/*
 note
 -- 改行時、一文字目に余白
*/
.mi-note,
.mi-list-note li {
	padding-left: 1em;
	text-indent: -1em;
}




.title h3{
	margin-bottom: 60px;
}
.title{
	margin-bottom: 60px;
}

/* =========================================================
section01
========================================================= */
.section01{
	position: relative;
	overflow: hidden;
	margin-bottom: 130px;
	padding: 0 5%;
}
.section01 .title{
	width: 100%;
	position: relative;
	font-size: 2rem;
}
.section01 .title .txt{
	margin: 0 0 0 0;
	font-size: 2rem;
}
.section01 .title h3{
}

.section01 .imgArea{
	width: 100%;
}
.section01 .imgArea img{
	width: 100%;
}
/* =========================================================
section02
========================================================= */
.section02{
	position: relative;
	overflow: hidden;
	margin-bottom: 30px;
	padding: 0 5%;
}
.section02 .imgArea{
	width: 100%;
	margin-bottom: 10%;
}

.section02 .title{
	width: 100%;
	position: relative;
}
.section02 .title h3{
}

.section02 .title .txt{
	margin: 0 0 0 0
	font-size: 2rem;
}

.sec02_foot{
	clear: both;
	position: relative;
	overflow: hidden;
	margin-bottom: 10%;
}

  
/* =========================================================
section03
========================================================= */
.section03{
	position: relative;
	overflow: hidden;
	margin-bottom: 130px;
	padding: 0 5% 4% 5%;
}
.section03 .title{
	width: 100%;
	position: relative;
}
.section03 .title h3{
}

.section03 .title .txt{
	margin: 0 0 0 0;
	font-size: 2rem;
}
.section03 .imgArea{
	width: 100%;
	margin-bottom: 10%;
}
.section03::before {
	/*content: "";
	display: block;
	position: absolute;
	left: 0;
	top:-600px;
	width: 100%;
	height: 1000px;
	-webkit-transform: skew(0deg, -15deg);
	background: #FFF;
	z-index: -1;*/
}
.section03::after {
	/*content: "";
	display: block;
	position: absolute;
	left: 0;
	top:400px;
	width: 100%;
	height: 100%;
	z-index: -2;
	*/
}
.section03 .bg-image{
	clear: both;
    width: 120%;
    height: 100%;
    -webkit-transform: skew(0deg, -15deg);
    background: #F00;
    overflow: hidden;
    z-index: -2;
    position: absolute;
    top: 25%;
    left: -21px;
}
.section03 .bg-image span{
	width: 100%;
	height: 100%;
	display: block;
	background:url(../img/bg_red.png) left top repeat;
	-webkit-transform: skew(0deg, 15deg);
	position: relative;
	top:-400px;
}
.section03 .listArea {
	clear: both;
}
.section03 .listArea-inner {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
.section03 .listArea-inner .list-cont{
	width: 100%;
	background: #FFF;
	text-align: center;
	float: left;
	margin: 0 0 20px 0;
	position: relative;
	padding: 8%;
}

.section03 .listArea-inner .list-cont h4{
	width: 35%;
	float: left;
}
.section03 .listArea-inner .list-cont h4 img{
	width: 100%;
}
.section03 .listArea-inner .list-cont .ttl{
	width: 60%;
	float: right;
	text-align: left;
}
.section03 .listArea-inner .list-cont .ttl p:nth-child(1){
	font-weight: bold;
    font-size: 2.8rem;
    line-height: 1;
    margin-bottom: 15px;
}
.section03 .listArea-inner .list-cont .ttl p:nth-child(2){
	font-weight: bold;
	color: #f30000;
	font-size: 2rem;
	margin-bottom: 15px;
	line-height: 1.6;
}
.section03 .listArea-inner .list-cont p:nth-child(3){
	clear: both;
	font-size: 2rem;
	text-align: left;
	line-height: 1.6;
}
.section03 .listArea-inner .list-cont p.list-btn{
	background: #2d2d2d;
	color: #FFF;
	text-align: center;
	width: 100%;
	font-weight: bold;
	position: relative;
	margin-top: 40px;
}

.section03 .listArea-inner .list-cont p.list-btn a{
	display: block;
	padding: 20px 0;
}
.section03 .listArea-inner .list-cont p.list-btn a:link:after {
    content: '';
    display: inline-block;
    height: 26px;
    width: 30px;
    background: url(../img/ico_link01.png) right 0 no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    margin-top: -12px;
    margin-left: 20px;
}



/* =========================================================
section04
========================================================= */
.section04{
	position: relative;
	overflow: hidden;
	margin-bottom: 30px;
	padding: 0 5%;
}
.section04 .imgArea{
	width: 100%;
}
.section04 .title{
	width: 100%;
	position: relative;
}
.section04 .title h3{
}

.section04 .title .txt{
	margin: 0 0 0 0;
	font-size: 2rem;
}

.sec04_foot{
	clear: both;
	position: relative;
	overflow: hidden;
	margin-bottom: 10%;
}
.sec04_foot .inner{
	background:url(../img/bg_gray.png) left top repeat;
	overflow: hidden;
	margin-top: 60px;
	padding: 8% 5%;
}
.sec04_foot .inner .sec04_conts{
	width: 100%;
	margin-bottom: 120px;
	float: left;
	position: relative;
}
.sec04_foot .inner .sec04_conts:last-child{
	margin-bottom: 0;
}
.sec04_foot .inner .sec04_conts:nth-child(2),
.sec04_foot .inner .sec04_conts:nth-child(4)
{
	float: right;
}
.sec04_foot .inner .sec04_conts .imgs{
	width: 35%;
	float: left;
	margin-bottom: 60px;
}
.sec04_foot .inner .sec04_conts .imgs img{
	width: 100%;
}
.sec04_foot .inner .sec04_conts .title{
	width: 60%;
	float: right;
	position: static;
}
.sec04_foot .inner .sec04_conts .title p:nth-child(1){
	font-weight: bold;
	color: #f30000;
	font-size: 2.6rem;
	margin-bottom: 20px;
	line-height: 1.6;
}

.sec04_foot .inner .sec04_conts .title p:nth-child(2){
	font-size: 2rem;
	margin-bottom: 40px;
}
.sec04_foot .inner .sec04_conts p.list-btn{
	clear: both;
	border: 1px solid #f30000;
	color: #f30000;
	text-align: center;
	width: 100%;
	font-weight: bold;
	position: relative;
}


.sec04_foot .inner .sec04_conts p.list-btn a{
	display: block;
	padding: 20px 0;
}
.sec04_foot .inner .sec04_conts p.list-btn a:link:after {
    content: '';
    display: inline-block;
    height: 26px;
    width: 30px;
    background: url(../img/ico_link02.png) right 0 no-repeat;
	background-size: 100%;
	position: absolute;
    top: 50%;
    margin-top: -12px;
    margin-left: 20px;
}


/* =========================================================
section05
========================================================= */
.section05{
	position: relative;
	overflow: hidden;
	padding: 0;
}
.section05 .title{
	width: 100%;
	position: relative;
	padding: 0 5%;
}
.section05 .title h3{
}
.section05 .title .txt{
	margin: 0 0 0 0;
	font-size: 2rem;
}
.section05 .imgArea{
	width: 100%;
	padding: 0 5%;
}
.section05 .inner{
	z-index: 3;
}
.sec05_foot{
	clear: both;
	position: relative;
    z-index: 3;
	padding-top: 60px;
}
.sec05_foot .inner{
	background:url(../img/bg_gray.png) left top repeat;
	overflow: hidden;
	padding: 8% 5%;
}
.sec05_foot .inner .sec05_conts{
	position: relative;
	margin-bottom: 40px;
}
.sec05_foot .inner .sec05_conts:last-child{
	margin-bottom: 0;
}
.sec05_foot .inner .sec05_conts .imgs{
}
.sec05_foot .inner .sec05_conts .title{
	width: 100%;
	background: #FFF;
	text-align: left;
	padding: 8%;
}
.sec05_foot .inner .sec05_conts .title p:first-child{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 20px;
	
}
.sec05_foot .inner .sec05_conts .title p:nth-child(2){
	font-size: 2.4rem;
	color: #f30000;
	font-weight: bold;
	margin-bottom: 20px;
	line-height: 1.6;
}
.sec05_foot .inner .sec05_conts .title p:nth-child(3){
	font-size: 2rem;
	
}
.section05 .pos-re{
	clear: both;
	position: relative;
	z-index: 1;
}

.section05 .bg-image{
	clear: both;
	width: 120%;
    height: 33%;
    -webkit-transform: skew(0deg, -15deg);
    background: #F00;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    top: 72%;
    left: -60px;
}
.section05 .bg-image span{
	width: 100%;
	height: 200%;
	display: block;
	background:url(../img/bg_red.png) left top repeat;
	-webkit-transform: skew(0deg, 15deg);
	position: relative;
	top:-400px;
}

.section05 .pos-re .fArea p{
	text-align: center;
}
.section05 .pos-re .fArea p:first-child{
	margin: 65px auto 60px auto;
	width: 28%;
}
.section05 .pos-re .fArea p:nth-child(2){
	margin: 0 auto 40px auto;
	width: 53%
}
.section05 .pos-re .fArea p:nth-child(3){
	font-size: 2rem;
	font-weight: bold;
	color: #FFF;
	margin-bottom: 60px;
}
.section05 .pos-re .fArea ul{
	width: 100%;
	margin: 0 8% 80px 8%;
	overflow: hidden;
}
.section05 .pos-re .fArea ul li{
	width: 16%;
	float: left;
	margin-left: 6%;
}
.section05 .pos-re .fArea ul li img{
	width: 100%;
}
.section05 .pos-re .fArea ul li:first-child{
	margin-left: 0;
}
.section05 .pos-re .fArea p:last-child{
	width:100%;
	padding: 0 8%;
}
.section05 .pos-re .fArea p:last-child img{
	width:100%;
}



.footer {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 420px;
    background: #FFF;
    margin-top: 80px;
    z-index: 0;
    position: relative;
}

.footer-inner{
	width: 100%;
	margin: 0 auto;
	position: relative;
	
}
.footer p:first-child{
	position: absolute;
    right: 0px;
    top: 195px;
    width: 100%;
    padding: 0 8%;
	text-align: right;
}
.footer p:first-child img{
	width: 15%;
}

.footer p:nth-child(2){
	position: absolute;
	right: 0px;
	top:365px;
	width: 100%;
	padding: 0 8%;
}
.footer p:nth-child(2) img{
	width: 100%;
}


.btn_nav{
	width:10%;
	position: fixed;
	right: 5%;
	top: 3%;
	z-index: 10;
	cursor: pointer;
}
.btn_nav img{
	width:100%;
}

.logo_nav{
	width:9%;
	position: fixed;
	left: 5%;
	top: 3%;
	z-index: 10;
}

.menu{
	display: none;
	width:100%;
	position: fixed;
	left: 0%;
	top: 0%;
	z-index: 30;
	padding: 5% 5%;
	background: #f30000;
}
.menu .btn_close{
	width:7%;
	float: right;
	margin-top: 3%;
	cursor: pointer;
	margin-bottom: 40px;
}
.menu .btn_close02{
	margin: 80px 0 80px 0
}


/*--------------------------------------------------------------------------
   .global-header
---------------------------------------------------------------------------*/
.global-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	min-width: 1200px;
	padding: 0 40px 0 0;
	/*box-shadow: 0 2px 16px -5px rgba(0, 0, 0, .3);*/
	background: #fff;
	display: flex;
	flex-flow: wrap;
	justify-content: space-around;
	
	font-family: 'Source Sans Pro', sans-serif;
	letter-spacing: 1px;

	/* 縦方向の並び順*/
	/*    
	flex-start：上揃え（デフォルト）
	flex-end：下揃え
	center：中央揃え
	baseline：ベースライン
	stretch：伸縮
	*/
	align-items: center;
}
.global-header .header-Inner{
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	display: flex;
	flex-flow: wrap;
	justify-content: space-around;

	/* 縦方向の並び順*/
	/*    
	flex-start：上揃え（デフォルト）
	flex-end：下揃え
	center：中央揃え
	baseline：ベースライン
	stretch：伸縮
	*/
	align-items: center;	
}

.global-header__logo {
	position: absolute;
	left: 50%;
	top: 10px;
	margin-left: -35px;
}



 @font-face{
	font-family:'honoka';
	font-style:normal;
	src:url('/assets/font/font_1_honokamin.eot');
	src:url('/assets/font/font_1_honokamin?#iefix') format('embedded-opentype'),
	url('/assets/font/font_1_honokamin.woff') format('woff'),
	url('/assets/font/font_1_honokamin.ttf') format('truetype');
}


    .inviewfadeIn {
        opacity: 0;
        transition: .8s;
    }
    
    .fadeIn {
        opacity: 1.0;
    }
 
    /*----- 上へスライド -----*/
    .inviewUp {
        transform: translate(0, 40px);
        -webkit-transform: translate(0, 40px);
        transition: .8s;
    }
    
    .Up {
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
    }
 
    /*----- ズームイン -----*/
    .inviewzoomIn {
        transform: scale(0, 0);
        -webkit-transform: scale(0, 0);
        transition: .8s;
    }
    
    .zoomIn {
        transform: scale(1, 1);
        -webkit-transform: scale(1, 1);
    } 
    
    /*----- フェードインしながら上へスライド -----*/
    .inviewfadeInUp {
        opacity: 0;
        transform: translate(0, 60px);
        -webkit-transform: translate(0, 60px);
        transition: .8s;
    }
    
    .fadeInUp {
        opacity: 1.0;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
    }
