/*　共通設定　
**************************************************************/
html {
	font-family: "M PLUS 1p", "Hiragino Kakugo Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
	font-size: 10px;
	color: #212121;
}
body {
	margin: 0;
	padding: 0;
	background: #f0f0f0;
}
main,
section {
	transform: rotate(0.03deg);
}
img {
	font-style: italic;
}

br.sp {
	display: none;
}

.wrap{
	overflow: hidden;
}

.txtlink {
	color: #1768d3;
	text-decoration: underline;
}
.txtlink:hover {
	text-decoration: none;
}

.marker {
	background: linear-gradient(transparent 0%, transparent 40%, #fffc40 40%, #fffc40 100%);
}

.is-hidden{
	display: none!important;
}

@font-face {
	font-family: 'Infield';
	src: url(/fonts/Infield-Display.ttf);
}

/*　ヘッダー
**************************************************************/
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	width: 100%;
	top: 0;
	padding: 13px 30px;
	background: #fff;
	z-index: 999;
	opacity: 0;
	transition: 1s;
}
header.fixed {
	border-bottom: 2px solid #f0f0f0;
	opacity: 1;
	transition: 1s;
}
header img {
	width: 203px;
	aspect-ratio: 203/36;
}
header ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 320px;
}
header li:nth-child(1) {
	font-size: 1.6rem;
}
header li a {
	position: relative;
	color: #1f528d;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-decoration: none;
}
header li a:hover {
	text-decoration: underline;
}
header li a::after {
	content: '▲';
	position: absolute;
	transform: rotate(90deg) scaleY(0.6);
	top: 4px;
	right: -17px;
	font-size: 1.2rem;
}
header .btn_orange {
	display: inline-block;
	padding: 10px 29px 9px 25px;
	border-radius: 10px;
	font-size: 1.8rem;
	color: #fff;
	text-align: center;
	border: 4px solid #fff;
	transition: .2s linear;
}
header .btn_orange::after {
	font-size: 1rem;
	top: 13px;
	right: 10px;
}
header .btn_orange:hover {
	text-decoration: none;
	transition: .2s linear;
}

/*　フッター
**************************************************************/
footer {
	padding: 40px 20px;
	color: #fff;
	background: #1f528d;
	transform: rotate(0.03deg);
}
footer ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	font-size: 1.6rem;
	letter-spacing: 0.075em;
}
footer li {
	margin: 0 0 1.5em;
}
footer li:not(:first-child) {
	padding-left: 1.2em;
}
footer li:not(:last-child) {
	padding-right: 1.2em;
	border-right: 1px solid #fff;
}
footer p {
	margin: 32px 0 0;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	text-align: center;
}
footer a {
	color: #fff;
	text-decoration: none;
}
footer a:hover {
	text-decoration: underline;
}

/*　TOP用
**************************************************************/
#top h2 {
	width: 5.2em;
	margin: 50px auto 30px;
	padding: 0 0 5px;
	font-size: 6rem;
	font-weight: 600;
	text-align: center;
	border-bottom-style: solid;
	border-bottom-width: 2px;
}
#top h2::after {
	content: '';
	display: block;
	border-bottom-style: solid;
	border-bottom-width: 2px;
	margin-top: 26px;
}
#top h2 + p {
	width: 710px;
	margin: 30px auto 60px;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.5;
}

/*　メインビジュアル　*/
#main_area {
	padding: 100px 10px 85px;
	position: relative;
	background: url(/img/bg_main.png) no-repeat;
	background-size: cover;
	background-position: center top;
}
#main_area h1 {
	width: 252px;
	margin: 0 auto;
}
#main_area h1 img {
	width: 252px;
	height: 160px;
}
#main_area h1 + p {
	width: 740px;
	margin: 40px auto 55px;
	padding: 5px 0 0;
	text-align: center;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.5px;
	border-top: 2px solid #1f528d;
}
#main_area h1 + p::before {
	content: '';
	display: block;
	margin: 0 0 29px;
	border-top: 2px solid #1f528d;
}

.concept {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	flex-direction: row;
	max-width: 1050px;
	margin: 0 auto;
}
.concept li {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: clamp(240px,30% , 280px);
	aspect-ratio: 280/303;
	padding: 28px 10px 0;
	font-size: clamp(3rem, 4vw , 4rem);
	color: #1f528d;
	font-weight: 600;
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 100%;
}
.concept li span {
	margin: 5px 0;
	font-weight: 100;
	font-size: clamp(1.8rem, 2.4vw , 2.4rem);
	letter-spacing: 0.05em;
	font-family: 'Infield';
}
.concept li:nth-child(1) {
	margin: 0 0 0 20px;
	background-image: url(/img/img_main01.png);
}
.concept li:nth-child(2) {
	margin: 0 10px;
	margin-right: 10px;
	background-image: url(/img/img_main02.png);
}
.concept li:nth-child(2) span {
	letter-spacing: -0.025em;
}
.concept li:nth-child(3) {
	margin: 0 20px 0 0;
	background-image: url(/img/img_main03.png);
}
.concept + .contact {
	margin: 48px auto 50px;
}

