@charset "UTF-8";

/* -----------------------------------------------
 *  	         component.css
 * ----------------------------------------------- */



/* =========== generalArti 汎用の括り =========== */
article.general_arti{
	margin:0 auto;
	}
/* 1200px */
@media only screen and (max-width: 75em) {
	article.general_arti{
		padding:0 1%;
	}
}

article.general_arti_type2{
	margin:0 auto;
	padding:5% 0;
	}
/* 1200px */
@media only screen and (max-width: 75em) {
	article.general_arti_type2{
		padding:5% 1%;
	}
}


/* works_arti_type1*/
article.works_arti_type1{
	margin:0 auto 5%;
	padding:5% 0;
	background-color:#ffffff;
	}
/* 1200px */
@media only screen and (max-width: 75em) {
	article.works_arti_type1{
		padding:5% 1%;
	}
}
/* 768px */
@media only screen and (max-width: 48em) {
	article.works_arti_type1{
	padding:8% 1%;
	}
}

/* =========== content_Sect 汎用section =========== */
section.content_sect01{
	margin:0 0 5% 0;
	}
	
section.content_sect02{
	position:relative;
	margin:0 0 5% 0;
	padding:0 0 5% 0;
	}
section.content_sect02::after{
	content:"";
	display:block;
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	height:1px;
	width:50%;
	background-color:#000;
	}

/* 768px */
@media only screen and (max-width: 48em) {
section.content_sect02{
	position:relative;
	margin:0 0 30px 0;
	padding:0 0 30px 0;
	}
section.content_sect02::after{
	content:"";
	display:block;
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	height:1px;
	width:100%;
	background-color:#000;
	}
}


section.content_sect03{
	position:relative;
	margin:0 0 5% 0;
	padding:0 0 5% 0;
	}


/* ===========div=========== */


div.go_to_index{
	margin:0 0 30px 0;
	}
div.go_to_index a{
	display:block;
	margin:0 auto;
	width:30px;
	height:30px;
	}
div.go_to_index a svg{
	display:block;
	width:30px;
	height:30px;
	transition:all 0.3s;
	}
/* hover */
div.go_to_index a:hover svg{
	fill:#666;
	}




/* ===========heading1=========== */
/* 各ページのヘッダー */
h1.heading1_001{
	text-align:center;
	margin:0 0 5% 0;
	padding:0 0 0 0;
	font-size:36px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	font-family: 'Alegreya', serif;
	}
h1.heading1_001 span{
	display:block;
	text-align:center;
	font-size:16px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	font-family: "Sawarabi Mincho";
	}
/* 768px */
@media only screen and (max-width: 48em) {
h1.heading1_001{
	}
}



/* ===========heading2=========== */
h2.heading2_001{
	text-align:center;
	margin:0 0 3% 0;
	font-size:43px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	font-family: 'Alegreya', serif;
	}
/* 768px */
@media only screen and (max-width: 48em) {
h2.heading2_001{
	}
}


h2.heading2_002{
	text-align:center;
	margin:0 0 5% 0;
	padding:0 0 0 0;
	font-size:36px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	font-family: 'Alegreya', serif;
	}
h2.heading2_002 span{
	display:block;
	text-align:center;
	font-size:16px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	font-family: "Sawarabi Mincho";
	}
/* 768px */
@media only screen and (max-width: 48em) {
h2.heading2_002{
	}
}

/* 新コンタクトの見出し */
h2.heading2_003{
	text-align:left;
	margin:0 0 20px 0;
    padding: 0 0 0 10px;
	font-size:20px;
	font-family: "Sawarabi Mincho";
    border-left: solid 5px #000;
	}
/* 768px */
@media only screen and (max-width: 48em) {
h2.heading2_003{
	}
}

/* ===========heading3=========== */

h3.heading3_001{
	text-align:center;
	margin:0 0 10px 0;
	padding:0 0 0 0;
	font-size:23px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	font-family: 'Alegreya', serif;
	}
