@charset "utf-8";

a:hover p {
    opacity: 0.5;
}

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

	非表示指定

==============================================*/
@media print, screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
}

@media print, screen and (min-width: 769px) {
	.sp {
		display: none !important;
	}
}


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

	COLER指定

==============================================*/
.brn {
	color: #000;
}
.bg_brn {
	background-color: #000;
}
.bg_lightbrn {
	background-color: #FCFBFA;
}


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

	FONT指定

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

.en01 {
  font-family: "Bodoni Moda", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.tate_en {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	text-align: left;
	letter-spacing: 0.04em;
}

.tate_jp {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	text-align: left;
}

.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.6;
}

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

	NEWアイコン 指定

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

span.icon_new {
	color:#CC8F23;
	font-weight:bold;
	font-size:0.9em;
	margin-left:0.5em;
	vertical-align: baseline;
	letter-spacing: 0;
}

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

	ふわっと表示

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

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein-up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}

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

	くの字 指定

==============================================*/
.arrow_right {
   position: relative;
    vertical-align: middle;
    text-decoration: none;
}

.arrow_right::after {
    content: "";
    position: absolute;
    right: 0;
    top: 40%;
    width: 4px;
    height: 4px;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
}

.arrow_below {
   position: relative;
    vertical-align: middle;
    text-decoration: none;
}

.arrow_below::after {
    content: "";
    position: absolute;
    right: 0;
    top: 40%;
    width: 4px;
    height: 4px;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    vertical-align: middle;
}

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

	ボタン

==============================================*/
.btn_wrap {
	padding: 1em 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.btn_wrap .btn {
	min-width: 48%;
	margin: 0.5em 1%;
}
.btn_wrap .btn a {
	text-align: center;
	display: block;
	color: #000;
	border: 1px solid #000;
	padding: 0.6em 0.3em;
}
.btn_wrap .btn a:hover {
	color: #FFF;
	background-color: #000;
}
@media print, screen and (min-width: 769px) {
	.btn_wrap {
		padding: 20px 0;
	}
	.btn_wrap .btn {
		min-width: 30%;
		margin: 10px 1%;
	}
	.btn_wrap .btn a {
		padding: 15px 15px;
	}
	.btn_wrap .btn a:hover {
	}
}

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

	リンク アクションなし

==============================================*/
.nolink {
	pointer-events: none;
}

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

	WRAPPER

==============================================*/
#wrapper {
	width: 100%;
	margin: 0;
	padding: 0;
}

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

	Container

==============================================*/
.container {
	width: 90%;
	margin: 0 auto;
	padding: 0;
	position: relative;
}
@media print, screen and (min-width: 769px) {
	.container {
		min-width: 960px;
		max-width: 1280px;
	}
}
@media print, screen and (min-width: 1281px) {
	.container {

	}
}

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

	SEO BAR

==============================================*/
.seobar {
	padding: 3px 5px;
	background-color: #000;
}
.seobar .seotitle{
	font-size: 0.8em;
	color: #FFF;
	text-align: right;
}
@media print, screen and (min-width: 769px) {
	.seobar {
	}
	.seobar .seotitle{
		font-size: 11px;
	}
}
@media print, screen and (min-width: 1281px) {

}

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

	HEADER

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

header {
	position: relative;
	z-index: 999;
	width:100%;
	height: 8vh;
}

header a#to_home {
	position: absolute;
	top:50%;
	left:15%;
	transform: translate(-50%, -50%);
	width: 20%;
}

header a#to_home img {
	width:100%;
	height:auto;
}
header a.menu_fair {
	position: absolute;
	top:50%;
	left:2%;
	transform: translateY(-50%);
	display: inline;
	padding: 0.7em 0.5em 0.3em;
	border: 1px solid #000;
	line-height: 1;
	font-size: 0.9em;
	letter-spacing: 0;
}

/* ナビメニューのスタイルを指定 */
nav.NavMenu {
position: fixed;
z-index: 500; /*重ね順を変更*/
top: 0; /*表示位置を指定*/
left: 0; /*表示位置を指定*/
background: #000;
text-align: center; /*テキストを中央揃え*/
width: 100%; /*全幅表示*/
transform: translateY(-100%); /*ナビを上に隠す*/
transition: all 0.4s; /*アニメーションの時間を指定*/
padding: 6em 0 4.5em;
height: 100%;
max-height:100vh;
overflow-y:scroll;
}
nav.NavMenu .container{
	height: 90%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */		
}