#notice {
	width: 740px;
	padding: 20px 60px 20px 30px;
	font-size: 1.4rem;
	line-height: 1.5;
	background: #fff;
}
#notice p {
	display: flex;
	flex-direction: row;
	align-items: center
}
#notice time {
	margin-right: 1.2em;
	padding: 0.5em 1.2em 0.5em 0;
	border-right: 2px dotted #909090;
}

/*　事業領域・事業一覧共通　*/
.js_fadein_item {
	opacity: 0;
	transition: all 0.8s;
	transform: translateY(50px);
}
.js_fadein_item.is-active {
	opacity: 1;
	transform: translateY(0);
}

/*　事業領域　*/
#business_area {
	position: relative;
	display: grid;
	padding: 100px 20px 180px;
	color: #fff;
	background: #1f528d url(/img/bg_pattern.png) no-repeat center top;
	z-index: -1;
}
#business_area h2 {
	margin: 50px auto 0;
	border-bottom-color: #fff;
}
#business_area h2::after {
	border-bottom-color: #fff;
}
#business_area > div {
	position: relative;
	width: 100%;
	max-width: 1010px;
	margin: 0 auto 30px;
}
#business_area > div::after {
	position: absolute;
	content: '';
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20id%3D%22pattern-box%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22pattern%22%20x%3D%2214%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20patternUnits%3D%22userSpaceOnUse%22%20patternTransform%3D%22rotate(37)%22%3E%3Cline%20x1%3D%220%22%20y%3D%220%22%20x2%3D%220%22%20y2%3D%227%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224%22%3E%3C%2Fline%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3C!----%3E%3Crect%20fill%3D%22url(%23pattern)%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%3E%3C%2Frect%3E%3C%2Fsvg%3E");
	clip-path: polygon(0px 0px, 0px 100%, 11px 100%, 11px 11px, calc(100% - 11px) 11px, calc(100% - 11px) calc(100% - 12px), 12px calc(100% - 11px), 11px 100%, 100% 100%, 100% 0px);
}
#business_area > div div {
	display: flex;
	justify-content: space-around;
	min-width: 80%;
	max-width: 790px;
	margin: 0 auto;
	padding: 13px;
}
#business_area > div div span {
	position: relative;
	display: block;
	margin: 20px 0;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1;
}
#business_area > div div svg {
	width: 64px;
	height: 64px;
}

#business_area ul {
	display: grid;
	grid: auto / 1fr 1fr 1fr;
	grid-row: span 3;
	gap: 0 2px;
	max-width: 1010px;
	margin: 0 auto;
}
#business_area li {
	background: #00b5bc;
}
#business_area li:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 4;
}
#business_area li:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 4;
}
#business_area li:nth-child(3) {
	grid-column: 3 / 4;
	grid-row: 1 / 4;
}
#business_area li div {
	margin: 30px 10px 20px;
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
}
#business_area li div span {
	display: inline-block;
	padding: 0 0.4em 16px;
	border-bottom: 2px solid #fff;
}
#business_area li p {
	margin: 0 30px 28px;
	font-size: 1.4rem;
	line-height: 1.5;
}
#business_area li > span {
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left bottom;
}
#business_area li:nth-child(1) > span {
	background-image: url(/img/img_area01.png);
}
#business_area li:nth-child(2) > span {
	background-image: url(/img/img_area02.png);
}
#business_area li:nth-child(3) > span {
	background-image: url(/img/img_area03.png);
}

/*　事業一覧　*/
#business_list {
	margin: 100px 0 50px;
}
#business_list h2 {
	margin-bottom: 75px;
	border-bottom-color: #212121;
}
#business_list h2::after {
	border-bottom-color: #212121;
}
#business_list > div {
	position: relative;
	width: calc(100% - 40px);
	max-width: 1010px;
	margin: 0 auto 80px;
	padding: 70px 20px 100px;
	background: #fff
}
#business_list > div::after {
	content: "";
	position: absolute;
	display: block;
	top: -1px;
	right: -1px;
	width: 62px;
	height: 62px;
	background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2262%22%20height%3D%2262%22%20x%3D%220%22%20y%3D%220%22%3E%3Cpolygon%20points%3D%220%200%2C%2062%2062%2C%2062%200%22%20fill%3D%22%23f0f0f0%22%20%2F%3E%3C%2Fsvg%3E");
}
#business_list > div:last-child{
	margin-bottom: 60px;
}
#business_list + .contact {
	margin: 0 auto 140px;
}

