@charset "utf-8";
/*--------------------------------------
	copyright :
	page style sheet
--------------------------------------*/

@import url(normalize.css);
@import url(../_plugin/fontawesome/css/all.min.css);
@import url(https://unpkg.com/aos@next/dist/aos.css);
/*@import url(../_plugin/OwlCarousel/assets/owl.carousel.min.css); @import url(../_plugin/OwlCarousel/assets/owl.theme.default.css);*/
/*@import url(../_plugin/lightGallery/css/lightgallery.min.css);*/
@import url(common_parts.css);
@import url(common.css);


/* index ==============================*/
/* 共通 */
section { padding: 0 2rem; }
section:not(:nth-last-of-type(1)) { margin-bottom: 3rem; }
section h2 { margin-bottom: 1rem; font-size: 2.6rem; }
section h3,
section th { font-size: 2.2rem; }
section p,
section td { font-size: 2rem; }
.read_more { margin-top: 2rem; }
.read_more p { width: 50%; min-width: 20rem; margin-left: auto; color: #fff; text-align: center; background: #333; }
.read_more a { display: block; padding: 1rem 0; }
.read_more .hover-underline-animation span::after { background-color: #fff; }
@media screen and ( min-width: 481px ) {
	section { padding: 0 3rem; }
}
@media screen and ( min-width: 768px ) {
	section:not(:nth-last-of-type(1)) { margin-bottom: 10rem; }
	section h2 { margin-bottom: 3rem; font-size: 3rem; }
	section h3 { font-size: 2.4rem; }
	section th { font-size: 1.8rem; }
	section p,
	section td { font-size: 1.6rem; }
	.read_more { position: absolute; bottom: 0; right: 0; width: 100%; }
}
@media screen and ( min-width: 961px ) {
	section { padding: 0 2rem; }
}
/* 共通 ----------*/
#mv h2 { font-size: 3.4rem; }
#mv h3 { font-size: 2.4rem; line-height: 1.3; }
#mv p { font-size: 2rem; }
#mv .mv_inner { position: relative; }
#mv .img_box { position: relative; height: 650px; overflow: hidden; }
#mv .img_box img { position: absolute; top: 50%; left: 50%; max-width: inherit; transform: translate(-50%, -50%); }
#mv .catch { position: absolute; top: 50%; left: 50%; width: 100%; padding: 0 2rem; color: #fff; transform: translate(-50%, -50%); }
@media screen and ( min-width: 480px ) {
	#mv h2 { font-size: 5rem; }
	#mv h3 { font-size: 2.6rem; line-height: 1.3; }
	#mv p { font-size: 2rem; }
	#mv .catch p { text-align: center; }
}

/* プライバシーポリシー ==============================*/
#privacy ol { margin: 3rem 0; padding: 0 2rem; }
#privacy li:nth-of-type(even) { margin-bottom: 2rem; }

/* 会社概要 ==============================*/
#company tr { border: 1px solid #e5e5e5e5; }
#company th { padding: 1rem; text-align: left; background: #eee; }
#company td { padding: 1rem; }
@media screen and ( min-width: 768px ) {
	#company tr { border: 1px solid #e5e5e5e5; }
	#company th { background: #eee; border-right: 1px solid #e5e5e5e5; }
	#company td { padding: 2rem; }
}

/* オリジナルコンテンツ ==============================*/
/* sec_01 ----------*/
#orig_contents #sec_01 h3 { font-size: 2rem; }
#orig_contents #sec_01 .item_box { margin-bottom: 3rem; }
#orig_contents #sec_01 .flb_r .img_box { text-align: center; }
#orig_contents #sec_01 .flb_r .text_box { margin-top: 1rem; }
@media screen and ( min-width: 768px ) {
	#orig_contents #sec_01 .item_box { margin-bottom: 5rem; }
	#orig_contents #sec_01 .flb,
	#orig_contents #sec_01 .flb_r { flex-wrap: wrap; }
	#orig_contents #sec_01 .flb > div,
	#orig_contents #sec_01 .flb_r > div { width: calc( (99.999% - 5rem) / 2 ); }
	#orig_contents #sec_01 .flb .text_box,
	#orig_contents #sec_01 .flb_r .text_box { position: relative; }
	#orig_contents #sec_01 .flb .img_box { margin-right: 5rem; }
	#orig_contents #sec_01 .flb_r .img_box { margin-left: 5rem; }
}

/* sec_02 ----------*/
#orig_contents #sec_02 figure { margin-bottom: 2rem; }
@media screen and ( min-width: 768px ) {
	#orig_contents #sec_02 figure { margin-bottom: 5rem; }
}

/* sec_03 ----------*/
#orig_contents #sec_03 figure { margin-bottom: 2rem; }
@media screen and ( min-width: 768px ) {
	#orig_contents #sec_03 figure { margin-bottom: 5rem; }
	#orig_contents #sec_03 p { padding: 0 10rem; text-align: center; }
}

/* sec_04 ----------*/
#orig_contents #sec_04 figure { margin-bottom: 2rem; }
@media screen and ( min-width: 768px ) {
	#orig_contents #sec_04 figure { margin-bottom: 5rem; }
	#orig_contents #sec_04 figure + p { padding: 0 10rem; text-align: center; }
	#orig_contents #sec_04 .item_box { margin-bottom: 5rem; }
	#orig_contents #sec_04 .flb .text_box { position: relative; }
	#orig_contents #sec_04 .flb .img_box { width: 100%; margin-right: 5rem; }
}

/* sec_05 ----------*/
#orig_contents #sec_05 .flb figcaption { padding: 1rem 0; }
#orig_contents #sec_05 .flb > div { margin-bottom: 3rem; }
@media screen and ( min-width: 768px ) {
	#orig_contents #sec_05 .flb { flex-wrap: wrap; }
	#orig_contents #sec_05 .flb > div { width: calc( (100% - 6rem) / 3 ); margin-bottom: 3rem; }
	#orig_contents #sec_05 .flb > div:not(:nth-of-type(3n)) { margin-right: 3rem; }
}


/* オリジナルコンテンツ2 ==============================*/
/* sec_02 ----------*/
#orig_contents_2 #sec_02 .table_wrap { overflow: auto; white-space: nowrap; }
#orig_contents_2 #sec_02 table { min-width: 769px; }
#orig_contents_2 #sec_02 th { background: #ddd; padding: 1rem; border: 1px solid #e5e5e5e5; }
#orig_contents_2 #sec_02 td { text-align: center; padding: 2rem; border: 1px solid #e5e5e5e5; }

/* sec_03 ----------*/
#orig_contents_2 #sec_03 th,
#orig_contents_2 #sec_03 td { display: block; }
#orig_contents_2 #sec_03 tr { border: 1px solid #e5e5e5e5; }
#orig_contents_2 #sec_03 th { vertical-align: middle; background: #ddd; }
#orig_contents_2 #sec_03 td { padding: 1rem; }
@media screen and ( min-width: 768px ) {
	#orig_contents_2 #sec_03 th,
	#orig_contents_2 #sec_03 td { display: table-cell; }
	#orig_contents_2 #sec_03 th { border-right: 1px solid #e5e5e5e5; }
	#orig_contents_2 #sec_03 td { padding: 2rem; }
}

/* ニュース一覧・ニュース記事 ==============================*/
#news #sec_01 img { width: 100%; }
#news #sec_01 .item { margin-bottom: 5rem; }
#news #sec_01 .text_box { position: relative; }
#news #sec_01 .read_more p { margin: auto; }
@media screen and ( min-width: 480px ) {
	
}
@media screen and ( min-width: 768px ) {
	#news #sec_01 .read_more { position: static; }
	#news #sec_01 .img_box { margin-right: 3rem; }
	#news #sec_01 .item { margin-bottom: 5rem; padding-bottom: 3rem;  border-bottom: 1px solid #ddd; }
}
@media screen and ( min-width: 1025px ) {
	#news #sec_01 .read_more { position: absolute; }
}