h3.heading3_001 span{
	display:block;
	text-align:center;
	font-size:16px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	font-family: "Sawarabi Mincho";
	}
/* 768px */
@media only screen and (max-width: 48em) {

}


/* en */
h3.heading3_002{
	text-align:center;
	margin:0 0 10px 0;
	padding:0 0 0 0;
	font-size:23px;
	letter-spacing:2px;
	line-height:1.2;
	font-weight:normal;
	font-family:"Sawarabi Mincho";
	}
h3.heading3_002 span{
	display:block;
	text-align:center;
	font-size:16px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	}
/* 768px */
@media only screen and (max-width: 48em) {
}


/* jp */
h3.heading3_003{
	text-align:center;
	margin:0 0 30px 0;
	padding:0 0 0 0;
	font-size:23px;
	letter-spacing:2px;
	line-height:1.2;
	font-weight:normal;
	font-family:"Sawarabi Mincho";
	}
h3.heading3_003 span{
	display:block;
	text-align:center;
	font-size:16px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	}
/* 768px */
@media only screen and (max-width: 48em) {
}



/* ===========heading4=========== */

h4.heading4_001{
	text-align:left;
	margin:0 0 10px 0;
	padding:0 0 0 0;
	font-size:16px;
	letter-spacing:2px;
	line-height:1.2;
	font-weight:normal;
	font-family:"Sawarabi Mincho";
	}
h4.heading4_001 span{
	display:block;
	text-align:center;
	font-size:14px;
	letter-spacing:8px;
	line-height:1.2;
	font-weight:normal;
	}

@media only screen and (max-width: 48em) {
h4.heading4_001{

	}
}


/* ===========heading5=========== */
h5.heading5_001{
	text-align:left;
	margin:0 0 10px 0;
	padding:0 0 0 0;
	font-size:14px;
	letter-spacing:2px;
	line-height:1.2;
	font-weight:normal;
	font-family:"Sawarabi Mincho";
	}

@media only screen and (max-width: 48em) {
h5.heading5_001{

	}
}


h5.heading5_002{
	text-align:left;
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:14px;
	letter-spacing:2px;
	line-height:1.2;
	font-weight:normal;
	font-family:"Sawarabi Mincho";
	}

@media only screen and (max-width: 48em) {
h5.heading5_002{

	}
}



/* ===========txt=========== */
.txt001{
	}

/* 768px */
@media only screen and (max-width: 48em) {
.txt001{
	}
}

/* ===========leadTxt=========== */
p.lead_txt_01{
	font-size:12px;
	text-align:center;
	line-height:1.6;
	font-weight: lighter;
	letter-spacing:2px;
	font-family:"Sawarabi Mincho";
	}
/* 768px */
@media only screen and (max-width: 48em) {
p.lead_txt_01{
	text-align:justify;
	width: 95%;
	margin: auto;
}
}

/* URL */
p.lead_txt_02{
	font-size:26px;
	text-align:center;
	line-height:1.6;
	font-weight: normal;
	letter-spacing:2px;
	font-family: 'Alegreya', serif;
	}
p.lead_txt_02 a{
	text-decoration:none;
	}

/* URL */
p.lead_txt_03{
	font-size:18px;
	text-align:center;
	line-height:1.6;
	font-weight: normal;
	letter-spacing:2px;
	line-height:1.8;
	font-family: 'Alegreya', serif;
	}
p.lead_txt_03 span{
	display: block;
	font-size: 16px;
	font-family: "Sawarabi Mincho";
	}
	
p.lead_txt_04{
	font-size:14px;
	text-align:center;
	line-height:1.6;
	font-weight: normal;
	letter-spacing:2px;
	font-family: "Sawarabi Mincho";
	}

/* ===========Txt=========== */
p.txt_01{
	font-size:12px;
	text-align:center;
	line-height:1.6;
	font-weight: lighter;
	letter-spacing:2px;
	font-family:"Sawarabi Mincho";
	}
/* 768px */
@media only screen and (max-width: 48em) {
p.txt_01{
	}
}