/** SNS アイコン **/
nav.NavMenu .sns_wrap {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
    right: 80px;
    top: 25px;
}
nav.NavMenu .sns_wrap li {
	width: 36px;
}
nav.NavMenu .sns_wrap li img {
	width: 100%;
	height: auto; 
}

nav.NavMenu .btn_wrap {
	margin-bottom: 2em;
}
nav.NavMenu .btn_wrap .fair {
	color: #FFF;
	background-color: #c71585;
	border-color: #c71585;
}
nav.NavMenu .btn_wrap .plan {
	color: #FFF;
	background-color: #BF9833;
}
nav.NavMenu .nav_inner {
	width:100%;
	position: relative;
	padding: 15vh 0 20vh;
	box-sizing: border-box;
}


nav.NavMenu .navilink_wrap {
}
nav.NavMenu .navilink_wrap ul {
	margin:0;
	padding:0;
	letter-spacing: 0;
}
nav.NavMenu .navilink_wrap ul.last {
	margin-bottom: 1em;
}
nav.NavMenu .navilink_wrap ul li {
	text-align: left;
	font-size: 20px;
	width: 100%;
}

nav.NavMenu .navilink_wrap ul li a {
	display: block;
	position: relative;
	color: #FFF;
	padding: 0.4em 0.5em;
}
nav.NavMenu .navilink_wrap ul li a.icon_instagram {
	padding: 0.4em 0.5em 0.4em 10%;
}
nav.NavMenu .navilink_wrap ul li a.icon_instagram::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(/img/common/instagram_wht.svg) no-repeat 2% center;
	background-size: 6% auto;
	width: 100%;
	height: 100%;
}
nav.NavMenu .navilink_wrap .tel_box {
	width: 90%;
	background-color: #FFF;
	padding: 1.5em 5%;
}
nav.NavMenu .navilink_wrap .tel_box .tel_title {
	font-size: 1em;
	text-decoration: underline;
	margin-bottom: 1em;
}
nav.NavMenu .navilink_wrap .tel_box a {
	font-size: 3em;
	line-height: 1;
}
nav.NavMenu .navilink_wrap .tel_box a span {
	font-size: 0.6em;
	vertical-align: baseline;
}
nav.NavMenu .navilink_wrap .attention {
	font-size: 1em;
	padding: 0.3em 0;
}

/*トグルボタンが押されたときに付与するクラス*/
nav.NavMenu.active {
transform: translateY(0);
}	


/*トグルボタンのスタイルを指定*/
.Toggle {
	position: fixed;
    right: 0%;
    top: 21px;
    width: 70px;
    height: 53px;
    cursor: pointer;
    z-index: 600;
}
 
.Toggle span {
    display: block;
    position: absolute;
    width: 60px;
    border-bottom: solid 1px #000;
    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
    transition: .35s ease-in-out;			/*変化の速度を指定*/
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
 
.Toggle span:nth-child(1) {
    top: 43%;
}
 
.Toggle span:nth-child(2) {
    top: 58%;
}
 	
.Toggle.active span {
    border-bottom: solid 1px #FFF;
} 
/* 最初のspanをマイナス45度に */
.Toggle.active span:nth-child(1) {
    top: 0%;
    left: 40%;
    -webkit-transform: rotate(-45deg) translate(-50%, -50%);
    -moz-transform: rotate(-45deg) translate(-50%, -50%);
    transform: rotate(-45deg) translate(-50%, -50%);
}
 
/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
    top: 80%;
    left: 40%;
    -webkit-transform: rotate(45deg) translate(-50%, -50%);
    -moz-transform: rotate(45deg) translate(-50%, -50%);
    transform: rotate(45deg) translate(-50%, -50%);
}	


@media print, screen and (min-width: 400px) {

header nav ul li {
	font-size:14px;
}

}

