@charset "utf-8";
@import url("color.css");

* {
	box-sizing: border-box;
}

html {
	overflow-y: scroll;
}

body {
	color: var(--a13c-text);
	letter-spacing: 0.1em; /*100*/
	position: relative;
	line-height: 1.7;
	font-size: 0.875rem;/*14px*/
	font-feature-settings: "palt";
	font-family: "Noto Sans JP", sans-serif;
}

a {
	text-decoration: none;
	transition: all 0.3s;
    position: relative;
}

a:hover {
	//opacity: 0.5;
}

img {
	height: auto;
	width: 100%;
}

.sp_block {
	display: none;
}
section {
	overflow: hidden;
}
.wrapper {
	width: min(100%, 1000px);
	margin: 0 auto;
	padding: 6vw 5vw;
	position: relative;
}

h2 {
	font-size: 2em;
}
h2 span {
	font-size: 0.5em;
	display: block;
	font-family: var(--a13c-font-robo);
	font-weight: 500;
	color: var(--a13c-gold);
}

h2.__center {
	text-align: center;
}
h2.__white {
	color: #fff;
}
.flex-box {
	display: flex;
}

.page-title {
	color: var(--a13c-navy);
	font-size: 0.75rem; /*12px*/
	text-align: center;
	margin-bottom: 3vw;
	display: flex;
    flex-direction: column;
    align-items: center;
}

.page-title span {
	display: block;
	font-family: var(--a13c-font-maru);
	font-weight: 700;
	font-size: 2.5rem; /*40px*/
}

.page-title::after {
	content: '';
	background: radial-gradient(circle farthest-side, var(--a13c-navy), var(--a13c-navy) 30%, transparent 30%, transparent);
    background-size: 20px;
    display: block;
    height: 20px;
    width: 60px;
}

.btn {
	display: inline-block;
	background-color: var(--a13c-pink);
	color: var(--a13c-white);
    padding: 0.2em 2.5em 0.2em 1.5em;
    line-height: 36px;
    border-radius: 230px;
    /* min-width: 200px; */
    width: max-content;
	position: relative;
}

.btn::after {
	content: '';
	width:0;
	height:0;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	border-style:solid;
	border-width: 7px 0 7px 12px;
	border-color: transparent transparent transparent var(--a13c-white);
}

.btn-red {
	background-color: var(--a13c-red);
}

.btn-red a {
	color: #ffffff;
}
.btn-full {
	width: 100%;
}


/* =================================================
header〜nav
==================================================*/
header {
    position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
}
.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: min(1080px, calc(100% - 20px));
    margin: 0 auto; 
    padding: 2rem 1rem;
}
.logo img {
    width: 110px;
}

ul.drawer__nav__menu {
    display: flex;
}
ul.drawer__nav__menu li ~ li {
    padding-left: 16px;
}
/* スクロールしたらヘッダーメニューのフォントカラー変更 */
a.drawer__nav__link.headerColorScroll {
	color: var(--a13c-text);
	transition: color 0.4s ease-out;
  }
a.drawer__nav__link {
	color: var(--a13c-white);
}


/* ロゴに関するスタイル */
.header-logo.headerLogoScroll.-before {
	display : none;
  }
  .header-logo.-after {
	display : none;
  }
  .header-logo.headerLogoScroll.-after {
	display : block;
  }

/* =================================================
MV
==================================================*/
main {
    overflow: hidden;
}
.mv {
	/* background-color: #ddd; */
	background:linear-gradient(0deg, rgba(0,0,0,.5),rgba(0,0,0,.8)),url(../img/mv.jpg) no-repeat center center / cover;
	height: 520px; 
    display: flex;
    align-items: center;
}
.mv > div {
    width: min(1080px, calc(100% - 70px));
    margin: 0 auto;
}
.mv h1 {
	font-size: 2.5rem;
    display: block;
    margin-bottom: 0.7em;
	color: #fff;
}





/* =================================================
サービス
==================================================*/
#sec-service {
  background: radial-gradient(var(--a13c-white) 10%, transparent 0);
  background-color: var(--a13c-white);
  background-size: 10px 10px;
  background-position: 0 0, 20px 20px;
}
.service-area > h2 {
	width: 250px;
}
.service-area > div.service-wrap {
	width: calc(100% - 250px);
}
.service-wrap > ul {
	justify-content: space-between;
}
.service-wrap > ul > li {
	width: 45%;
}





/* =================================================
当社の強み
==================================================*/
#sec-feature {
	background-color: var(--a13c-red);
	border-bottom-left-radius: 800px 200px;
	border-bottom-right-radius: 800px 200px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  padding-bottom: 200px;
  position: relative;
  overflow: visible;
}

#sec-feature figure {
	position: absolute;
    bottom: -55%;
    left: 50%;
    transform: translate(-50%);
    width: 450px;
}

ul.feature-area {
    justify-content: space-between;
    margin-top: 62px;
}
ul.feature-area li.feature-item:nth-child(2n-1) { 
    transform: translateY(50%);
}
ul.feature-area li.feature-item {
	background-color: #fff;
	width: 333px;
	
	max-width:  300px;/* 円のサイズ（高さにもなる） */
  border-radius: 100%;
  padding: 35px;
  /* 以下のFlexboxで文字を中央寄せ */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; 
}

ul.feature-area li.feature-item > p {
	font-size: 13px;
}
ul.feature-area li.feature-item > p > span {
	display: block;
	font-size: 1.3em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 0.5em;
}