p.txt_02{
	font-size:12px;
	text-align:left;
	line-height:1.6;
	font-weight: lighter;
	letter-spacing:2px;
	margin:0 0 10px 0;
	font-family:"Sawarabi Mincho";
	}
/* 768px */
@media only screen and (max-width: 48em) {
p.txt_02{
	}
}

/* ===========figure=========== */
/* 001 */
figure.figure_001{
	margin:0 0 2% 0;
	}
figure.figure_001 img{
	}


/* 002 */
figure.figure_002{
	margin:0 0 2% 0;
	}
figure.figure_002 img{
	width:49%;
	margin:0;
	padding:0;
	line-height:0;
	}
figure.figure_002 img:first-child{
	margin-right:2%;
	}


/* 003 */
figure.figure_003{
	margin:0 0 2% 0;
	}
figure.figure_003 img{
	width:32%;
	margin:0;
	padding:0;
	line-height:0;
	}
figure.figure_003 img:nth-child(2){
	margin:0 2%;
	}



/* 010 about logo */
figure.figure_010{
	margin:0 0 5% 0;
	}
figure.figure_010 img{
	margin:0;
	padding:0;
	text-align:center;
	line-height:0;
	}
/* 768px */
@media only screen and (max-width: 48em) {
figure.figure_010{
	margin:0 auto 20px;
	width:70%
	}
}


/* ===========definitionList=========== */
dl.definition_list_01{
	}


/* ===========BTNsetting=========== */
.btn01{
	}
.btn01 a{
	display:block;
	width:40%;
	margin:0 auto;
	padding:15px 0;
	text-align:center;
	font-size:1.2em;
	letter-spacing:3px;
	line-height:1.2;
	border:solid #000000 2px;
	background-color:#000000;
	color:#FFF;
	text-decoration:none;
	box-sizing:border-box;
	font-family:"Sawarabi Mincho";
	}
.btn01 a span{
	display:block;
	font-size:0.4em;
	}
.btn01 a:hover{
	background-color:#ffffff;
	color:#000000;
	transition:0.3s;
	}
/* 768px */
@media only screen and (max-width: 48em) {
.btn01 a{
	width:80%;
	}
}
/* 480px */
@media only screen and (max-width: 30em) {
.btn01 a{
	width:100%;
	}
}



/* ===========other div=========== */
div.works_logo{
	margin:0 auto 3%;
	width:200px;
	}


/* =====================UL TXT LIST===================== */
ul.txt_list_01{
	text-align:center;
	font-family:"Sawarabi Mincho";
	list-style:none;
	}
ul.txt_list_01 li{
	}


/* 02 */
ul.txt_list_02{
	font-family:"Sawarabi Mincho";
	list-style: none;
	}
	
ul.txt_list_02 li{
	font-size:12px;
	text-align:left;
	line-height:1.6;
	font-weight: lighter;
	letter-spacing:2px;
	margin:0 0 0 0;
	padding:0 0 0 5px;
	font-family:"Sawarabi Mincho";
	}
ul.txt_list_02 li::before{
	content:"・";
	}




/* 768px */
@media only screen and (max-width: 48em) {
p.txt_02{
	}
}



/* =====================UL INDEX LIST===================== */
/* index_list_01 */
ul.index_list_01{
	list-style:none;
	}
ul.index_list_01 li{
	float:left;
	width:31%;
	margin-right:3.5%;
	margin-bottom:5%;
	}
ul.index_list_01 li:nth-child(3n){
	margin-right:0;
	}
ul.index_list_01 li a{
	position:relative;
	display:block;
	text-decoration:none;
	}

ul.index_list_01 li a figure{
	position:relative;
	margin:0 0 3% 0;
	overflow:hidden;
	}
ul.index_list_01 li a figure img{
	transform: scale(1);
	-webkit-transform: scale(1);
	transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	}

ul.index_list_01 li a figure::after{
	position: absolute;
	display:block;
	content:"";
	width:0;
	height:0;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	background-color:#000;
	opacity:0.2;
	transition:all 0.3s;
	}
	
