@charset "utf-8";
/***********************************************

    基本設定

************************************************/
*{
    margin: 0;
    padding: 0;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
}
*:before, *:after{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
body{
	font-family:'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif;
	width: 100%;
    height: 100%;
	line-height: 1;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
.mincho{
	font-family:'Barlow','Yu Mincho','YuMincho','游明朝体','游明朝','ヒラギノ明朝 ProN','Hiragino Mincho ProN',"HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",sans-serif;
	font-weight: 600;
}
.eng{
	font-family:'Barlow','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
}
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary, main {
    display: block;
}
.cf:after{
    clear:both;
    content:"";
    display:block;
    height: 0;
}
.wrap{
	max-width: 1080px;
	width: 98%;
	margin: 0 auto;
	position: relative;
}
.wrap_14{
	max-width: 1440px;
	width: 98%;
	margin: 0 auto;
	position: relative;
}
a{
	display: block;
	text-decoration: none;
	color: #000;
	vertical-align: baseline;
    background: transparent;
	opacity: 1;
	-webkit-transition: all .2s ease-out;
	transition:all .2s ease-out;
}
a:hover{
    opacity: 0.7;
}
.fax a{
	display: inline-block;
	color: #000;
	text-decoration: none;
	pointer-events:none;
}
button{
	opacity: 1;
	-webkit-transition: opacity 0.2s ease-out;
	transition:opacity 0.2s ease-out;
}
button:hover{
	opacity: 0.7;
}
input, textarea, button {
    vertical-align: middle;
    outline: none;
    -webkit-appearance: none;
    border: 0;
    outline: 0;
}
li{
	list-style-type: none;
}
img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
iframe{
	vertical-align: bottom;
	border: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.bg{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.bg_fixed{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}
@media screen and (max-width:480px) {
	.bg_fixed{
		background-attachment: unset;
	}
}
.flex{
	display : -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
}
.flex_c{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flex_c_c{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex_jc{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex_sa{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flex_sb{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex_c_sb{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex_c_sa{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flex_w{
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex_end{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.flex_d{
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
}

/*  アイキャッチ画像設定　 */
span.thum_works{
	display: block;
    width: 100%;
    padding-top: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/*  Youtube設定　 */
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*  オブジェクトフィット　 */
.fit_contain {
	-webkit-object-position: 50% 50%;
	-moz-object-position: 50% 50%;
	object-position: 50% 50%;
    -webkit-object-fit: contain;
    -moz-object-fit: contain;
    object-fit: contain;
    font-family: 'object-fit: contain;';
}
.fit_cover {
	-webkit-object-position: 50% 50%;
	-moz-object-position: 50% 50%;
	object-position: 50% 50%;
    -webkit-object-fit: cover;
    -moz-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}