ul.feature-area li.feature-item::before {/* 擬似要素で正円を作る */
  display: block;
  content: '';
  padding-top: 100%;
}

ul.feature-area li.feature-item > p img {
	margin: 0 auto;
}
ul.feature-area li:not(:last-child)::after {
	display: none
}


/* =================================================
コンタクト
==================================================*/
.sec-contact {
	padding-top: 150px;
}
a.contact-btn {
	width: min(660px, 100%);
	height: 224px;
	margin: 0 auto;
	background: url(../img/contact-bg.jpg) no-repeat center / cover;
	position: relative;
	display: block;

	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	
	transition: .3s;

}
a.contact-btn > p {
	text-align: center;
	padding: 16px 32px;
	background-color: rgba(255,255,255,.8);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
	color: var(--a13c-navy);
	font-family: var(--a13c-font-robo);
	font-weight: 500;
	font-size: 1.2em;
}
a.contact-btn {
	position: relative;
	z-index: 2;
  }
  a.contact-btn::after {
	display: block;
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	background: rgba(0,0,0,.2);
	transition: .3s;
  }
  a.contact-btn:hover::after {
	width: 100%;
	height: 100%;
  }

/* =================================================
footer
==================================================*/

.footer {
	padding: 2rem;
	font-size: 15px;
	background: var(--a13c-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  .footer__navi {
	flex-wrap: wrap;
	margin-bottom: 2rem;
  }
  
  .footer__navi li {
	display: inline-block;
  }
  
  .footer__navi li:not(:last-child) {
	margin-right: 16px;
  }
  
  .footer__logo {
	display: inline-block;
	margin-bottom: 1rem;
	width: 120px;
  }
  
  small {
	display: block;
	font-size: 12px;
	color: var(--a13c-gray);
  }

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

コンテンツ幅767px以下の表示はここからです

==================================================*/
@media screen and (max-width:767px){
	.wrapper {
		padding: 6vw 5vw 20vw;
	}

	.sp_block {
		display: block;
	}

	.sp_none {
		display: none;
	}

	.page-title {
		margin-bottom: 8vw;
	}

	/* =================================================
	header〜nav
	==================================================*/
	.mv > div {
		width: min(1080px, 100%);
		padding: 0 0 0 20px;
	}

	/* =================================================
	会社概要
	==================================================*/
	#sec-about {
		background-position: right bottom;
		padding: 5vw 0 55vw;
		background-size: contain;
	}

	.about-text {
		width: 100%;
	}
	.about-text p {
		width: 100%
	}
	
	.company-info-list dl dd span {
		position: absolute;
		left: 8em;
		top: 2px;
	}
	
	/* =================================================
	サービス一覧
	==================================================*/
	.flex-box.service-area {
		flex-direction: column;
	}
	.service-area > div.service-wrap {
		width: 100%;
		margin-top: 5vw;
	}


	a.contact-btn {
		height: 150px;
		background: linear-gradient(0deg, rgba(0,0,0,.3),rgba(0,0,0,.5)),url(../img/contact-bg.jpg) no-repeat center / cover;
	}






	/* =================================================
	当社の強み
	==================================================*/
	#sec-feature {
		padding-bottom: 55px;
	}
	#sec-feature figure {
		bottom: -140px;
	}
	ul.feature-area li.feature-item > p img {
		margin: 0 auto;
	}
	ul.feature-area li:not(:last-child)::after {
		display: none
	}
	ul.feature-area li.feature-item {
		/* width: 330px !important;
		height: 330px !important; */
		max-width: none;
		padding: 0;
		background-color: transparent;
	}
	ul.feature-area li.feature-item:nth-child(2n-1) {
		transform: translateY(0px);
	}
	ul.feature-area li.feature-item > p {
		font-size: 13px;
		background-color: #fff;
		width: 322px;
        height: 322px;
        border-radius: 50%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0 50px;
        margin: 0 auto;
	}
	ul.feature-area li.feature-item::before {
		display: block;
		content: '';
		padding-top: 32px;
	}
	/*矢印の設定*/
	/*戻る、次へ矢印の位置*/
	.slick-prev, 
	.slick-next {
		position: absolute;/*絶対配置にする*/
		cursor: pointer;/*マウスカーソルを指マークに*/
		outline: none;/*クリックをしたら出てくる枠線を消す*/
		border-top: 3px solid var(--a13c-gray);/*矢印の色*/
		border-right: 3px solid var(--a13c-gray);/*矢印の色*/
		height: 15px;
		width: 15px;
		z-index: 2;
	}

	.slick-prev {/*戻る矢印の位置と形状*/
		left: 0%;
		transform: rotate(-135deg);
	}

	.slick-next {/*次へ矢印の位置と形状*/
		right: 0%;
		transform: rotate(45deg);
	}
	.slick-prev::before,
	.slick-next::before {
		display: none;
	}


	/*ここからループさせないときの指定例*/
	.slick-prev.slick-disabled,
	.slick-next.slick-disabled {
		opacity: 0;
	}

	.slick-prev.slick-disabled:before,
	.slick-next.slick-disabled:before {
		opacity: 1;
	}

	/* =================================================
	foorer
	==================================================*/
		.footer__navi{
			flex-direction: column;
		}
		.footer__navi li:not(:last-child) {
			margin-right: 0px;
			margin-bottom: 16px;
		}
	  .md-justify-between {
		justify-content: space-between;
	  }
	  small {
		font-size: 10px;
	  }
	  .copyright {
		text-align: center;
	  }

}