@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');


#Content_feature * {
  font-family: 'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
#Content_feature .fontMin,
#Content_feature .fontMin *{  
  font-family: "Noto Serif JP", serif;
}
#Content_feature{
	position: relative;
	background: url(images/bg.png) no-repeat center bottom / cover;
	margin-bottom: 20px;
}
#Content_feature a{
	color: #000 !important;
	text-decoration: none;
}
#Content_feature img{
	max-width: 100%;
}
#Content_feature .article_inner{
	margin: 0 auto;
	position: relative;
	max-width: 1000px;
}
#Content_feature .article_inner > div{
	position: relative;
	z-index: 10;
}
#Content_feature .inner{
  margin: 0 auto;
  max-width: 870px;
}
@media (max-width: 999px) {
	#Content_feature .inner{
		padding-left: 6%;
		padding-right: 6%;
	}
}
@media (max-width: 820px) {
	#Content_feature .article_inner > div{
		margin-left: auto;
		margin-right: auto;
	}
}/*-SP tablet-*/

#Content_feature .article_inner h2{
	text-align: center;
}
#Content_feature .article_inner h2 img{
	margin: 0 auto;
	height: 23px;
	width: auto;
}
#Content_feature .btn a:has(img){
	font-size: 0;
}
#Content_feature .flex{
	display: flex;
	flex-wrap: wrap;
}
#Content_feature .font_min{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif" !important;
}
@media (max-width: 820px) {
	#Content_feature .article_inner h2 img{
		height: 18px;
	}
}/*-SP tablet-*/
@media screen and (min-width: 769px){
#Content_feature .pcFlex{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
  /*justify-content: space-between;*/
	flex-wrap: wrap;
}
}/*-PC only-*/


/* mainvisual */
#mainvisual{
	position: relative;
	background: #f38750 url(images/mv.png) no-repeat center center / contain;
	font-size: 0;
	text-align: center;
	z-index: 10;
}
#mainvisual > img{
	position: relative;
	width: max(100%,1920px);
	max-width: none;
}
@media (max-width: 820px) {
#mainvisual img{
	width: max(100%,820px);
}
}/*-SP tablet-*/

/* maintitle */
#Content_feature .maintitle{
	margin: 0 auto;
	padding: min(calc(66/1920*100vw),66px) 0 min(calc(140/1920*100vw),140px);
}
#mainvisual .maintitle figure{
	margin: 0 auto;
	width: min(88%, 921px);
	text-align: center;
	font-size: 0;
}
#mainvisual .maintitle figure img{
	width: 100%;
}

@media (max-width: 820px) {
	#Content_feature .maintitle{
		padding: min(5vw,40px) 0 min(2vw,20px);
	}
	#mainvisual{
		background-size: 100%;
	}
	#mainvisual .maintitle figure{
		width: 90%;
	}
}/*-SP tablet-*/
@media (min-width: 821px) {
}/*-PC only-*/


/* works */
#Content_feature #works{	
	padding: 60px 0 85px;
}
/* introduction */
#Content_feature #introduction{	
}
#introduction p{
	text-align: center;
	color: #ffffff;
	font-size: 24px;
	line-height: 2.125em;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#introduction p .pcWrap span {
  display: inline-block;
  margin-bottom: 6px;
  background-image: repeating-linear-gradient(
    to right,
    #fff 0,
    #fff 5px,
    transparent 5px,
    transparent 9px
  );
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
}
#introduction .txt-term {
	margin: 30px auto 0;
	width: min(100%, 634px);
	background-color: #ffffff;
	font-weight: 500;
	font-size: 23px;
	text-align: center;
}
#introduction .txt-term .fontL{
	font-size: 1.5em;
}
#introduction .mainName {
	margin-top: 24px;
}
#introduction .mainName li{
	font-size: 21px;
	font-weight: 700;
	color: #ffffff;
	text-align: center;
}
#introduction .mainName li span{
	font-size: 33px;
}


@media (min-width: 821px) and (max-width: 999px) {
}