@media print, screen and (min-width: 769px) {
	header {
		height: 70px;
	}
	header a#to_home {
		width: 130px;
	}
	
	header a#to_home img {
		width:100%;
		height:auto;
	}
	header a.menu_fair {
		padding: 0.5em 0.8em 0.3em;
		font-size: 14px;
	}
	

	header a.menu_trigger {
		width: 100px;
		right: 1%;
		padding: 25px 15px;
	}
	
	/* ナビメニューのスタイルを指定 */
	nav.NavMenu {
	position: fixed;
	z-index: 100; /*重ね順を変更*/
	top: 0; /*表示位置を指定*/
	left: 0; /*表示位置を指定*/
	background: #000;
	color: #FFF; /*文字色を黒にする*/
	text-align: center; /*テキストを中央揃え*/
	width: 100%; /*全幅表示*/
	transform: translateY(-100%); /*ナビを上に隠す*/
	transition: all 0.4s; /*アニメーションの時間を指定*/
	padding: 140px 0;
	}
	nav.NavMenu .container {
		margin: 0 auto;
	}
	
	
	/** SNS アイコン **/
	nav.NavMenu .sns_wrap {
	    right: 150px;
	    top: 30px;
	}
	nav.NavMenu .sns_wrap li {
		width: 45px;
	}
	nav.NavMenu .sns_wrap li img {
	}
	
	nav.NavMenu .btn_wrap {
		margin-bottom: 30px;
	}
	nav.NavMenu .btn_wrap .fair {
	}
	nav.NavMenu .btn_wrap .plan {
	}	
	nav.NavMenu .nav_content {
	}
	
	nav.NavMenu .nav_img {
	}
	
	nav.NavMenu .navilink_wrap {
		display: flex;
		justify-content: space-between;
		width: 80%;
		margin: 0 auto;
	}
	nav.NavMenu .navilink_wrap > div {
		width: 100%;
	}
	nav.NavMenu .navilink_wrap ul {
		margin:0 auto;
		padding:0;
		letter-spacing: 0;
		text-align: center;
		width: 80%;
		max-width: 1280px;
		min-width: 960px;
	}
	nav.NavMenu .navilink_wrap ul .flex {
		width: 100%;
	}
	nav.NavMenu .navilink_wrap ul.last {
	}
	nav.NavMenu .navilink_wrap ul li {
		font-size: 40px;
		width: auto;
	}
	
	nav.NavMenu .navilink_wrap ul li a {
		display: block;
		position: relative;
		color: #FFF;
		padding: 10px 0;
		text-align: center;
	}

	nav.NavMenu .navilink_wrap ul li a.icon_instagram {
		padding: 10px 0 10px 30px;
	}
	nav.NavMenu .navilink_wrap ul li a.icon_instagram::before {
		transform: translateY(-55%);
		background: url(/img/common/instagram_wht.svg) no-repeat left center;
		background-size: 8% auto;
	}

	nav.NavMenu .navilink_wrap .tel_box {
		width: 80%;
		padding: 1.5em 5%;
	}
	nav.NavMenu .navilink_wrap .tel_box .tel_title {
		font-size: 13px;
		margin-bottom: 10px;
		text-align: center;
	}
	nav.NavMenu .navilink_wrap .tel_box a {
		font-size: 34px;
		text-align: center;
		display: block;
	}
	nav.NavMenu .navilink_wrap .tel_box a span {
		font-size: 14px;
	}
	nav.NavMenu .navilink_wrap .attention {
		font-size: 14px;
		padding: 0.3em 0;
		text-align: center;
	}

	/*トグルボタンが押されたときに付与するクラス*/
	nav.NavMenu.active {
	transform: translateY(0%);
	}	

	/*トグルボタンのスタイルを指定*/
	.Toggle {
	    display: block;
	    position: fixed;    /* bodyに対しての絶対位置指定 */
	    right: 30px;
	    top: 30px;
	    width: 80px;
	    height: 80px;
	    cursor: pointer;
	    z-index: 600;
	}
	 
	.Toggle span {
	    display: block;
	    position: absolute;
	    width: 80px;
	    border-bottom: solid 1px #000;
	    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
	    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
	    transition: .35s ease-in-out;			/*変化の速度を指定*/
	}
	 
	.Toggle span:nth-child(1) {
	    top: 23px;
	}
	 
	.Toggle span:nth-child(2) {
	    top: 35px;
	}
	 
	
	.Toggle.active span {
	    border-bottom: solid 1px #FFF;
	} 
	/* 最初のspanをマイナス45度に */
	.Toggle.active span:nth-child(1) {
	    top: 18px;
	    left: 0;
	    -webkit-transform: rotate(-45deg);
	    -moz-transform: rotate(-45deg);
	    transform: rotate(-45deg);
	}
	 
	/* 2番目と3番目のspanを45度に */
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
	    top: 18px;
	    left: 0;
	    -webkit-transform: rotate(45deg);
	    -moz-transform: rotate(45deg);
	    transform: rotate(45deg);
	}

		
}


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

	パンくず

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