.business_list_head {
	display: grid;
	grid: 30px auto / 55px auto;
	gap: 10px 30px;
	justify-items: start;
	align-content: start;
	margin: 0 6.8% 46px min(6.8%, 70px);
}
.business_list_head div {
	font-family: 'Infield';
	color: #366ead;
	font-weight: 100;
}
.business_list_head div:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
	margin-top: -0.25em;
	font-size: 10rem;
}
#business_list > div:nth-child(2) .business_list_head div:nth-child(1) {
	padding-left: 10px;
}
.business_list_head div:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	font-size: 2.4rem;
}
.business_list_head h3 {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	font-size: 4rem;
	font-weight: 800;
}
.business_list_head + p {
	margin: 0 auto 60px;
	padding: 0 min(11%, 115px);
	font-size: 1.8rem;
	line-height: 1.67;
}

/*　事業一覧：コンサルティング事業　*/
#business_list_consulting ul {
	display: grid;
	grid: 1fr 1fr / 1fr 1fr;
	gap: 2px 2px;
	width: clamp(630px, 89%, 740px);
	margin: 0 auto;
}
#business_list_consulting li {
	display: grid;
	justify-items: center;
	align-items: center;
	padding-top: 18px;
	aspect-ratio: 369/240;
	font-size: 2.6rem;
	line-height: 1.2;
	color: #fff;
	font-weight: 600;
	text-align: center;
	background-size: contain;
	background-repeat: no-repeat;
}
#business_list_consulting li span {
	display: inline-block;
	padding: 0 0 4px;
	border-bottom: 2px solid #fff;
}
#business_list_consulting li span::after {
	content: '';
	display: block;
	margin-top: 12px;
	border-bottom: 2px solid #fff;
}
#business_list_consulting li:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	background-image: url(/img/bg_consulting01.png);
}
#business_list_consulting li:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	background-image: url(/img/bg_consulting02.png);
}
#business_list_consulting li:nth-child(3) {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	background-image: url(/img/bg_consulting03.png);
}
#business_list_consulting li:nth-child(4) {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	background-image: url(/img/bg_consulting04.png);
}

/*　事業一覧：Web制作＆開発事業　*/
#business_list_develop ul {
	max-width: 740px;
	margin: 0 auto;
}
#business_list_develop li {
	padding: 25px 0 0 110px;
	background-repeat: no-repeat;
	border-bottom: 2px solid #8f8f8f;
}
#business_list_develop li:not(:last-child) {
	margin: 0 0 8px 0;
}
#business_list_develop li::after {
	content: '';
	display: block;
	width: calc(100% + 110px);
	margin: 28px 0 4px -110px;
	border-bottom: 2px solid #8f8f8f;
}
#business_list_develop li:nth-child(1) {
	padding-top: 35px;
	background-image: url(/img/img_develop01.png);
	background-position: 24px 38px;
}
#business_list_develop li:nth-child(2) {
	background-image: url(/img/img_develop02.png);
	background-position: 24px 38px;
}
#business_list_develop li:nth-child(3) {
	background-image: url(/img/img_develop03.png);
	background-position: 25px 27px;
}
#business_list_develop li:nth-child(4) {
	background-image: url(/img/img_develop04.png);
	background-position: 25px 44px;
}
#business_list_develop li:nth-child(5) {
	background-image: url(/img/img_develop05.png);
	background-position: 23px 32px;
}
#business_list_develop li:nth-child(6) {
	background-image: url(/img/img_develop06.png);
	background-position: 23px 28px;
}
#business_list_develop li:nth-child(7) {
	background-image: url(/img/img_develop07.png);
	background-position: 26px 28px;
}
#business_list_develop li:nth-child(8) {
	background-image: url(/img/img_develop08.png);
	background-position: 23px 29px;
}
#business_list_develop dl {
	max-width: 530px;
}
#business_list_develop dt {
	font-size: 2.6rem;
	color: #00b5bc;
}
#business_list_develop dd {
	display: inline-block;
	margin-top: 12px;
	font-size: 1.4rem;
}
#business_list_develop dd::before {
	content: "・";
}
#business_list_develop dd:not(:last-child) {
	margin-right: 1.75em;
}