/* workBox */
.workBox{
	position: relative;
	background-color: #ffffff;
	padding: 38px;
}
.workBox + .workBox{
	margin-top: 70px;
}
.workBox .workBoxTi{
	margin-bottom: 30px;
}
.workBox .workBoxTi h3::before,
.workBox .workBoxTi h3::after{
	position: absolute;
	content: "";
	display: inline-block;
	width: 334px;
	height: 139px;
}
.workBox .workBoxTi h3::before{
	top: 0;
	left: 0;
	border-top: 2px solid #000000;
	border-left: 2px solid #000000;
}
.workBox .workBoxTi h3::after{
	bottom:0;
	right: 0;
	border-right: 2px solid #000000;
	border-bottom: 2px solid #000000;
}
.workBox .workBoxTi h3{
	position: relative;
	display: inline-flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 0;
	padding: 15px;
	min-width: 507px;
	min-height: 172px;
	font-size: min(4.2vw,46px);
    line-height: 1.6em;
	letter-spacing: -0.021em;
	font-weight: 700;
}
.workBox .workBoxTi h3 span.fontL{
	display: block;
	font-size: min(6.9vw,73px);
}
.workBox .workBoxTi h3 span.kurning{
	letter-spacing: -0.6em;
}
.workBox p{
	font-size: 18px;
	font-weight: 500;
	line-height: 2em;
	letter-spacing: 0.025em;
}
.workBox figure{
	position: absolute;
	bottom: 0;
}
#workBoxYomi .txts{
	padding-left: min(26.5%,247px);
}
#workBoxNeko{
	margin-top: 76px;
}
#workBoxNeko::before{
	position: absolute;
	top: 0;
	left: 60px;
	content: "";
	display: block;
	width: 230px;
	height: 193px;
	background: url(images/works_img_cat.png) no-repeat center center / 100% auto;
	transform: translateY(-74%);
}
#workBoxNeko figure{
	width: 165px;
	right: -55px;
}
#workBoxNeko p{
	padding-right: 12%;
}
#workBoxYomi figure{
	width: 324px;
	left: -35px;
}
@media (max-width: 820px) {
	#Content_feature #works {
  padding: 40px 5px 60px;
}
	#works .article_inner{
		padding: 0 2%
	}
#introduction .article_inner{
	background-position: 23px 10px, calc(100% - 8px) 4px;
	background-size: 18px 21px, 38.4px 43.8px;
	padding: 24px 0;
}
#introduction p{
	font-size: 16px;
}
#introduction .txt-term {
	margin: 30px auto 0;
	font-size: 18px;
}
	#workBoxNeko::before {
  top: 10px;
  left: 2vw;
  width: 30vw;
}
	.workBox{
		padding: 14px;
	}
	
	.workBox .workBoxTi h3::before, .workBox .workBoxTi h3::after{
		height: 90px;
		width: 50vw
	}
	.workBox .workBoxTi h3{
		padding: 10px;
  min-width: 100%;
  min-height: 100px;
  font-size: min(4vw,46px);
  line-height: 1.8em;
	}
	.workBox .workBoxTi h3 span.fontL {
  display: block;
  font-size: min(6.6vw,73px);
}
	.workBox p {
  font-size: 16px;
  line-height: 1.8em;
  letter-spacing: 0;
}
	#workBoxNeko figure {
  width: 30vw;
  right: -35px;
}
	#workBoxNeko p {
  padding-right: 20%;
}
	#workBoxYomi figure {
  width: 40vw;
  left: -35px;
}
	#workBoxYomi .txts {
  padding-left:0
}
		#workBoxYomi .txts p{
  padding-left: 28vw;
}
}/*-SP tablet-*/


#Content_feature .btn{
	margin-top: 84px;
	text-align: center;
}
#Content_feature .btn a{
	display: grid;
	place-content: center;
	background-color: #ff0000;
	width: 556px;
	height: 99px;
	margin: auto;
	font-size: 51px;
	font-weight: 900;
	letter-spacing: 0.046em;
	color: #fff !important;
}
#Content_feature .btn a:hover{
	opacity: 0.7;
}

@media (max-width: 820px) {
	#Content_feature .btn a {
  width: 90vw;
  height: 99px;
  margin: auto;
  font-size: 28px;
}
}/*-SP-*/


/* --------- 以下要確認 -------- */
#Content_feature .sns-cp_btn a{
	display: block;
	color: #fff !important;
	background: url("images/bg_twitter_btn_s.png") no-repeat center top;
	background-size: contain;
	text-align: center;
	margin: 0 auto;
	font-size: 24px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	width:680px;
	padding: 5px;
}
.sns-cp_btn a:after{
	display: inline-block;
	vertical-align: text-top;
	margin-left: 10px;
	content: "";
    width: 15px;
    height: 15px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
	}

#Content_feature a.open-map2{
	width:44%;
	display: inline-block;
	vertical-align: top;
}
#Content_feature a.open-map3{
	display: inline-block;
	vertical-align: top;
	width: 56%;
}
#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
	z-index: 97;
	background:rgba(0,0,0,0.56);
	opacity: .7;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
@media (min-width: 821px) {
.sp { display: none !important; }
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media (max-width: 820px) {
.pc { display: none !important; }
}