ul.index_list_01 li a h3{
	font-size:15px;
	font-size:1.5rem;
	text-align:center;
	letter-spacing:2px;
	font-weight:normal;
	height:50px;
	font-family: 'Alegreya', serif;
	}

/* hover */
ul.index_list_01 li a:hover figure img{
	transform: scale(1.05);
	-webkit-transform: scale(1.05);
	transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	}
ul.index_list_01 li a:hover figure::after{
	width:100%;
	height:100%;
	}

/* 960px */
@media only screen and (max-width: 60em) {

}

/* 768px */
@media only screen and (max-width: 48em) {
ul.index_list_01 li{
	float:left;
	width:49%;
	margin-right:2%;
	margin-bottom:5%;
	}
ul.index_list_01 li:nth-child(3n){
	margin-right:2%;
	}
ul.index_list_01 li:nth-child(even){
	margin-right:0%;
	}
}




/* =====================UL INDEX LIST 02===================== */
/* index_list_02 9/7追記*/
ul.index_list_02{
	list-style:none;
	width: 70%;
	margin: 0 auto;
	}
ul.index_list_02 li{
	float:left;
	width:31%;
	margin-right:3.5%;
	margin-bottom:5%;
	}
ul.index_list_02 li:nth-child(3n){
	margin-right:0;
	}
ul.index_list_02 li a{
	position:relative;
	display:block;
	text-decoration:none;
	}

ul.index_list_02 li a figure{
	position:relative;
	margin:0 0 3% 0;
	overflow:hidden;
	border: 1px solid #CCC;
	}
ul.index_list_02 li a figure img{
	transform: scale(1);
	-webkit-transform: scale(1);
	transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	}

ul.index_list_02 li a figure::after{
	position: absolute;
	display:block;
	content:"";
	width:0;
	height:0;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	background-color:#000;
	opacity:0.2;
	transition:all 0.3s;
	}
	
ul.index_list_02 li a h3{
	font-size:15px;
	font-size:1.5rem;
	text-align:center;
	letter-spacing:2px;
	font-weight:normal;
	height:50px;
	font-family: 'Alegreya', serif;
	}

/* hover */
ul.index_list_02 li a:hover figure img{
	transform: scale(1.05);
	-webkit-transform: scale(1.05);
	transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	}
/*ul.index_list_02 li a:hover figure::after{
	width:100%;
	height:100%;
	}
*/

/* 960px */
@media only screen and (max-width: 60em) {
ul.index_list_02{
	width: 90%;
	}
}

/* 768px */
@media only screen and (max-width: 48em) {
ul.index_list_02 li{
	float:left;
	width:49%;
	margin-right:2%;
	margin-bottom:5%;
	}
ul.index_list_02 li:nth-child(3n){
	margin-right:2%;
	}
ul.index_list_02 li:nth-child(even){
	margin-right:0%;
	}
}


/* =====================UL INDEX LIST 03===================== */
/* index_list_03 9/7追記*/
ul.index_list_03{
	list-style:none;
	width: 100%;
	margin: 0 auto 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	}
ul.index_list_03 li{
	width:49%;
    margin: 0 0 2% 0;
    border: solid 1px #000000;
    text-align: center;
	}
ul.index_list_03 li a{
	display:block;
	text-decoration:none;
    padding: 15px 0;
    font-size: 16px;
    transition:all 0.3s;
	}
ul.index_list_03 li a:hover{
    background-color: #000;
    color: #fff;
	}

/* 768px */
@media only screen and (max-width: 48em) {
ul.index_list_03{
    display: block;
	}
ul.index_list_03 li{
	width:100%;
	}
ul.index_list_03 li a{
    font-size: 14px;
	}
}



/* =====================Definition List===================== */