/*　事業一覧：マーケティングサポート事業　*/
#business_list_support .business_list_head + p {
	margin-bottom: 70px;
}
#business_list_support p + div {
	display: grid;
	grid: auto 132px / 1fr 1fr;
	gap: 18px 40px;
	justify-content: center;
	align-content: center;
	max-width: 740px;
	aspect-ratio: 148/157;
	margin: 0 auto;
	background-image: url(/img/bg_support.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
}
#business_list_support dl {
	width: 100%;
	max-width: 350px;
}
#business_list_support dl:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}
#business_list_support dl:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}
#business_list_support dt {
	margin: 65px auto 34px;
	font-size: 2.2rem;
	text-align: center;
	color: #fff;
}
#business_list_support dd {
	margin: 0 55px 12px;
	padding: 17px 14px;
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	background: #e7f5f5;
	border-radius: 25px;
}
#business_list_support dd:has(> br) {
	border-radius: 33px;
}
#business_list_support dl + div {
	grid-column: 1 / 3;
	grid-row: 2 / 3;
	position: relative;
	width: 630px;
	height: 60px;
	margin: 0 auto;
	line-height: 60px;
	font-size: 2.6rem;
	font-weight: 600;
	text-align: center;
	background: #fffa81;
	border-radius: 30px;
}
#business_list_support dl + div::before {
	content: "";
	position: absolute;
	width: 100px;
	top: 30px;
	left: 40px;
	border-bottom: 1px solid #000;
}
#business_list_support dl + div::after {
	content: "";
	position: absolute;
	width: 100px;
	top: 30px;
	right: 40px;
	border-bottom: 1px solid #000;
}

/*　問い合わせエリア　*/
.contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1010px;
}
.contact > a {
	display: inline-block;
	padding: 20px 10px 19px;
	position: relative;
	width: 307px;
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border: 4px solid #fff;
	border-radius: 10px;
	transition: .2s linear;
}
.contact > a:not(:first-child) {
	margin-top: 20px;
}
.contact > a::after {
	content: '▲';
	position: absolute;
	transform: rotate(90deg) scaleY(0.5);
	font-size: 1.8rem;
	top: 2.6rem;
	right: 42px;
}
.contact > a:hover {
	text-decoration: none;
	transition: .2s linear;
}
.btn_orange {
	background: #fd9a27;
	outline: 2px solid #fd9a27;
}
.btn_orange:hover {
	background: #fdae52;
	outline: 2px solid #fdae52;
}
.btn_blue {
	background: #1f528d;
	outline: 2px solid #1f528d;
}
.btn_blue:hover {
	background: #4c75a4;
	outline: 2px solid #4c75a4;
}

/*　下層ページ共通
**************************************************************/
.contents header {
	position: sticky;
	border-bottom: 2px solid #f0f0f0;
	opacity: 1;
}
.contents_head {
	width: 100%;
	margin: 0 0 40px;
	color: #fff;
	background: #1f528d url(/img/bg_pattern.png) no-repeat center top;
}

.contents_head > div {
	max-width: 1010px;
	margin: 0 auto;
	padding: 40px 24px 47px;
}

.contents_head div div {
	font-size: 4rem;
	line-height: 1.4;
	font-family: 'Infield';
	font-weight: 100;
}
.contents h1 {
	font-size: 6rem;
	font-weight: 800;
}
.contents h2 {
	margin: 0 0 25px;
	font-size: 3rem;
}
.contents main {
	position: relative;
	width: calc(100% - 40px);
	max-width: 1010px;
	margin: 0 auto 75px;
	padding: 96px clamp(7vw, 11vw, 135px) 120px;
	background: #fff;
}
.contents main::after {
	content: "";
	position: absolute;
	display: block;
	top: -1px;
	right: -1px;
	width: 62px;
	height: 62px;
	background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2262%22%20height%3D%2262%22%20x%3D%220%22%20y%3D%220%22%3E%3Cpolygon%20points%3D%220%200%2C%2062%2062%2C%2062%200%22%20fill%3D%22%23f0f0f0%22%20%2F%3E%3C%2Fsvg%3E");
}

/*　会社概要
**************************************************************/
#company main section + section {
	margin-top: 115px;
}
#company main p {
	margin: 0 0 40px;
	font-size: 1.8rem;
	line-height: 1.5;
}
#company table {
	width: 100%;
	font-size: 1.8rem;
	line-height: 1.5;
	border-top: 1px solid #b8b8b8;
}
#company tr {
	border-bottom: 1px solid #b8b8b8;
}
#company th {
	padding: 25px 14px 19px;
	white-space: nowrap;
}
#company td {
	padding: 25px 14px 19px;
}
#company td dl {
	display: flex;
}
#company td dt {
	width: 7em;
	margin: 0 6em 0 0;
	font-weight: 400;
}
#company td dd {
	flex: 1;
}
#company iframe {
	width: 100%;
	aspect-ratio: 16/9;
}
#company main ul {
	margin: 45px 0 0;
	font-size: 1.8rem;
}
#company main ul dt {
	margin: 35px 0 10px;
}

