@charset "utf-8";
/* 標準可変メディア
メモ : 可変メディアでは、HTML からメディアの高さおよび幅の属性を削除する必要がある
http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
max-width: 100%; height: auto;
}
/* IE 6 では最大幅がサポートされていないため、デフォルトで幅 100% に設定される */
.ie6 img {
width:100%; height: auto;
}

.bask {font-family: 'Roboto', sans-serif; font-weight: 400;}

.en {font-family: "Times New Roman", Times, serif;}
.en2 {font-family: 'Raleway', sans-serif;}

.c-read-more {
display: -ms-inline-flexbox;
display: inline-flex;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-ms-flex-pack: start;
justify-content: flex-start;
-ms-flex-align: center;
align-items: center;
-ms-flex-line-pack: center;
align-content: center;
position: relative;
padding: .5em 0;
color: #000;
}
.c-read-more .circle {
position: relative;
display: inline-block;
margin-top: 1px;
width: 7px;
height: 7px
}
.c-read-more .circle:after, .c-read-more .circle:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
background: #658d1b
}
.c-read-more .circle:after {
opacity: 0;
visibility: hidden;
-webkit-transform: translate3d(0, -20px, 0) scale(.75, 1.75);
transform: translate3d(0, -20px, 0) scale(.75, 1.75)
}
.c-read-more .txt {
display: inline-block;
padding-left: 1em
}



/* デスクトップレイアウト : 769 px ～最大 1232 px。モバイルレイアウトとタブレットレイアウトからスタイルを継承。 */

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

.wrap { width: 100%; margin: auto; padding:0 0 0;}
.w1200 { width: 1200px; margin: auto; position: relative;}
.w1000 { width: 1000px; margin: auto;position: relative;}
.w850 { width: 850px; margin: auto;position: relative;}

.pc { display: block;}
.sp { display: none;}
.pcBr { display: inline-block;}
.spBr { display: none;}

#totop { position: fixed; bottom: 80px; right: 40px;}
#totop a { display: block;}
#totop a:hover {}

.pdTB60 { padding: 60px 0;}
.pdTB40 { padding: 40px 0;}

.contents {
padding:165px 0 0;
}


.line_through{
	text-align:center;
	position:relative;
	width:96%;
	margin:0 auto;
}
.line_through:before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	top:50%;
	width:100%;
	height:1px;
	background:#222222;
	z-index:-1;
}
.line_through .title{
	display:inline-block;
	padding:0 20px;
	background:#ffffff;
	z-index:1;
	font-size:142.86%;
	font-family:"Times New Roman", Times, serif;
/*-ms-transform:rotate(0.03deg);-o-transform:rotate(0.03deg);-webkit-transform:rotate(0.03deg);transform:rotate(0.03deg);*/
	font-weight:100;
	line-height:100%;
}

.arrow {
background: url("../images/com/icon_ani.gif") 0 0 no-repeat;
background-size: 100% auto;
height:67px;
width:60px;
display: inline-block;
margin:0 0 -5px;
}

.arrow_w {
background: url("../images/com/icon_ani2_w.gif") 0 0 no-repeat;
background-size: 100% auto;
height:67px;
width:60px;
display: inline-block;
margin: 0;
}


.com_btn {
	margin:0 auto;
	width: 220px;
}

.com_btn a {
	font-size: 12px;
	color: #fff;
	position: relative;
	text-align: center;
	margin: 30px auto 0;
	border-radius: 10px;
	width: 200px;
	border:1px solid #999;
}

.com_btn a {
	color: #000;
	font-size: 12px;
	font-weight: 400;
	display: block;
	padding: 10px;
}