.bread_crumb {
	display: block;
	background: #ECECEC;
	padding: 25px 0 20px;
}

.bread_crumb ul li {
	display: inline;
	vertical-align: top;
	margin-right:1em;
	font-size: 0.8em;
	font-weight: 300;
}

.bread_crumb ul li + li {
	position: relative;
}

.bread_crumb ul li + li:before {
	content:">　";
}


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

	FOOTER

==============================================*/
footer {
	margin: 0;
	padding: 0;
}
@media print, screen and (min-width: 769px) {
}
@media print, screen and (min-width: 1281px) {
}


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

	FOOTER TOPICS

==============================================*/
.co_footer_topics {
	padding: 3em 0;
	/** border-top: 1px solid #000; **/
}
.co_footer_topics .title_wrap {
	margin-bottom: 2em;
}
.co_footer_topics .title_wrap .en_title {
	text-align: center;
	font-size: 2em;
	margin-bottom: 0.5em;
}
.co_footer_topics .title_wrap .title {
	text-align: center;
	font-size: 1.4em;
}
.co_footer_topics .list_wrap {
	
}
.co_footer_topics .list_wrap li {
	margin-bottom: 1.5em;
}
.co_footer_topics .list_wrap li .date {
	margin-bottom: 0.3em;
	font-size: 0.9em;
}
.co_footer_topics .list_wrap li .body a {
	text-decoration: none;
	line-height: 1.8;
}
.co_footer_topics .list_wrap li .body a:hover {
	text-decoration: underline;
}
@media print, screen and (min-width: 769px) {
	.co_footer_topics {
		padding: 70px 0;
	}
	.co_footer_topics .container {
		display: flex;
		justify-content: space-between;
	}
	.co_footer_topics .title_wrap {
		width: 25%;
		margin-bottom: 0;
	}
	.co_footer_topics .title_wrap .en_title {
		text-align: left;
		font-size: 30px;
		margin-bottom: 15px;
	}
	.co_footer_topics .title_wrap .title {
		text-align: left;
		font-size: 20px;
	}
	.co_footer_topics .list_wrap {
		width: 70%;
	}
	.co_footer_topics .list_wrap li {
		margin-bottom: 20px;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.co_footer_topics .list_wrap li .date {
		margin-bottom: 0;
		margin-right: 3%;
		font-size: 14px;
	}
	.co_footer_topics .list_wrap li .body a {
	}
	.co_footer_topics .list_wrap li .body a:hover {
	}

}

@media print, screen and (min-width: 1281px) {

}




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

	FOOTER CATEGORY

==============================================*/
.co_footer_category {
	padding: 3em 0;
}
.co_footer_category .container {
	width: 90%;
	margin-left: auto;
	margin-right: 0;
}
.co_footer_category .logo {
	width: 80%;
	margin-bottom: 1em;
}
.co_footer_category .img {
	width: 100%;
	margin-bottom: 2em;
}

.co_footer_category .tel_wrap {
	padding: 2em 0 0;
	border-top: 1px solid #000;	
	width: 92%;
}
.co_footer_category .link_arrow {
}
.co_footer_category .link_arrow .link {
	margin-bottom: 0em;
}
.co_footer_category .link_arrow .link a {
	font-size: 1.4em;
	position: relative;
	text-align: left;
	display: flex;
	padding: 0.3em 0;
}
.co_footer_category .link_arrow .link a::after {
	content: '';
	width: 12%;
	height: 7px;
	border-bottom: solid 1px;
	border-right: solid 1px;
	transform: skew(45deg);
	margin: 4px 0 0 8px;
}

@media print, screen and (min-width: 769px) {
	.co_footer_category {
		padding: 50px 0;
	}
	.co_footer_category .container {
        width: 86%;
        margin-left: auto;
        margin-right: 0;
        max-width: 1440px;
        min-width: 960px;
	}
	.co_footer_category .logo {
		width: 40%;
		min-width: 390px;
		margin-bottom: 40px;
	}
	.co_footer_category .img {
		width: 100%;
		margin-bottom: 50px;
	}
	
	.co_footer_category .link_arrow {
		display: flex;
		justify-content: flex-start;
	}
	.co_footer_category .link_arrow .link {
		margin-bottom: 0em;
		margin-right: 5%;
	}
	.co_footer_category .link_arrow .link a {
		font-size: 1.4em;
		position: relative;
		text-align: left;
		display: flex;
		padding: 0.3em 0;
	}
	.co_footer_category .link_arrow .link a::after {
		content: '';
		width: 100px;
		height: 10px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		margin: 6px 0 0 8px;
	}
	
}

@media print, screen and (min-width: 1281px) {
}


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

	FOOTER NAVI LIST

==============================================*/
.co_footer_navi {
	padding: 2em 0;
}
.co_footer_navi ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.co_footer_navi ul li {
	width: 50%;
	text-align: center;
	padding: 0.5em 0;
}
.co_footer_navi ul li a {
	color: #000;
	display: block;
	padding: 0.5em 0;
	font-size: 1.1em;
}
@media print, screen and (min-width: 769px) {
	.co_footer_navi {
		padding: 50px 0;
	}
	.co_footer_navi ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.co_footer_navi ul li {
		width: auto;
		text-align: center;
		padding: 0 0;
		margin: 0 20px;
	}
	.co_footer_navi ul li a {
		padding: 10px 0;
		font-size: 14px;
	}

}

@media print, screen and (min-width: 1281px) {
	.co_footer_navi ul li a {
		font-size: 16px;
	}
}


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

	FOOTER COMPANY

==============================================*/
.co_footer_company {
	padding: 3em 0;
	border-top: 1px solid #000;
}
.co_footer_company .logo {
	width: 60%;
	margin: 0 auto 2em;
}
.co_footer_company .btn_wrap {
	margin-bottom: 0;
}
.co_footer_company .btn_wrap .btn {
	width: 60%;
	margin: 0 auto 1em;
}
.co_footer_company .btn_wrap .btn:last-of-type {
	margin-bottom: 0;
}
.co_footer_company .btn_wrap .btn a {
    padding: 0.6em 0.3em 0.4em;
}

.co_footer_company .sub_page {
	display: flex;
	justify-content: center;
}
.co_footer_company .sub_page li {
	margin: 0 4%;
}
.co_footer_company .sub_page li a {
	color: #000;
}
@media print, screen and (min-width: 769px) {
	.co_footer_company {
		padding: 70px 0;
	}
	.co_footer_company .logo {
		width: 25%;
		margin: 0 auto 2em;
	}
	.co_footer_company .btn_wrap {
		margin-bottom: 0;
	}
	.co_footer_company .btn_wrap .btn {
		width: 30%;
		margin: 10px 1% 0;
	}
	.co_footer_company .btn_wrap .btn a {
	    padding: 0.6em 0.3em 0.4em;
	}
	
	.co_footer_company .sub_page {
	}
	.co_footer_company .sub_page li {
		margin: 0 30px;
	}
	.co_footer_company .sub_page li a {
	}
}
@media print, screen and (min-width: 1281px) {
}


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

	FOOTER SUBリンク

==============================================*/
.co_footer_sublink {
	padding: 3em 0 2em;
	background-color: #F4F4F4;
}

.co_footer_sublink .sub_page {
	display: flex;
	justify-content: center;
}
.co_footer_sublink .sub_page li {
	margin: 0 4%;
}
.co_footer_sublink .sub_page li a {
	color: #000;
}
@media print, screen and (min-width: 769px) {
	.co_footer_sublink {
		padding: 70px 0 30px;
	}
	
	.co_footer_sublink .sub_page {
	}
	.co_footer_sublink .sub_page li {
		margin: 0 30px;
	}
	.co_footer_sublink .sub_page li a {
	}
	.co_footer_sublink .sub_page li a:hover {
		text-decoration: underline;
	}
}
@media print, screen and (min-width: 1281px) {
}


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

	FOOTER GROUP LINK

==============================================*/
.co_group_link {
	padding: 2em 0;
	background-color: #F4F4F4;
}
.co_group_link ul {
	width: 90%;
	margin: 0 auto;
	padding-top: 3em;
	border-top: 1px solid #000;
}
.co_group_link ul li {
	padding: 0.5em 0;
}
.co_group_link ul li a {
	color: #000;
	font-size: 1em;
	padding: 0 1em;
}
.co_group_link ul li a:hover {
	text-decoration: underline;
}
@media print, screen and (min-width: 769px) {
	.co_group_link {
		padding: 50px 0;
	}
	.co_group_link ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.co_group_link ul li {
		padding: 10px 0;
		text-align: center;
	}
	.co_group_link ul li a {
		font-size: 15px;
		padding: 0 15px;
		border-right: 1px solid #FFF;
	}
	.co_group_link ul li:last-child a {
		border-right: none;
	}
}
@media print, screen and (min-width: 1281px) {
}


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

	COPYRIGHT

==============================================*/
.copyright_wrap {
	padding: 5em 0;
	background-color: #F4F4F4;
}
.copyright_wrap .company_text {
	text-align: center;
	font-size: 1.1em;
	padding: 2em 0;
}
.copyright_wrap .copyright {
	text-align: center;
	font-size: 0.8em;
}

@media print, screen and (min-width: 769px) {
	.copyright_wrap {
		padding: 50px 0;
	}

}

@media print, screen and (min-width: 1281px) {
}


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

	トピックス一覧

==============================================*/
.topics_list_wrap {
	margin: 0;
	padding: 0;
	border-top: 1px solid #000;
}
.topics_list_wrap > .box {
	position: relative;
	padding: 2em 7%;
}
.topics_list_wrap > .box dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.topics_list_wrap > .box dl dt {
	width: 30%;
}
.topics_list_wrap > .box dl dd {
	width: 65%;
}
.topics_list_wrap > .box dl dd .body {
	line-height: 1.8;
	font-size: 0.9em;
}
.topics_list_wrap > .box dl dd .body span {
	color: #CCC;
}
.topics_list_wrap > .box dl dd .body a {
	text-decoration: underline;
}
.topics_list_wrap > .box dl dd .body a:hover {
	text-decoration: none;
}
@media print, screen and (min-width: 768px) {
	.topics_list_wrap {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #000;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
	}
	.topics_list_wrap > .box {
		position: relative;
		width: 40%;
		padding: 40px 5%;
	}
	.topics_list_wrap > .box:last-of-type {
		border-bottom: none;
	}
	.topics_list_wrap > .box:last-of-type::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 1px;
		height: 100%;
		background-color: #000;
	}

	.topics_list_wrap > .box dl {
	}
	.topics_list_wrap > .box dl dt {
		width: 18%;
	}
	.topics_list_wrap > .box dl dd {
		width: 76%;
	}
	.topics_list_wrap > .box dl dd .body {
		font-size: 14px;
	}
	.topics_list_wrap > .box dl dd .body span {
	}
	.topics_list_wrap > .box dl dd .body a {
	}
	.topics_list_wrap > .box dl dd .body a:hover {
	}
}
@media print, screen and (min-width: 1281px) {


}




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

	WORKS