/*　お問い合わせ
**************************************************************/
#contact main {
	font-size: 1.8rem;
	line-height: 1.5;
}
#contact main p {
	margin: 0 0 70px;
}
#contact dl {
	margin:0 0 1.25em;
}
#contact dl.submit_type {
	display: flex;
	flex-wrap: wrap;
	margin:0 0 2em;
}
#contact dl.submit_type dt {
	margin: 0 75px 0.475em 0;
}
#contact dl.submit_type ul {
	display: flex;
	flex-wrap: nowrap;
}
#contact dl.submit_type li {
	white-space: nowrap;
}
#contact dl.submit_type li:nth-child(2) {
	margin: 0 0 0 30px;
}
#contact dt{
	margin: 0 0 0.475em;
}
#contact dt span {
	position: relative;
	display: inline-block;
	top: -0.2em;
	margin: 0 0 0 1.5em;
	padding: 0.25em 0.8em;
	font-size: 1.1rem;
	font-weight: 400;
	color: #fff;
	background:#c90000;
	border-radius: 0.5em;
}
#contact input[type='text'],
#contact input[type='email'],
#contact textarea {
	width:100%;
	padding: 0.1em;
	border: 1px solid #bbb;
	border-radius: 5px;
}
#contact textarea {
	height: 9em;
}
#contact label {
	margin-right: 5px;
	cursor: pointer;
}
#contact input[type='radio'] {
	appearance: none;
	position: relative;
	width: 22px;
	height: 22px;
	vertical-align: -0.25em;
	border: 1px solid #bbb;
	border-radius: 50%;
}
#contact input[type='radio']:checked::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #bbb;
}
#contact input[type='checkbox'] {
	appearance: none;
	content: '\e5ca';
	position: relative;
	width: 20px;
	height: 20px;
	margin: 0 0.5em 0 0;
	border: 1px solid #bbb;
	font-family: 'Material Icons';
	vertical-align: -0.25em;
	cursor: pointer;
}
#contact input[type='checkbox']:checked::before {
	content: '\e5ca';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 2rem;
	color: #bbb;
	font-family: 'Material Icons';
}

.submit_area {
	width: 400px;
	margin: 40px auto 0;
}
.submit_area div {
	padding: 30px 20px;
	font-size: 1.8rem;
	text-align: center;
	border: 1px solid #bbb;
}
#contact input[type='submit'] {
	display: block;
	width: 100%;
	margin: 24px auto 0;
	padding: 22px 20px;
	color:#fff;
	font-size: 3.0rem;
	letter-spacing: 0.2rem;
	text-align: center;
	background: #00b5bc;
	transition: .2s linear;
	cursor: pointer;
}
#contact input[type='submit']:hover {
	background: #33c4c9;
	transition: .2s linear;
}
#contact input[type='submit'][disabled] {
	background-color: #ccc;
	cursor: not-allowed;
}

/*　プライバシーポリシー・個人情報保護方針
**************************************************************/
#privacy main p,
#privacy main div,
#privacy main ol {
	font-size: 1.8rem;
	line-height: 1.5;
}
#privacy main p {
	margin: 0 0 1em;
}
#privacy main div {
	margin-top: 1em;
	text-align: right;
}
#privacy main div:has(> h3) {
	margin-top: 70px;
}
#privacy main div h2 {
	margin: 0;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 600;
}
#privacy h3 {
	font-weight: 600;
}
#privacy ol {
	margin: 0 0 1em;
}
#privacy main li {
	padding-left: 0.9em;
	text-indent: -0.9em;
}
#privacy main li:not(:last-child) {
	margin-bottom: 0.33em;
}
#privacy main p + h2 {
	margin-top: 70px;
}

/*　PC・スマホ出し分け
**************************************************************/
@media screen and (min-width: 768px) {
	#notice {
		position: absolute;
		right: -1px;
		bottom: 0;
		transform: translateY(50%);
		border-radius: 41px 0 0 41px;
	}
	#business_area li {
		display: grid;
		grid-template-rows: subgrid;
		max-width: 335px;
	}
	#business_area li:nth-child(2) {
		max-width: 336px;
	}
	#business_area li > span {
		aspect-ratio: 67 / 50;
	}
}