dl.definition_ist_01{
	font-family:"Sawarabi Mincho";
}
dl.definition_ist_01 dt{
	position:relative;
	margin: 0 0 10px 0;
	padding:5px 0 5px 10px;
	font-size: 16px;
	border-bottom:dotted 1px #000000;
	/*cursor:pointer;*/
	transition:all 0.3s;
}
dl.definition_ist_01 dt::after{
	position:absolute;
	right:10px;
	/*content:"▼";*/
	text-align:right;
}
dl.definition_ist_01 dt.isshow::after{
	content:"▲";
	text-align:right;
}


dl.definition_ist_01 dd{
	margin: 0 0 20px 0;
	padding:0 0 0 15px;
	font-size: 12px;
}

/* hover */
/*dl.definition_ist_01 dt:hover{
	background-color: #e9e9e9;
}*/




/* ============================■■共通CLASS■■============================ */
/* clearfix */
.clearfix:after {
  display: block;
  visibility: hidden; 
  clear: both;
  height: 0;
  content: "";
}

/* =========== br =========== */
/* 768px */
@media only screen and (max-width: 48em) {
br.erase768{
	display:none;
	}
}

/* =========== limit =========== */
.limited{width:98%; margin:0 auto;}

.limit1600{max-width:1600px; margin:0 auto;}
.limit1400{max-width:1400px; margin:0 auto;}
.limit1200{max-width:1200px; margin:0 auto;}
.limit1050{max-width:1050px; margin:0 auto;}
.limit1024{max-width:1024px; margin:0 auto;}
.limit960{max-width:960px; margin:0 auto;}
.limit768{max-width:768px; margin:0 auto;}
.limit480{max-width:480px; margin:0 auto;}

/* ========== marginBottom ========== */
.mb0{ margin-bottom:0 !important; }
.mb10{ margin-bottom:10px !important; }
.mb20{ margin-bottom:20px !important; }
.mb30{ margin-bottom:30px !important; }
.mb40{ margin-bottom:40px !important; }
.mb50{ margin-bottom:50px !important; }
.mb60{ margin-bottom:60px !important; }
.mb70{ margin-bottom:70px !important; }
.mb80{ margin-bottom:80px !important; }
.mb90{ margin-bottom:90px !important; }
.mb100{ margin-bottom:100px !important; }

/* ========== marginBottomParcent ========== */
.mb0p{ margin-bottom:0 !important; }
.mb1p{ margin-bottom:1% !important; }
.mb2p{ margin-bottom:2% !important; }
.mb3p{ margin-bottom:3% !important; }
.mb05p{ margin-bottom:5% !important; }
.mb10p{ margin-bottom:10% !important; }
.mb15p{ margin-bottom:15% !important; }
.mb20p{ margin-bottom:20% !important; }
.mb30p{ margin-bottom:30% !important; }
.mb40p{ margin-bottom:40% !important; }
.mb50p{ margin-bottom:50% !important; }
.mb60p{ margin-bottom:60% !important; }
.mb70p{ margin-bottom:70% !important; }
.mb80p{ margin-bottom:80% !important; }
.mb90p{ margin-bottom:90% !important; }
.mb100p{ margin-bottom:100% !important; }

/* ========== txt-align ========== */
.txt_left{text-align:left !important;}
.txt_center{text-align:center !important;}
.txt_right{text-align:right !important;}
.txt_just{text-align:justify !important;}

/* ========== br ========== */
/* 768px */
@media only screen and (max-width: 48em) {
br.del768{ display:none;}
}

/* ============================■■共通CLASS■■============================ */

/* ●↑汎用スタイル */







/* ======================parts====================== */

/* 1400px */
@media only screen and (max-width: 87.5em) {
}
/* 1200px */
@media only screen and (max-width: 75em) {
}
/* 1024px */
@media only screen and (max-width: 64em) {
}
/* 960px */
@media only screen and (max-width: 60em) {
}
/* 768px */
@media only screen and (max-width: 48em) {
}
/* 720px */
@media only screen and (max-width: 45em) {
}
/* 600px */
@media only screen and (max-width: 37.5em) {
}
/* 480px */
@media only screen and (max-width: 30em) {
}
/* 320px */
@media only screen and (max-width: 20em) {
}