==============================================*/
.works_list {
	padding: 3em 0;
}
.works_list .title {
	text-align: center;
	font-size: 2.5em;
	margin-bottom: 1em;
}
.works_list .list {
	
}
.works_list .list li {
	width: 100%;
	margin-bottom: 3em;
	text-align: left;
	position: relative;
}
.works_list .list li a {
	display: block;
}
.works_list .list li .img {
	margin-bottom: 1em;
	cursor: pointer;
	overflow: hidden;
	width: 100%;
	position: relative;
}
.works_list .list li .img img {
	height: auto;
	transition: transform 0.6s ease; /* ゆっくり変化させる */
}
.works_list .list li .img:hover img {
	transform: scale(1.1); /* 拡大 */
}
.works_list .list li .img::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
}
.works_list .list li .name {
	font-size: 1.2em;
	color: #FFF;
	position: absolute;
	left: 0;
	top: 45%;
	transform: translateY(-50%);
	text-align: center;
	width: 100%;
}
.works_list .list li .sub {
	font-size: 0.8em;
	color: #FFF;
	position: absolute;
	left: 0;
	top: 60%;
	transform: translateY(-50%);
	text-align: center;
	width: 100%;
}
@media print, screen and (min-width: 768px) {
	.works_list {
		padding: 50px 0;
	}
	.works_list .title {
		font-size: 50px;
		margin-bottom: 50px;
	}
	.works_list .list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.works_list .list li {
		width: 48%;
		margin: 0 0 50px;
	}
	.works_list .list li .name {
		font-size: 16px;
	}
	.works_list .list li .sub {
		font-size: 11px;
	}
}


@media print, screen and (min-width: 960px) {
	.works_list .container {
		max-width: 1440px;
	}
	.works_list .list {
		justify-content: center;
	}
	.works_list .list li {
		width: 31%;
		margin: 0 1% 50px;
	}
	.works_list .list li .name {
		font-size: 20px;
	}
	.works_list .list li .sub {
		font-size: 12px;
	}
}