@media screen and (max-width: 767px) {
	br.sp {
		display: block;
	}
	header {
		padding: 18px 12px 14px 15px;
	}
	/*　ヘッダー　*/
	header img {
		width: 141px;
	}
	header ul {
		width: 182px;
	}
	header li:nth-child(1) {
		font-size: 1.2rem;
	}
	header li a::after {
		top: 3px;
		right: -11px;
		font-size: 1rem;
	}
	header .btn_orange {
		padding: 9px 15px 8px 12px;
		border-radius: 4px;
		font-size: 1.2rem;
		border: 2px solid #fff;
	}
	header .btn_orange::after {
		font-size: 1rem;
		top: 10px;
		right: 4px;
	}
	/*　フッター　*/
	footer {
		padding: 30px 20px;
	}
	footer ul {
		font-size: 1.2rem;
	}
	footer li {
		margin: 0 0 1.25em;
	}
	footer p {
		font-size: 1rem;
	}
	/*　TOP用　*/
	#top h2 {
		width: 4.7em;
		margin: 50px auto 40px;
		padding: 0 0 2px;
		font-size: 3.6rem;
		border-bottom-width: 1px;
	}
	#top h2::after {
		border-bottom-width: 1px;
		margin-top: 14px;
	}
	#top h2 + p {
		width: 100%;
		margin:12px auto 48px;
		font-size: 1.3rem;
	}
	#main_area {
		padding: 59px 0 0;
		background-image: url(/img/bg_main.png);
	}
	#main_area h1 {
		width: 157px;
	}
	#main_area h1 img {
		width: 157px;
		height: 100px;
	}
	#main_area h1 + p {
		width: 316px;
		margin: 30px auto 40px;
		padding-top: 2px;
		font-size: 1.5rem;
		line-height: 1.6;
		letter-spacing: 0;
		border-top-width: 1px;
	}
	#main_area h1 + p::before {
		border-top-width: 1px;
		margin-bottom: 24px;
	}
	.concept {
		flex-wrap: wrap;
		justify-content: center;
		max-width: 340px;
	}
	.concept li {
		width: 160px;
		aspect-ratio: 16/17;
		padding: 20px 0 0;
		font-size: 2.4rem;
		background-size: 160px;
	}
	.concept li:nth-child(1) {
		margin: 0 20px 0 0;
		background-image: url(/img/img_main01_sp.png);
	}
	.concept li:nth-child(2) {
		margin: 0 0;
		background-image: url(/img/img_main01_sp.png);
	}
	.concept li:nth-child(3) {
		margin: 0 0;
		background-image: url(/img/img_main01_sp.png);
	}
	.concept li span {
		font-size: 1.5rem;
	}
	.concept + .contact {
		margin: 32px auto 0;
		padding-bottom: 61px;
	}
	#notice {
		width: 100%;
		padding: 18px 20px;
		font-size: 1.2rem;
	}
	#notice time {
		padding: 0.75em 1.2em 0.75em 0;
	}
	#business_area {
		padding: 55px 0 70px;
		background-image: url(/img/bg_pattern_sp.png);
		background-size: 2304px;
	}
	#business_area h2 {
		margin: 9px auto 8px;
	}
	#business_area > div::after {
		background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20id%3D%22pattern-box%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22pattern%22%20x%3D%2214%22%20y%3D%2214%22%20width%3D%224.5%22%20height%3D%224.5%22%20patternUnits%3D%22userSpaceOnUse%22%20patternTransform%3D%22rotate(37)%22%3E%3Cline%20x1%3D%220%22%20y%3D%220%22%20x2%3D%220%22%20y2%3D%224.5%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%3E%3C%2Fline%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3C!----%3E%3Crect%20fill%3D%22url(%23pattern)%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%3E%3C%2Frect%3E%3C%2Fsvg%3E");
	}
	#business_area > div {
		width: 333px;
	}
	#business_area > div div {
		width: 79%;
		flex-direction: column;
		margin: 0 auto;
	}
	#business_area > div div span {
		align-self: center;
		font-size: 1.8rem;
	}
	#business_area > div div span:nth-child(1) {
		margin: 16px 0 0;
	}
	#business_area > div div span:nth-child(3) {
		margin: 0 0 16px;
	}
	#business_area > div div svg {
		align-self: center;
		width: 36px;
		height: 36px;
	}
	#business_area ul {
		grid: auto / 100%;
		grid-row-gap: 15px;
		max-width: 333px;
	}
	#business_area li {
		grid: auto 125px / 333px;
		width: 333px;
	}
	#business_area li:nth-child(1) {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	#business_area li:nth-child(2) {
		width: 333px;
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}
	#business_area li:nth-child(3) {
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	}
	#business_area li div {
		margin: 17px 20px 8px;
		font-size: 1.6rem;
		text-align: left;
	}
	#business_area li div span {
		display: block;
		padding: 0 0 12px;
		border-bottom: 1px solid #80dadd;
	}
	#business_area li p {
		margin: 0 20px 16px;
		font-size: 1.2rem;
	}
	#business_area li > span {
		height: 125px;
	}
	#business_area li:nth-child(1) > span {
		background-image: url("/img/img_area01_sp.png");
	}
	#business_area li:nth-child(2) > span {
		background-image: url("/img/img_area02_sp.png");
	}
	#business_area li:nth-child(3) > span {
		background-image: url("/img/img_area03_sp.png");
	}
	#business_list {
		margin: 65px 0 42px;
	}
	#business_list > div {
		width: clamp(345px, calc(100% - 40px), 717px);
		margin: 0 auto 40px;
		padding: 38px 25px 50px;
	}
	#business_list > div:last-child{
		margin-bottom: 30px;
	}
	#business_list > div::after {
		width: 30px;
		height: 30px;
	}
	#business_list + .contact {
		margin-bottom: 80px;
	}
	.business_list_head {
		grid: 10px 20px / 30px auto;
		gap: 10px 10px;
		margin: 0 0 33px 0;
	}
	#business_list > div:nth-child(2) .business_list_head {
		gap: 10px 10px;
		margin: 0 0 33px 4px;
	}
	.business_list_head div:nth-child(1) {
		font-size: 5.4rem;
	}
	.business_list_head div:nth-child(2) {
		font-size: 1.5rem;
	}
	.business_list_head h3 {
		font-size: 2rem;
	}
	.business_list_head + p {
		width: 100%;
		margin: 0 4px 30px;
		padding: 0 0;
		font-size: 1.3rem;
		line-height: 1.5;
	}
	#business_list_consulting ul {
		gap: 4px 4px;
		width: 293px;
		margin: 0 auto;
	}
	#business_list_consulting li {
		aspect-ratio: 6/5;
		font-size: 1.5rem;
		padding-top: 10px;
		background-size: 144px;
	}
	#business_list_consulting li span {
		padding: 0 0 2px;
		border-bottom-width: 1px;
	}
	#business_list_consulting li span::after {
		margin-top: 5px;
		border-bottom-width: 1px;
	}
	#business_list_consulting li:nth-child(1) {
		background-image: url(/img/bg_consulting01_sp.png);
	}
	#business_list_consulting li:nth-child(2) {
		background-image: url(/img/bg_consulting02_sp.png);
	}
	#business_list_consulting li:nth-child(3) {
		background-image: url(/img/bg_consulting03_sp.png);
	}
	#business_list_consulting li:nth-child(4) {
		background-image: url(/img/bg_consulting04_sp.png);
	}
	#business_list_develop ul {
		width: 100%;
	}
	#business_list_develop li {
		padding: 14px 0 0 40px;
		background-size: 31px;
		border-bottom-width: 1px;
	}
	#business_list_develop li:not(:last-child) {
		margin: 0 0 8px 0;
	}
	#business_list_develop li::after {
		width: calc(100% + 40px);
		margin: 13px 0 2px -40px;
		border-bottom-width: 1px;
	}
	#business_list_develop li:nth-child(1) {
		padding-top: 2px;
	}
	#business_list_develop li:nth-child(1) {
		background-image: url(/img/img_develop01_sp.png);
		background-position: 0 0;
	}
	#business_list_develop li:nth-child(2) {
		background-image: url(/img/img_develop02_sp.png);
		background-position: 0 11px;
	}
	#business_list_develop li:nth-child(3) {
		background-image: url(/img/img_develop03_sp.png);
		background-position: 0 10px;
	}
	#business_list_develop li:nth-child(4) {
		background-image: url(/img/img_develop04_sp.png);
		background-position: 2px 11px;
	}
	#business_list_develop li:nth-child(5) {
		background-image: url(/img/img_develop05_sp.png);
		background-position: 0 11px;
	}
	#business_list_develop li:nth-child(6) {
		background-image: url(/img/img_develop06_sp.png);
		background-position: 0 11px;
	}
	#business_list_develop li:nth-child(7) {
		background-image: url(/img/img_develop07_sp.png);
		background-position: 0 11px;
	}
	#business_list_develop li:nth-child(8) {
		background-image: url(/img/img_develop08_sp.png);
		background-position: 0 11px;
	}
	#business_list_develop dl {
		max-width: 727px;
	}
	#business_list_develop dt {
		font-size: 1.5rem;
	}
	#business_list_develop dd {
		margin-top: 0;
		font-size: 1.2rem;
		line-height: 1.5;
		padding-left: 0.9em;
		text-indent: -0.9em;
	}
	#business_list_develop dd.br {
		display: block;
	}
	#business_list_develop dt + dd {
		margin-top: 8px;
	}
	#business_list_support .business_list_head + p {
		margin-bottom:30px;
	}
	#business_list_support p + div {
		width: 302px;
		height: 607px;
		grid: 513px 80px / 147px 147px;
		gap: 14px 8px;
		margin: 0 auto;
		background-image: url(/img/bg_support01_sp.png), url(/img/bg_support02_sp.png);
		background-size: 147px;
		background-position: left top, right top;
	}
	#business_list_support dl {
		width: 147px;
	}
	#business_list_support dt {
		margin: 30px auto 28px;
		font-size: 1.6rem;
		line-height: 1.188;
	}
	#business_list_support dl:nth-child(2) dt {
		line-height: 38px;
	}
	#business_list_support dd,
	#business_list_support dd:has(> br) {
		margin: 0 13px 10px;
		padding: 10px 9px 9px;
		font-size: 1.2rem;
		line-height: 1.25;
		border-radius: 8px;
	}
	#business_list_support dl + div {
		width: 276px;
		height: 40px;
		margin: 0 auto;
		line-height: 40px;
		font-size: 1.6rem;
		border-radius: 8px;
	}
	#business_list_support dl + div::before,
	#business_list_support dl + div::after {
		width: 0;
		border-bottom: none;
	}
	.contact > a {
		padding: 10px 14px 10px 5px;
		width: 197px;
		font-size: 2rem;
		border: 2px solid #fff;
		border-radius: 4px;
	}
	.contact > a::after {
		font-size: 1.6rem;
		top: 1.5rem;
		right: 20px;
	}
	.btn_orange,
	.btn_blue {
		outline-width: 1px;
	}
	/*　下層ページ共通　*/
	.contents_head {
		margin: 0 0 20px;
		background-image: url(/img/bg_pattern_sp.png);
		background-size: 2304px;
	}
	.contents_head > div {
	max-width: 100%;
	padding: 14px 20px 25px;
	}
	.contents_head div div {
		font-size: 2rem;
		line-height: 1.25;
		text-align: center;
	}
	.contents h1 {
		font-size: 3rem;
		text-align: center;
	}
	.contents h2 {
		margin: 0 0 15px;
		font-size: 1.6rem;
	}
	.contents main {
		margin-bottom: 35px;
		padding: 36px 28px 50px;
	}
	.contents main::after {
		width: 30px;
		height: 30px;
	}

	/*　会社概要　*/
	#company main section + section {
		margin-top: 40px;
	}
	#company main p {
		margin: 0 0 15px;
		font-size: 1.3rem;
	}
	#company table {
		font-size: 1.2rem;
	}
	#company th,
	#company td {
		padding: 13px 7px 11px;
	}
	#company td dt {
		margin-right: 1.5em;
	}
	.contents h2:has(+ iframe) {
		margin: 0 0 6px;
	}
	#company main ul {
		margin: 30px 0 0;
		font-size: 1.2rem;
	}
	#company ul dt {
		margin: 25px 0 7px;
	}

	/*　お問い合わせ　*/
	#contact main {
		font-size: 1.3rem;
	}
	#contact main p {
		margin: 0 0 30px;
	}
	#contact dl {
		margin: 0 0 0.95em;
	}
	#contact dl:nth-child(1) {
		margin:0 0 0.8em;
	}
	#contact dt {
		margin: 0 0 0.3em;
	}
	#contact dt span {
		top: -0.1em;
		margin: 0 0 0 0.8em;
		padding: 0 0.35em;
		font-size: 1rem;
		border-radius: 0.25em;
	}
	#contact input[type='text'],
	#contact input[type='email'],
	#contact textarea {
		border-radius: 4px;
	}
	#contact textarea {
		height: 6em;
	}
	#contact input[type='radio'] {
		width: 12px;
		height: 12px;
		vertical-align: -0.15em;
	}
	#contact input[type='radio']:checked::before {
		width: 8px;
		height: 8px;
	}
	#contact input[type='checkbox'] {
		width: 12px;
		height: 12px;
		margin: 0 0.5em 0 0;
		vertical-align: -0.25em;
	}
	#contact input[type='checkbox']:checked::before {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -52%);
		font-size: 0.8rem;
	}
	#contact input[type='checkbox']:checked::before {
		font-size: 2rem;
	}
	.submit_area {
		width: 272px;
		margin: 25px auto 0;
	}
	.submit_area div {
		padding: 20px 10px;
		font-size: 1.3rem;
	}
	#contact input[type='submit'] {
		width: 200px;
		margin: 18px auto 0;
		padding: 12px 20px;
		font-size: 1.4rem;
		letter-spacing: 0.2rem;
	}

	/*　プライバシーポリシー・個人情報保護方針　*/
	#privacy main p,
	#privacy main div,
	#privacy main ol,
	#privacy main div h2 {
		font-size: 1.3rem;
	}
	#privacy main div:has(> h3),
	#privacy main p + h2 {
		margin-top: 40px;
	}
}