.com_btn a::before {
	position: absolute;
	display: block;
	content: url(../images/com/arrow2.png);
	width:10px;
	height:15px;
	right: 10px;
	top: 14px;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.com_btn a:hover::before {
	right: 5px;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.com_btn a:hover {
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	opacity:0.6;
}

/*com_page
----------------------------------------*/
.page_title_area {
    padding-top: 160px;
    padding-bottom: 160px;
}

.page_title_area .page_title {
    text-align: center;
}

.page_title_area .page_title .en {
    display: block;
    font-size: 3.8rem;
    font-weight: 400;
    line-height: 1;
    padding-left: .34em;
    letter-spacing: 0.34em;
}


.page_title_area .page_title .ja {
    display: block;
    padding-left: .1em;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-top: 32px;
    font-size: 0.9rem;
    font-weight: 500;
}

.com_page_wrap {
margin-bottom: 120px;
}


.com_content__title {
    font-weight: 500;
    font-size: 16px;
    border-bottom: solid 1px #dddde4;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.section_header02 {
margin-bottom: 7.5%;
}

.section_header02 .tagline {
margin-bottom:20px;
font-size: 0.75rem;
position: relative;
font-family: "Raleway",sans-serif;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 1;
color: rgba(0,0,0,.5);
}

.section_header02 .section_heading {
font-size: 1.5rem;
display: inline-block;
font-family: "Raleway",sans-serif;
font-weight: 800;
text-transform: uppercase;
line-height: 1;
letter-spacing: 0.16em;
}
    
.section_header02 .section_heading_pro{
font-size: 1.5rem;
display: inline-block;
font-family: "Raleway",sans-serif;
font-weight: 800;
text-transform: none;
line-height: 1;
letter-spacing: 0.16em;
}

.section_header02 .separator {
display: inline-block;
}

.section_header02 .separator span {
width: 10px;
height: 16px;
margin-left: 15px;
margin-right: 13px;
background: url("../images/com/ico_slash.png") 0 0 no-repeat;
vertical-align: top;
display: block;
}

.section_header02 .section_heading_jp {
padding-bottom: 3px;
font-size: 0.9375rem;
-webkit-transform: translate(0, -1px);
transform: translate(0, -1px);
display: inline-block;
line-height: 1;
letter-spacing: 0.1em;
}


/*header
----------------------------------------*/
header {
position: fixed;
left: 0;
top: 0;
width: 100%;
background: #ffffff;
z-index: 100;
border-bottom: solid 1px #dedede;
-webkit-transition: height 0.3s ease-out;
transition: height 0.3s ease-out;
}
header .w1200 { margin: auto;position: relative;}
header h1 {
display: block;
margin:15px auto 10px;
width:100px;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

header nav {display: block;}
header nav ul { list-style: none;text-align: center;}
header nav ul li {
display: inline-block;
margin: 0 15px;
margin: 0 1%;
padding: 13px 0 10px 0;
line-height: 100%;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
position: relative;
font-family: "Times New Roman", Times, serif;
}
header nav ul li a{
display: block;
text-decoration: none;
font-family: "Times New Roman", Times, serif;
font-size: 1rem;
line-height: 120%;
letter-spacing: 1px;
position: relative;
}

header nav ul li a:hover{
color: #222426;
}

header .sns {
    position: fixed;
    right: 5%;
    right: 40px;
    top: 41px;
    text-align: right;
    -webkit-transition: top 0.3s ease-out;
    transition: top 0.3s ease-out;
}

header .sns a {
    display: inline-block;
    height: 18px;
    line-height: 18px;
    vertical-align: middle;
}

header .sns a img {
    display: block;
    height: 100%;
    width: auto;
}

header .sns a.en_link {
    text-decoration: none;
    font-style: italic;
    font-family: "Times New Roman",Times,serif;
    margin-right: 25px;
    letter-spacing: 1px;
    font-size: 95%;
}





/*footer
----------------------------------------*/
footer {border-top: solid 1px #dedede;padding-top: 60px;}
footer .title {
    display: block;
    width: 80px;
    margin: 0 auto;
}

footer ul {
    list-style: none;
    text-align: center;
    padding-top: 20px;
}

footer ul li {
    display: inline-block;
    padding: 13px 1% 10px 1%;
    line-height: 110%;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    position: relative;
}

footer ul li::after {
    content: '';
    width: 1px;
    background: #d0d0d0;
    position: absolute;
    right: -1.5%;
    top: 50%;
    margin-top: -10px;
    height: 20px;
    display: block;
}

footer ul li:last-of-type::after {
    display: none;
}

footer ul li a {
    display: block;
    text-decoration: none;
    font-family: "Times New Roman", Times, serif;
    line-height: 10px;
    letter-spacing: 1px;
    color: #222426;
}

footer ul li a:hover {
color: #222426;
opacity: 0.6;
}

footer .corpo_links {
    text-align: center;
    position: relative;
}

footer .corpo_links a {
position: relative;
display: inline-block;
font-family: "Times New Roman", Times, serif;
}

footer .corpo_links a::after {
    content: '';
    display: block;
    width: 10px;
    height: 8px;
    position: absolute;
    right: -15px;
    top: 50%;
    margin-top: -4px;
    background-image: url("../images/footer/blank.png");
    background-position: center center;
    background-repeat: no-repeat;
}


footer .sns {
position: relative;
text-align: center;
-webkit-transition: top 0.3s ease-out;
transition: top 0.3s ease-out;
margin: 20px auto 20px;
}

footer .sns a {
    display: inline-block;
    height: 18px;
    line-height: 18px;
    vertical-align: middle;
}

footer .sns a img {
    display: block;
    height: 100%;
    width: auto;
}

footer .sns a.en_link {
    text-decoration: none;
    font-style: italic;
    font-family: "Times New Roman",Times,serif;
    margin-right: 25px;
    letter-spacing: 1px;
    font-size: 95%;
}


footer .copyrights {
    display: block;
    text-align: center;
    padding: 40px 0 30px 0;
    font-size: 85.71%;
    letter-spacing: 1px;
}



}

/* モバイルレイアウト : 480 px およびそれ以下. */
/*sp*/
@media only screen and (max-width: 767px) {

.wrap { width: 100%; margin: auto; padding: 0 0 0;}
.w1200 { width: 100%; margin: auto;}
.w1000 { width: 90%; margin: auto;}
.w850 { width: 90%; margin: auto;}

.pc { display: none;}
.sp { display: block;}
.pcBr { display: none;}
.spBr { display: inline-block;}

#totop { position: fixed; bottom: 70px; right: 20px; width: 60px; height: 60px;}
#totop a { display: block;}
#totop a:hover {}
#totop a img { width: 80%; height: auto;}

.pdTB60 { padding: 10% 0;}
.pdTB40 { padding: 6% 0;}

.contents {
padding-top: 0;
}


.line_through{
	text-align:center;
	position:relative;
	width:96%;
	margin:0 auto;
}
.line_through:before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	top:50%;
	width:100%;
	height:1px;
	background:#222222;
	z-index:-1;
}
.line_through .title{
	display:inline-block;
	padding:0 20px;
	background:#ffffff;
	z-index:1;
	font-size:120%;
	font-family:"Times New Roman", Times, serif;
/*-ms-transform:rotate(0.03deg);-o-transform:rotate(0.03deg);-webkit-transform:rotate(0.03deg);transform:rotate(0.03deg);*/
	font-weight:100;
	line-height:0.6;
}


.com_page_wrap {
margin-bottom: 60px;
}

.com_content__title {
    font-weight: 500;
    font-size: 14px;
    border-bottom: solid 1px #dddde4;
    padding-bottom: 5px;
    margin-bottom: 15px;
}



.arrow {
background: url("../images/com/icon_ani.gif") 0 0 no-repeat;
background-size: 100% auto;
height:35px;
width:35px;
display: inline-block;
margin: 0 0 0 5px;
}

.arrow_w {
background: url("../images/com/icon_ani2_w.gif") 0 0 no-repeat;
background-size: 100% auto;
height:25px;
width:25px;
display: inline-block;
margin: 0 0 0 5px;
}

.com_btn {
	margin:0 auto;
	width: 220px;
}

.com_btn a {
	font-size: 12px;
	color: #fff;
	position: relative;
	text-align: center;
	margin: 30px auto 0;
	border-radius: 10px;
	width: 200px;
	border:1px solid #999;
}

.com_btn a {
	color: #000;
	font-size: 12px;
	font-weight: 400;
	display: block;
	padding: 10px;
}

.com_btn a::before {
	position: absolute;
	display: block;
	content: url(../images/com/arrow2.png);
	width:10px;
	height:15px;
	right: 10px;
	top: 14px;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.com_btn a:hover::before {
	right: 5px;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.com_btn a:hover {
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	opacity:0.6;
}

/*com_page
----------------------------------------*/
.page_title_area {
    padding-top: 60px;
    padding-bottom: 60px;
}

.page_title_area .page_title {
    text-align: center;
}

.page_title_area .page_title .en {
    display: block;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    padding-left: 0.17em;
    letter-spacing: 0.17em;
}


.page_title_area .page_title .ja {
    display: block;
    padding-left: .1em;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-top: 10px;
    font-size: 0.7rem;
    font-weight: 500;
}


.section_header02 {
margin-bottom: 7.5%;
}

.section_header02 .tagline {
margin-bottom:20px;
font-size: 0.75rem;
position: relative;
font-family: "Raleway",sans-serif;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 1;
color: rgba(0,0,0,.5);
}

.section_header02 .section_heading {
font-size: 1.2rem;
display: inline-block;
font-family: "Raleway",sans-serif;
font-weight: 800;
text-transform: uppercase;
line-height: 1;
letter-spacing:0.05em;
}

.section_header02 .separator {
display: inline-block;
}

.section_header02 .separator span {
width: 10px;
height: 16px;
margin-left: 15px;
margin-right: 13px;
background: url("../images/com/ico_slash.png") 0 0 no-repeat;
vertical-align: top;
display: block;
}

.section_header02 .section_heading_jp {
padding-bottom: 3px;
font-size: 0.7rem;
-webkit-transform: translate(0, -1px);
transform: translate(0, -1px);
display: inline-block;
line-height: 1;
letter-spacing: 0.1em;
}



/*header
----------------------------------------*/
header {
position: relative;
width: 100%;
background: #ffffff;
z-index: 5;
border-bottom: solid 1px #f1efef;
-webkit-transition: height 0.3s ease-out;
transition: height 0.3s ease-out;
}
header .w1200 { margin: auto;position: relative;}
header h1 {
display: block;
margin:10px auto 10px;
width:55px;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

header nav {display: none;}

header .sns {
display: none;
}


/*sp menu
----------------------------------------*/
nav.sp_menu { color: #000; position: fixed; width: 100%; height: 100vh; top: 0px; background-color: transparent; z-index: 9999; display: none; right: 0px; margin: 0px; padding: 0px; }
nav.sp_menu ul { position: relative; width: 100%;display: flex; align-items: center; }
nav.sp_menu ul { position: relative; display: inline-block; margin:15vh 8vw 0; width: 100%; z-index: 10;}
nav.sp_menu ul li { font-size: 1.2em;font-family: "Times New Roman", Times, serif; line-height: 1em;margin-bottom: 1.2em; letter-spacing: 0.05em;position: relative;}
nav.sp_menu ul li i { margin-right: 0.2em; margin-left: 0.2em; }
nav.sp_menu ul li i img { height: auto; width: 1em; padding-bottom: 0.2em; margin-right: 0.2em; }
nav.sp_menu ul li.sep { margin-top: 2em; }
nav.sp_menu ul li.sns { margin-top: 2em; font-size: 1.6em; }
nav.sp_menu ul li a { color: #000; text-decoration: none; position: relative;}
nav.sp_menu .corpo_links_sp a::after {
    content: '';
    display: block;
    width: 10px;
    height: 8px;
    position: absolute;
    right: -15px;
    top: 50%;
    margin-top: -4px;
    background-image: url("../images/footer/blank.png");
    background-position: center center;
    background-repeat: no-repeat;
}

nav.sp_menu .sns_icon{
width: 25px;
margin:20px auto 0;
position: relative;
z-index: 10;
}




.menu_overlay { position: fixed; width: 100%; height: 100vh; top: 0; left: 0; background-color: #FFF; opacity: 0.95; z-index: 5; }
.menu_btn { width: 5em; height: 5em; position: fixed; overflow: visible; line-height: 13px; font-size: 1em; cursor: pointer; top: 0em; z-index: 999; left: 0em; }
.menu_btn .line { position: fixed; background-color: #000; overflow: hidden; z-index: 999; width: 1.5em; height: 1.8px; left: 6%; }
.menu_btn .line:nth-child(1) { top: 2.2em; z-index: 2; }
.menu_btn .line:nth-child(2) { top: 2.7em; z-index: 2; }
.menu_btn .line:nth-child(3) { top: 3.2em; z-index: 2; }

.btn_wrapper { z-index: 99999; position: fixed; }
.btn_wrapper.clicked .menu_btn .line:nth-child(1) { -webkit-transform: translateY(0.5em) rotate(45deg); transform: translateY(0.5em) rotate(45deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .line:nth-child(2) { opacity: 0; -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .line:nth-child(3) { -webkit-transform: translateY(-0.5em) rotate(-45deg); transform: translateY(-0.5em) rotate(-45deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }







/*footer
----------------------------------------*/
footer {border-top: solid 1px #dedede;padding-top: 20px;}
footer .title {
    display: block;
    width: 50px;
    margin: 0 auto;
}

footer ul {
display: none;
}

footer .corpo_links {
display: none;
}

footer .copyrights {
    display: block;
    text-align: center;
    padding: 20px 0 0;
    font-size: 85%;
    letter-spacing: 0px;
}


footer .sns {
display: none;
}


}




