@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
/* Noto Serif JP */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap');

@font-face {
  font-family: 'sns_ico';
  src:
    url('../fonts/sns_ico.ttf?z7sza2') format('truetype'),
    url('../fonts/sns_ico.woff?z7sza2') format('woff'),
    url('../fonts/sns_ico.svg?z7sza2#sns_ico') format('svg');
  font-weight: normal;
  font-style: normal;
}

i.fab {
  font-family: 'sns_ico' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

	color: #000;
}

.icon-search:before { content: "\e908";}
.icon-arrow1_left:before { content: "\e90c";}
.icon-arrow1_bottom:before { content: "\e90d";}
.icon-arrow1_right:before { content: "\e90e";}
.icon-arrow1_top:before { content: "\e90f";}
.icon-arrow2_left:before { content: "\e910";}
.icon-arrow2_bottom:before { content: "\e911";}
.icon-arrow2_right:before { content: "\e912";}
.icon-arrow2_top:before { content: "\e913";}
.icon-link:before { content: "\e914";}
.icon-note:before { content: "\e915";}
.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}
.icon-wb:before { content: "\e90b";}
.icon-arrow3_top:before { content: "\ea3a";}
.icon-arrow3_right:before { content: "\ea3c";}
.icon-arrow3_bottom:before { content: "\ea3e";}
.icon-arrow3_left:before { content: "\ea40";}

::selection {
	background-color: #f7e0c2;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: .05em;
	-webkit-text-size-adjust: 100%;
}

body.fadeout header,
body.fadeout main,
body.fadeout .onfade {
	opacity: 0;
}
body header,
body main,
body .onfade {
	opacity: 1;
	transition: opacity .8s linear;
}
body.fadeout main.nofade {
	opacity: 1;
}
img {
	max-width: 100%;
	height: auto;
}
li {list-style: none;}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.btnArea {
	background-color: #fff;
	padding: 40px 0;
	display: flex;
	justify-content: center;
}
.wrapper .btnArea {
	background-color: transparent;
}
.btnArea a {
	margin: 0 20px;
}
.btmBtn {
	display: flex;
	justify-content: center;
	padding: 0 0 40px;
}
.btmBtn a {
	margin: 0 20px;
}
*:focus {
	outline: none;
}

.iframeBox > div {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.iframeBox iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 813px) {
	.sp { display: none;}
	a { transition: all 0.3s ease-out;}
	a:hover { opacity: .5;}
}
@media screen and (max-width: 812px) {
	.pc { display: none;}
	.btnArea {
		padding: 10vw 6vw;
	}
	.btnArea a {
		margin: 0 2vw;
	}
	.btmBtn {
		padding: 0;
	}
	.btmBtn a {
		margin: 0 2vw;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	header

//////////////////////////////////////////////////////////////////////////////// */
body header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 50px 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 9999;
	transition: all 0.3s ease-out;
}
header h1 {
	width: 220px;
	line-height: 0;
	z-index: 9999;
}
header #gnav ul {
	display: flex;
	list-style: none;
}
header #gnav ul li {
	margin-left: min(2vw, 30px);
}
header #gnav ul li a {
	color: #000;
	text-decoration: none;
	font-size: 16px;
	font-weight: 100;
	position: relative;
}
header #gnav ul li:last-child a {
	font-weight: 500;
}

@media screen and (min-width: 1061px) {
	#menuButton {
		display: none;
	}
	header #gnav {
		display: block!important;
	}
	header #gnav ul li a:hover {
		opacity: 1;
	}
	header #gnav ul li a::before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: 0;
		background-color: #FF912E;
		width: 0;
		height: 2px;
		transition: all .3s ease-out;
    	z-index: -1;
	}
	header #gnav ul li a.current::before,
	header #gnav ul li a:hover::before {
		width: 100%;
	}
}
@media screen and (max-width: 1060px) and (min-width: 813px) {
	body header {
		padding: 30px 30px;
	}
	header h1 {
    	width: 200px;
	}
	header #gnav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		background-color: #fff;
	}
	header #gnav ul {
		height: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding-bottom: 0;
	}
	header #gnav ul li {
		margin-left: 0;
    	margin: 10px 0;
	}
	header #gnav ul li a {
		font-size: 20px;
	}
	#menuButton {
		display: block;
		width: 40px;
		height:40px;
		position: fixed;
		top: 7px;
		right: 7px;
		z-index: 9999;
	}
	#menuButton span {
		display: block;
		background: #000;
		width: 33px;
		height: 3px;
		position: absolute;
		left: 3px;
		transition: all 0.4s;
	}

	#menuButton span:first-child { top: 13px;}
	#menuButton span:nth-child(2) { bottom: 13px;}

	#menuButton.active span:first-child {
		top: 12px;
		transform: translateY(7px) rotate(45deg);
	}
	#menuButton.active span:nth-child(2) {
		bottom: 11px;
		transform: translateY(-7px) rotate(-45deg);
	}
}
@media screen and (min-width: 813px) {
	header.on {
		padding: 25px 40px;
		background-color: rgba(255, 255, 255, 0.5);
		backdrop-filter: blur(7px);
	}
}
@media screen and (max-width: 812px) {
	body header {
		padding: 15px 15px;
	}
	header h1 {
    	width: 140px;
	}
	header #gnav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		background-color: #fff;
	}
	header #gnav ul {
		height: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
    	padding-bottom: 0;
	}
	header #gnav ul li {
		margin-left: 0;
		margin: 2vw 0;
	}
	header #gnav ul li a {
		font-size: 5.2vw;
	}
	#menuButton {
		display: block;
		width: 40px;
		height:40px;
		position: fixed;
		top: 7px;
		right: 7px;
		z-index: 9999;
	}
	#menuButton span {
		display: block;
		background: #000;
		width: 33px;
		height: 3px;
		position: absolute;
		left: 3px;
		transition: all 0.4s;
	}

	#menuButton span:first-child { top: 13px;}
	#menuButton span:nth-child(2) { bottom: 13px;}

	#menuButton.active span:first-child {
		top: 12px;
		transform: translateY(7px) rotate(45deg);
	}
	#menuButton.active span:nth-child(2) {
		bottom: 11px;
		transform: translateY(-7px) rotate(-45deg);
	}

}

/* ////////////////////////////////////////////////////////////////////////////////

	common parts

//////////////////////////////////////////////////////////////////////////////// */
.flexBox {
	display: flex;
}
.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	width: 100%;
	text-decoration: none;
}
.btn.btnRed {
	background-color: #ee9ba3;
	color: #221815;
	border-radius: 30px;
}
.btn.btnBlue {
	background-color: #000;
	color: #fff;
	border-radius: 30px;
}
.btn.btnBlack {
	background-color: #000;
	color: #fff;
	border-radius: 30px;
}
.btn.btnOrange {
	background-color: #FF912E;
	color: #fff;
	border-radius: 30px;
}

.wrapper {
	margin: 0 auto;
	padding: 0 60px;
}
.wrapper.outerWrapper {
	padding: 0;
	max-width: 100%;
}
main > .wrapper:first-of-type {
	padding-top: 240px;
}
main > .wrapper:first-of-type section:first-of-type .wrapper {
	padding-top: 0;
}
.sectionTtl {
	font-weight: 400;
	font-style: normal;
	display: table;
	line-height: 1.4;
	letter-spacing: 0.08em;
	border-bottom: 3px solid #FF912E;
	padding-bottom: 0.1em;
    text-indent: 0.1em;
}
.sectionTtl span {
	font-size: 0.8em;
}
.sectionLead {
	letter-spacing: 0.1em;
	text-align: center;
	font-feature-settings: "palt" 1;
	line-height: 2.2;
}
.sectionLead:last-child {
	margin-bottom: 0;
}
.sectionLead span {
	color: #FF912E;
}
.articleTtl {
/*
	font-weight: 600;
	font-style: normal;
	font-size: 28px;
	line-height: 1.6;
	letter-spacing: 0.12em;
    margin-bottom: 10px;
*/

	font-weight: 400;
    font-style: normal;
    display: table;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-indent: 0.1em;
	margin: 0 auto 50px;
    font-size: 38px;
}

.notFound {
	padding: 80px 0;
}
.notFound p {
	text-align: center;
    font-size: 20px;
    letter-spacing: .15em;
}

.pager {
	padding: min(8vw, 60px) 0 min(14vw, 80px);
	text-align: center;
	color: #fff;
	font-size: min(3vw, 14px);
    display: flex;
	flex-wrap: wrap;
    justify-content: center;
    gap: min(1.5vw, 12px);
}
.pager span {
	display: inline-block;
	background-color: #222222;
    padding: 5px min(2vw, 14px);
}
.pager a {
	display: inline-block;
	background-color: #fff;
	color: #000;
	text-decoration: none;
    padding: 5px min(2vw, 14px);
}
.pager a:hover { background-color: #222;}


.is-layout-flex .wp-block-image {
	margin-bottom: 0;
}

@media screen and (min-width: 813px) {
	.btn.btnMd {
		padding: 5px 20px;
		font-size: 16px;
		font-weight: 300;
		max-width: 160px;
		box-sizing: content-box;
	}
	.btn.btnBlue:hover,
	.btn.btnBlack:hover {
		background-color: #FF912E;
		color: white;
		opacity: 1;
	}
	.btn.btnOrange:hover {
		background-color: #000000;
		color: white;
		opacity: 1;
	}
	.btn.btnWhite:hover {
		background-color: #FF912E;
		color: white;
		opacity: 1;
	}
	.sectionTtl {
		margin: 0 auto 50px;
		font-size: 38px;
	}
	.sectionLead {
		font-size: 32px;
    	line-height: 1.6;
    	margin: 0 auto 110px;
	}
}
@media screen and (min-width: 813px) and (max-width: 1210px) {
	/*.wrapper {
		padding-left: 3vw;
		padding-right: 3vw;
	}*/
}
@media screen and (max-width: 812px) {
	.flexBox {
		display: block;
	}
	main > .wrapper:first-of-type {
		padding-top: calc(120 / 375 * 100vw);
	}
	.wrapper {
		padding-left: calc(20 / 375 * 100vw);
		padding-right: calc(20 / 375 * 100vw);
	}
	.btn.btnMd {
		max-width: calc(240 /375 * 100vw);
		height: calc(46 /375 * 100vw);
		font-size: calc(13 / 375 * 100vw);
		font-weight: 300;
		border-radius: calc(26.6 / 375 * 100vw);
	}
	.sectionTtl {
		margin: 0 auto calc(30 / 375 * 100vw);
		font-size: calc(26.6 / 375 * 100vw);
	}
	.sectionLead {
		font-size: calc(18/ 375 * 100vw);
		line-height: 1.6;
		margin-bottom: calc(40 / 375 * 100vw);
	}
	.articleTtl {
		font-size: calc(24 / 375 * 100vw);
	}
	.notFound {
		padding: 6vw 0 12vw;
	}
	.notFound p {
    	font-size: 4.2vw;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////

	about

//////////////////////////////////////////////////////////////////////////////// */
.bgBlue {background-color: #dbdfe0;}
.bgRed {background-color: #f1eae4;}
.bgYellow {background-color: #E9E6DE;}
.bgGray { background-color: #F2F2F2;}
.bgLight { background-color: #FBFBFB;}
.about .wrapper:not(.outerWrapper) {
	max-width: 1120px;
	padding: min(14vw, 80px) min(6vw, 60px);
}
.about .whatWeAre span {
	color: #036eb8;
}
.about .heading {
	font-family: "游明朝体", 'Yu Mincho', 'YuMincho', 'Noto Serif JP', serif;
	letter-spacing: 0.12em;
	font-weight: normal;
}
.about .heading span {
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	letter-spacing: 0.06em;
}
.about .contentWrap p {
	letter-spacing: 0.15em;
	line-height: 2.2;
	font-feature-settings: "palt" 1;
}
.about .howWeDo .wrapper {
	max-width: 1120px;
	padding-top: 190px;
	padding-bottom: 200px;
}
.about .bgRed span {
	color: #ed7987;
}
.about .ourSolution .wrapper {
	max-width: 1320px;
	padding-bottom: 120px;
}
.about .ourSolution ul .heading {
	line-height: 1.4;
}
.about .ourSolution ul li {
	font-family: 'Lato', "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	letter-spacing: 0.04em;
	font-feature-settings: "palt" 1;
	line-height: 2;
}
.about .solutionFlow .wrapper {
	max-width: 1120px;
	padding-bottom: 180px;
	padding-top: 0;
}

.about .aboutTxt p {
	font-size: min(3.4vw, 16px);
}
.about .aboutTxt p + p {
	margin-top: min(4vw, 20px);
}


.about h3 {
	text-align: center;
    font-weight: normal;
    font-size: min(4.2vw, 24px);
    margin-bottom: min(8vw, 60px);
}

.about .sectionLead {
    margin-bottom: min(10vw, 80px);
    font-size: min(5.2vw, 32px);
}
.about .sectionLead.enCopy {
    margin-bottom: 0;
    margin-top: min(8vw, 60px);
    font-size: min(5.8vw, 32px);
    text-align: left;
}

.about .logoCopy {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.about .logoCopy .logoCopyTxt {
    width: 62%;
}
.about .logoCopy .logoCopyTxt p {
	font-size: min(3.4vw, 16px);
}
.about .logoCopy .logoCopyTxt p + p {
	margin-top: min(4vw, 20px);
}
.about .logoCopy .logo {
    width: 30%;
    line-height: 0;
}

.about .solutionMap {
	background: url("../images/solution_map_bg_pc.png") no-repeat center center;
	background-size: contain;
	padding-top: 51.9%;
	position: relative;
}
.about .solutionMap > div {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
    width: 15.7%;
    height: 30.1%;
	text-align: center;
    font-size: min(1.2vw, 13px);
    font-weight: 500;
    line-height: 1.6;
	letter-spacing: 0;
}

.about .solutionMap .solutionMapTxt01 {
    top: 8.3%;
    left: 11.7%;
}
.about .solutionMap .solutionMapTxt02 {
	top: 12.8%;
    left: 70%;
}
.about .solutionMap .solutionMapTxt03 {
    top: 21.4%;
    left: 26.9%;
}
.about .solutionMap .solutionMapTxt04 {
    top: 34.5%;
    left: 42.1%;
}
.about .solutionMap .solutionMapTxt05 {
	top: 43.7%;
    left: 15%;
}
.about .solutionMap .solutionMapTxt06 {
    top: 53.9%;
    left: 65.5%;
}
.about .solutionMap .solutionMapTxt07 {
    top: 61.5%;
    left: 33%;
}

.about .blockList {
	display: flex;
	justify-content: space-between;
}
.about .blockList li {
	width: 48%;
	background-color: #FBFBFB;
	position: relative;
	padding: min(6vw, 40px) min(6vw, 40px) min(20vw, 120px);
}
.about .blockList li .thumb {
	line-height: 0;
	margin-bottom: min(6vw, 30px);
}
.about .blockList li .txt p {
	font-size: min(3.2vw, 14px);
}

.about .blockList li .blackBtn {
	position: absolute;
	bottom: min(6vw, 40px);
	left: 50%;
	transform: translateX(-50%);
}
.about .blockList li .blackBtn a {
	display: block;
	background-color: #000;
	text-decoration: none;
	color: #fff;
	font-size: min(3.8vw, 17px);
	width: 240px;
	text-align: center;
	padding: min(2vw, 5px) min(2vw, 5px) min(3vw, 8px);
	border-radius: 60px;
}


@media screen and (min-width: 813px) {
	.about .whatWeAre .sectionTtl {
		margin-bottom: 38px;
		border-bottom: 3px solid #FF912E;
	}
	.about .heading {
		font-size: 28px;
		margin-bottom: 60px;
	}
	.about .heading span {
		font-size: 14px;
	}
	.about .whatWeAre .wwa1 img {
		align-self: flex-start;
		margin-left: 5%;
		width: 47%;
	}
	.about .whatWeAre .wwa1 {
		margin-bottom: 100px;
	}
	.about .whatWeAre .wwa2 .flexBox {
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.about .whatWeAre .wwa2 .note {
		margin-top: 80px;
		text-align: left;
		font-size: 12px;
	}
	.about .whatWeAre .wwa2 img {
		align-self: center;
		width: 52%;
	}
	.about .whatWeAre .wwa2 {
		text-align: right;
	}
	.about .bgRed .sectionTtl {
		border-bottom: 6px solid #ed7987;
	}
	.about .howWeDo img {
		align-self: flex-start;
		margin-left: auto;
		width: 36%;
	}
	.about .ourSolution .heading {
		margin-bottom: 26px;
	}
	.about .ourSolution .flexBox > ul {
		margin-left: 1.5%;
		margin-right: 1.5%;
		padding: 22px 30px 50px;
		margin-bottom: 46px;
		border: 1px solid #000;
		flex:1;
	}
	.about .ourSolution .flexBox > ul:first-child {
		margin-left: auto;
	}
	.about .ourSolution .flexBox > ul:last-child {
		margin-right: auto;
	}
	.about .ourSolution .flexBox > ul li {
		font-size: 14px;
	}
	.about .solutionFlow .imgBox {
		margin-top: 75px;
		text-align: center;
	}
	.about .blockList li .blackBtn a:hover {
		background-color: #FF912E;
		color: white;
		opacity: 1;
	}
	.about .blockList li .blackBtn.btnPa a:hover {
		background-color: #008bcd;
	}
}
@media screen and (min-width: 813px) and (max-width: 1000px) {
	.about .heading {
		font-size: 2.8vw;
		margin-bottom: 3.9vw;
	}
	.about .contentWrap p {
		font-size: 1.6vw;
	}
	.about .ourSolution .flexBox > ul {
		padding: 2vw 1.8vw 4vw;
		margin-left: 1.2%;
		margin-right: 1.2%;
	}
	.about .ourSolution .flexBox > ul li {
		font-size: 1.4vw;
	}
}
@media screen and (min-width: 813px) and (max-width: 1220px) {
	/*.about .whatWeAre .wwa1 img {
		max-width: 41vw;
	}
	.about .whatWeAre .wwa2 img {
		max-width: 58vw;
	}
	.about .howWeDo img {
		max-width: 32vw;
	}*/
}
@media screen and (min-width: 813px) and (max-width: 1350px) {
	.about .ourSolution .wrapper {
		padding-left: 3vw;
		padding-right: 3vw;
	}
}
@media screen and (max-width: 812px) {
	.about .whatWeAre .wrapper {
		padding-bottom: calc( 98/ 375 * 100vw);
	}
	.about .whatWeAre .sectionTtl {
		border-bottom: calc(3.3 / 375 * 100vw) solid #146daa;
	}
	.about .contentWrap p {
		font-size: calc(12 / 375 *100vw);
	}
	.about .heading {
		font-size: calc(16 / 375 * 100vw);
		margin-bottom: calc(20 / 375 * 100vw);
	}
	.about .heading span {
		font-size: calc(9.3 / 375 * 100vw);
	}
	.about .whatWeAre .wwa1 img {
		margin: calc(24 / 375 * 100vw) auto calc(50 / 375 * 100vw);
		max-width: 80%;
    	display: block;
	}
	.about .whatWeAre .wwa2 .heading {
		letter-spacing: 0.1em;
	}
	.about .whatWeAre .wwa2 img {
		margin: calc(24 / 375 * 100vw) auto 0;
		max-width: 90%;
		display: block;
	}
	.about .whatWeAre .wwa2 .note {
		margin-top: 8vw;
		font-size: 2.8vw;
		line-height: 1.8;
	}
	.about .bgRed .sectionTtl {
		border-bottom: calc(3.3 / 375 * 100vw) solid #ed7987;
	}
	.about .howWeDo .wrapper {
		padding-top: calc(74 / 375 * 100vw);
		padding-bottom: calc(90 / 375 * 100vw);
	}
	.about .howWeDo .heading {
		letter-spacing: 0.1em;
	}
	.about .howWeDo img {
		margin: calc(24 / 375 * 100vw) auto 0;
		display: block;
		max-width: 56%;
	}
	.about .ourSolution .sectionLead {
		margin-bottom: calc(30 / 375 * 100vw);
	}
	.about .ourSolution .heading {
		margin-bottom: calc(20 / 375 * 100vw);
	}
	.about .ourSolution .flexBox > ul {
		padding: calc(24 / 375 * 100vw) calc(14 / 375 * 100vw) calc(30 / 375 * 100vw);
		margin-bottom: calc(20 / 375 * 100vw);
		border: calc(0.33 / 375 * 100vw) solid #666;
	}
	.about .ourSolution .flexBox > ul:last-child {
		margin-bottom: calc(40 / 375 * 100vw);
	}
	.about .ourSolution .flexBox > ul li {
		font-size: calc(10 / 375 * 100vw);
	}
	.about .ourSolution .wrapper {
		padding-bottom: calc(70 / 375 * 100vw);
	}
	.about .solutionFlow .wrapper {
		padding-top: 0;
		padding-bottom: calc(90 / 375 * 100vw);
	}

	.about .wrapper:not(.outerWrapper) {
		padding-left: calc(20 / 375 * 100vw);
    	padding-right: calc(20 / 375 * 100vw);
	}

	.about .aboutTxt {
		padding: 0 min(5vw, 25px);
	}

	.about .logoCopy {
		flex-direction: column-reverse;
	}
	.about .logoCopy .logoCopyTxt {
		width: 100%;
	}
	.about .logoCopy .logo {
		width: 56%;
		margin: 0 auto min(10vw, 60px);
	}

	.about .solutionMap {
		background: url("../images/solution_map_bg_sp.png") no-repeat center center;
		background-size: contain;
		padding-top: 146.2%;
	}

	.about .solutionMap > div {
		width: 27.5%;
		height: 18.9%;
		font-size: min(1.8vw, 13px);
    	letter-spacing: -0.08em;
	}

	.about .solutionMap .solutionMapTxt01 {
		top: 8.1%;
		left: 1.1%;
	}
	.about .solutionMap .solutionMapTxt02 {
		top: 17.5%;
		left: 70.9%;
	}
	.about .solutionMap .solutionMapTxt03 {
		top: 24.2%;
    	left: 19%;
	}
	.about .solutionMap .solutionMapTxt04 {
		top: 40.5%;
		left: 36.3%;
	}
	.about .solutionMap .solutionMapTxt05 {
		top: 51.6%;
    	left: 11.7%;
	}
	.about .solutionMap .solutionMapTxt06 {
		top: 57.3%;
		left: 61.7%;
	}
	.about .solutionMap .solutionMapTxt07 {
		top: 70.5%;
		left: 20.1%;
	}


	.about .blockList {
		flex-direction: column;
		gap: calc(20 / 375 * 100vw) 0;
	}
	.about .blockList li {
		width: 100%;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	service

//////////////////////////////////////////////////////////////////////////////// */

.serviceAcc {
	margin-bottom: min(8vw, 50px);
}
.serviceAcc dt {
	border-top: #000 solid 2px;
	padding: min(6vw, 30px) 70px min(6vw, 30px) 0;
	position: relative;
	cursor: pointer;
}
.serviceAcc dt::before,
.serviceAcc dt::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: #000;
}
.serviceAcc dt::before {
	width: 14px;
	height: 2px;
	right: 30px;
}
.serviceAcc dt::after {
	height: 14px;
	width: 2px;
    right: 36px;
	transition: all 0.3s ease-out;
}
.serviceAcc dt.on::after {
	transform: translateY(-50%) rotate(90deg);
}
.serviceAcc dt > p {
	color: #FF912E;
	font-size: min(3.6vw, 18px);
    line-height: 1.6;
}
.serviceAcc dt > p::before {
	content: "";
    display: block;
    height: 100px;
    margin-top: -100px;
    visibility: hidden;
}
.serviceAcc dt h4 {
	font-size: min(4.6vw, 30px);
    font-weight: 400;
    line-height: 1.6;
}
.serviceAcc dd {
	display: none;
	padding-bottom: min(6vw, 40px);
}
.serviceAcc dd p {
    font-size: min(3.4vw, 16px);
}
.serviceAcc dd p {
	margin-bottom: min(5vw, 25px);
}

.serviceAcc dd .btn {
	margin: min(6vw, 40px) 0;
}

@media screen and (max-width: 812px) {
	.serviceAcc dt {
		padding-right: 40px;
	}
	.serviceAcc dt::before {
		width: 14px;
		height: 2px;
		right: 12px;
	}
	.serviceAcc dt::after {
		height: 14px;
		width: 2px;
		right: 18px;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	works

//////////////////////////////////////////////////////////////////////////////// */
.works .iframeBox {
	margin: 0 auto 56px;
	max-width: 800px;
}
.works .wrapper {
	padding-bottom: min(14vw, 80px);
}
.works .wrapper article {
    padding: 0 60px;
    margin: 0 auto;
}
.works .sectionLead {
	font-size: min(7.4vw, 46px);
    line-height: 1.6;
    letter-spacing: 0.06em;
}
.works .sectionLead.projectLead {
	font-size: min(3.4vw, 16px);
    line-height: 1.8;
}
.worksList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1120px;
	margin: 0 auto;
	gap: 0 40px;
}
.worksList li {
    width: calc(50% - 20px);
	margin-bottom: 37px;
}
.worksList li a {
	color: #000;
	text-decoration: none;
	display: block;
}
.worksList li .thumb {
	line-height: 0;
	margin-bottom: min(2vw, 10px);
}
.worksList li p {
	font-size: min(3.2vw, 16px);
    line-height: 1.6;
}

.worksList + .btn {
	margin-top: min(12vw, 50px);
}

.works .articleHdr .articleTtl {
	padding-left: 3vw;
	padding-right: 3vw;
	margin-bottom: 40px;
}
.works .articleHdr .clientName {
	color: #000;
	letter-spacing: 0.04em;
	max-width: 980px;
	margin: 0 auto 80px;
	display: flex;
	justify-content: space-between;
	padding: 0 60px;
	text-align: left;
}
.works .articleHdr .clientName li {
	width: 48%;
	border-bottom: #000 solid 1px;
	padding-bottom: 5px;
}
.works .articleHdr .clientName li .clientNameTtl {
	font-weight: 400;
	font-size: min(3.2vw, 16px);
	margin-bottom: 5px;
    color: #FF912E;
}
.works .articleHdr .clientName li p {
    line-height: 1.5;
    font-weight: 500;
    font-size: min(3.2vw, 16px);
}



.works .articleHdr .workImg img {
	width: 100%;
}
.works .articleBody h3 {
	letter-spacing: 0.04em;
}
.works .articleBody p {
	font-feature-settings: "palt" 1;
}
.works .articleBody p a {
	color: #000;
	text-decoration: underline;
	word-break: break-all;
}
.works .shareBox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.works .shareBox h3 {
	font-weight: normal;
}
.works .shareBox .shareIcons {
	display: flex;
	justify-content: space-between;
}
.works .shareBox .shareIcons .fab {
	text-align: center;
	color: #000;
}
.works .shareBox .shareIcons a {
	text-decoration: none;
}

.works #projects.wrapper {
	padding-top: min(14vw, 80px);
}
@media screen and (min-width: 813px) {
	.works article .wrapper {
		max-width: 1120px;
		padding: 0 60px;
	}
	.works .articleHdr {
		margin-bottom: 48px;
		text-align: center;
	}

	.works .articleBody h3 {
		margin-top: 10px;
		margin-bottom: 30px;
		font-size: 20px;
	}
	.works .articleBody p {
		margin-bottom: min(6vw, 30px);
	}
	.works .shareBox {
		margin-bottom: 68px;
		height: 170px;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
	}
	.works .shareBox h3 {
		font-size: 14px;
		margin-bottom: 4px;
	}
	.works .shareBox .shareIcons {
		width: 114px;
		font-size: 31px;
	}
	.works .shareBox .shareIcons .fab {
		width: 31px;
	}
}
@media screen and (max-width: 812px) {

	.works .wrapper article {
		padding-left: calc(20 / 375 * 100vw);
    	padding-right: calc(20 / 375 * 100vw);
	}
	.works .iframeBox {
		margin: 0 auto min(6vw, 56px);
		max-width: 800px;
	}
	.worksList {
		justify-content: space-between;
		gap: 0 20px;
	}
	.worksList li {
		width: calc(50% - 10px);
		margin-bottom: 12px;
		margin-right: 0;
	}

	.works article .wrapper {
		padding: 0;
	}
	.works .articleHdr {
		margin-bottom: calc(20 / 375 * 100vw);
	}
	.works .articleHdr .articleTtl,
	.works .articleHdr .clientName {
		padding-left: 0;
    	padding-right: 0;
	}
	.works .articleHdr .articleTtl {
		margin-bottom: calc(5 / 375 * 100vw);
	}
	.works .articleHdr .clientName {
		margin-top: calc(20 / 375 * 100vw);
		margin-bottom: calc(30 / 375 * 100vw);
		font-size: calc(12 / 375 * 100vw);
		display: block;
	}
	.works .articleHdr .clientName li {
		width: 100%;
    	margin-bottom: 4vw;
	}

	.works .articleBody h3 {
		margin-top: calc(10 / 375 * 100vw);
		margin-bottom: calc(20 / 375 * 100vw);
		font-size: calc(18 / 375 * 100vw);
	}
	.works .articleBody p {
		font-size: calc(14 / 375 * 100vw);
		margin-bottom: min(6vw, 30px);
	}
	.works .shareBox {
		margin-top: calc(47 / 375 * 100vw);
		margin-bottom: calc(48 / 375 * 100vw);
		height: calc(82 / 375 * 100vw);
		border-top: 1px solid #555;
		border-bottom: 1px solid #555;
	}
	.works .shareBox h3 {
		font-size: calc(9.3 / 375 * 100vw);
		margin-right: auto;
		margin-bottom: calc(-8 / 375 * 100vw);
	}
	.works .shareBox .shareIcons {
		width: calc(100 / 375 * 100vw);
		font-size: calc(22.3 / 375 * 100vw);
	}
	.works .shareBox .shareIcons .fab {
		width: calc(22.3 / 375 * 100vw);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	news

//////////////////////////////////////////////////////////////////////////////// */
.news .articleHdr .articleDate {
	letter-spacing: 0.05em;
}
.news aside h3 {
	font-weight: normal;
}
.news aside a,
.news aside .categoryBox span {
	display: block;
	text-align: center;
	color: #000;
	text-decoration: none;
}
.news aside .shareIcons {
	display: flex;
	justify-content: space-between;
	margin: auto;
}
.news a.contactBox {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #000;
	text-decoration: none;
	text-align: center;
	letter-spacing: 0.06em;
}
.news a.contactBox span {
	letter-spacing: 0.1em;
}

.news .mainCont {
	margin-bottom: min(14vw, 80px);
}

.news .articleBody p {
	margin-bottom: 20px;
}
.news .articleBody p a {
	color: #000;
	text-decoration: underline;
	word-break: break-all;
}

.news .articleBody strong { font-weight: bold; }
.news .articleBody em { font-style: italic; }
.news .articleBody blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}
.news .articleBody .aligncenter {
	display: block;
	margin: 0 auto;
}
.news .articleBody .alignright { float: right; }
.news .articleBody .alignleft { float: left; }

.articleBody .is-layout-flex {
	display: flex;
	gap: min(8vw, 30px) calc(8% / 3);
    margin: min(8vw, 30px) 0;
}
.articleBody .is-layout-flex > .wp-block-group {
	width: 23%;
}
.articleBody .is-layout-flex h3 {
    font-size: min(3.6vw, 16px);
    letter-spacing: 0.08em;
    margin: 0 0 min(1.5vw, 10px);
    font-weight: 400;
	color: #FF912E;
    line-height: 1.2;
}
.articleBody .is-layout-flex h4 {
	font-size: min(4vw, 18px);
	font-weight: 500;
    margin-bottom: min(3vw, 20px);
}
.articleBody .is-layout-flex p {
	margin-bottom: min(3vw, 15px);
}

@media screen and (min-width: 813px) {
	.news .wrapper {
		max-width: 1120px;
		padding-bottom: min(14vw, 80px);
	}
	.news .articleHdr {
		margin-bottom: 48px;
		text-align: center;
	}
	.news .articleHdr .articleDate {
		padding-bottom: 50px;
	}
	.news .articleHdr .newsImg img {
		width: 100%;
	}
	.news .articleBody {
		margin-bottom: 80px;
	}
	.news .articleBody {
		flex: 78%;
		padding-right: 4.7vw;
	}
	.news aside {
		flex: 22%;
	}
	.news aside section {
		height: 114px;
		border-left: 1px solid #000;
	}
	.news aside section:first-of-type {
		border-bottom: 1px solid #000;
	}
	.news aside h3 {
		padding-left: 25px;
		font-size: 14px;
		margin-bottom: 16px;
	}
	.news aside .shareBox {
		padding-top: 22px;
	}
	.news aside .shareIcons {
		max-width: 106px;
	}
	.news aside .shareIcons .fab {
		font-size: 31px;
		width: 31px;
	}
	.news a.contactBox {
		margin-top: 85px;
		height: 178px;
		font-size: 14px;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
	}
	.news a.contactBox span {
		font-size: 36px;
	}
}
@media screen and (max-width: 812px) {
	.news .wrapper {
		padding-bottom: min(14vw, 80px);
	}
	.news .articleHdr {
		margin-bottom: calc(30 / 375 * 100vw);
	}
	.news .articleHdr .articleTtl {
		margin: 0 auto calc(5 / 375 * 100vw);
	}
	.news .articleHdr .articleDate {
		padding-bottom: calc(22 / 375 * 100vw);
		font-size: calc(12 / 375 * 100vw);
	}
	.news .articleBody {
		margin-bottom: calc(47 / 375 * 100vw);
	}
	.news .articleBody p {
		font-size: calc(14 / 375 * 100vw);
		margin-bottom: calc(30 / 375 * 100vw);
	}
	.news .articleBody {
		flex: 100%;
		padding-right: 0;
	}
	.news aside {
		flex: 100%;
		margin-bottom: calc(46 / 375 * 100vw);
	}
	.news aside section {
		height: calc(82 / 375 * 100vw);
		border-left: none;
	}
	.news aside section {
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
	}
	.news aside section:first-of-type {
		border-bottom: none;
	}
	.news aside h3 {
		padding-left: 0;
		font-size: calc(9.3 / 375 * 100vw);
	}
	.news aside section.categoryBox {
		padding-top: calc(12 / 375 * 100vw);
	}
	.news aside section.categoryBox span {
		font-size: calc(12 / 375 * 100vw);
	}
	.news aside .shareBox {
		padding-top: calc(12 / 375 * 100vw);
	}
	.news aside .shareBox h3 {
		margin-bottom: calc(-4 / 375 * 100vw);
	}
	.news aside .shareIcons {
		max-width: calc(100 / 375 * 100vw);
		font-size: calc(22.3 / 375 * 100vw);
	}
	.news aside .shareIcons .fab {
		width: calc(22.3 / 375 * 100vw);
	}
	.news a.contactBox {
		margin-top: calc(62 / 375 * 100vw);
		height: calc(92 / 375 * 100vw);
		font-size: calc(10 / 375 * 100vw);
		border: 1px solid #555;
	}
	.news a.contactBox span {
		font-size: calc(21.3 / 375 * 100vw);
	}

	.articleBody .is-layout-flex {
		flex-direction: column;
	}
	.articleBody .is-layout-flex > .wp-block-group {
		width: 100%;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	member

//////////////////////////////////////////////////////////////////////////////// */
.member .wrapper {
	max-width: 1120px;
	padding-bottom: min(14vw, 80px);
}
.member .sectionLead {
	max-width: 1000px;
	letter-spacing: 0.04em;
}
.member .memberFixNav {
	position: fixed;
	bottom: 15%;
	right: 0;
	background-color: #000;
	padding: 15px 25px;
	display: none;
	border-radius: 6px 0 0 6px;
  z-index: 10;
}
.member .memberFixNav .navTtl {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 14px;
    padding: 6px 40px 6px 0;
    position: relative;
    color: #fff;
	cursor: pointer;
}
.member .memberFixNav .navTtl::before,
.member .memberFixNav .navTtl::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #fff;
}
.member .memberFixNav .navTtl::before {
    width: 15px;
    height: 1px;
    right: 0;
}
.member .memberFixNav .navTtl::after {
    width: 1px;
    height: 15px;
    right: 7px;
}
.member .memberFixNav .navTtl.on::after {
	opacity: 0;
}
.member .memberFixNav li {
	padding: 4px 0;
    display: none;
}
.member .memberFixNav li:first-of-type {
	border-top: #fff solid 1px;
	padding-top: 10px;
}
.member .memberFixNav li a {
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}

.member .memberNavWrap {
	width: 100%;
	border-top: #000 solid 1px;
	padding-top: 40px;
	margin-bottom: 100px;
}
.member .memberNav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 580px;
	margin: 0 auto;
}
.member .memberNav li {
	padding: 0 15px;
	margin-bottom: 15px;
	position: relative;
}
.member .memberNav li::after {
	content: "";
	display: block;
	width: 2px;
	height: 18px;
	position: absolute;
	top: 50%;
	right: -1px;
	transform: translateY(-50%);
	background-color: #000;
}
.member .memberNav li:last-child::after {
	display: none;
}
.member .memberNav .navTtl {
	display: none;
}

.member .memberNav li a {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	color: #000;
	text-decoration: none;
}

.member .memberInnerWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: min(8vw, 60px);
    gap: min(8vw, 60px) 0;
}

.member .memberTitle {
    font-weight: 400;
    font-size: 30px;
	letter-spacing: .08em;
	width: 100%;
    padding: 0 2%;
    margin-bottom: 0;
}

.member .memberSingle {
	width: 100%;
}
.member .memberHdr {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.member .memberHdr h3 {
	font-weight: normal;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

.member .memberHdr p {
	line-height: 1.6;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
}
.member .memberSingle > p {
	font-feature-settings: "palt" 1;
	margin-bottom: 20px;
}
.member .memberSingle > p a {
	color: #000;
	text-decoration: underline;
	word-break: break-all;
}


@media screen and (min-width: 1000px) {
	.member .memberWrap {
		margin-left: -2%;
		margin-right: -2%;
	}
	.member .memberSingle {
		width: 48%;
		padding-left: 2%;
		padding-right: 2%;
	}
	.member .memberHdr {
		flex-direction: row;
		align-items: flex-start;
	}
	.member .memberHdr img {
    	margin-right: 35px;
	}
}
@media screen and (min-width: 813px) {
	.member .sectionLead {
		margin: 0 auto 60px;
	}
	.member .memberTitle {
		padding: 0;
		font-size: min(7.6vw, 30px);
		letter-spacing: .06em;
    	line-height: 1.4;
	}
	.member .memberSingle {
		margin: 0;
	}
	.member .memberHdr {
		min-height: 230px;
		margin-bottom: 20px;
	}
	.member .memberHdr img {
		max-width: 200px;
	}
	.member .memberHdr h3 {
		margin-bottom: 10px;
		font-size: 28px;
	}
	.member .memberHdr .position {
		margin-bottom: 20px;
	}
	.member .memberHdr p {
		font-size: 14px;
	}
	.member .btn.btnBlue {
		margin-top: 20px;
	}

	.member .memberNav li {
		display: block !important;
	}
}
@media screen and (max-width: 812px) {

	.member .sectionLead {
    	margin-bottom: calc(30 / 375 * 100vw);
	}

	.member .memberWrap {
		flex-direction: column;
	}
	.member .memberHdr {
		margin-bottom: calc(24 / 375 * 100vw);
	}
	.member .memberHdr img {
		max-width: 150px;
		margin-bottom: calc(20 / 375 * 100vw);
	}
	.member .memberHdr .outline {
		width: 100%;
	}
	.member .memberHdr h3 {
		margin-bottom: calc(4 / 375 * 100vw);
		font-size: calc(22 / 375 * 100vw);
	}
	.member .memberHdr .position {
		margin-bottom: calc(10 / 375 * 100vw);
		font-size: calc(14 / 375 * 100vw);
	}
	.member .memberHdr p {
		font-size: calc(11 / 375 * 100vw);
	}
	.member .memberSingle > p {
		font-size: calc(14 / 375 * 100vw);
	}

	.member .memberFixNav {
		top: inherit;
		bottom: 30px;
		right: 6vw;
		padding: min(3vw, 25px) min(4vw, 30px) min(3vw, 25px) min(4vw, 30px);
		transform: translateY(0);
		border-radius: 8px;
		transition: all .3s ease-out;
	}
	.member .memberFixNav .navTtl {
		display: block;
		width: 100%;
		text-align: left;
		font-size: calc(12 / 375 * 100vw);
		padding: calc(5 / 375 * 100vw) 40px calc(5 / 375 * 100vw) 0;
		position: relative;
		color: #fff;
	}

	.member .memberFixNav .navTtl::before,
	.member .memberFixNav .navTtl::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		background-color: #fff;
	}
	.member .memberFixNav .navTtl::before {
		width: 15px;
		height: 1px;
		right: 0;
	}
	.member .memberFixNav .navTtl::after {
		width: 1px;
		height: 15px;
		right: 7px;
	}
	.member .memberFixNav .navTtl.on::after {
		opacity: 0;
	}
	.member .memberFixNav li {
		display: none;
	}
	.member .memberFixNav li:first-of-type {
		border-top: #fff solid 1px;
	}
	.member .memberFixNav li a {
		font-size: calc(12 / 375 * 100vw);
	}


	.member .memberNavWrap {
		width: 100%;
        border-left: #000 solid 1px;
		padding-top: 0;
		margin-bottom: min(10vw, 100px);
	}
    .member .memberNav {
        justify-content: space-between;
    }
	.member .memberNav .navTtl {
		display: block;
		width: 100%;
		text-align: center;
		font-size: calc(12 / 375 * 100vw);
		padding: calc(10 / 375 * 100vw) 0;
		position: relative;
        border-bottom: #000 solid 1px;
        border-right: #000 solid 1px;
	}
	.member .memberNav .navTtl::before,
	.member .memberNav .navTtl::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		background-color: #000;
	}
	.member .memberNav .navTtl::before {
		width: 15px;
		height: 1px;
		right: 15px;
	}
	.member .memberNav .navTtl::after {
		width: 1px;
		height: 15px;
		right: 22px;
	}
	.member .memberNav .navTtl.on::after {
		opacity: 0;
	}
	.member .memberNav li {
		display: none;
		width: 50%;
		padding: 0;
		margin-bottom: 0;
		text-align: center;
		border-bottom: #000 solid 1px;
		border-right: #000 solid 1px;
	}
	.member .memberNav li::after {
		display: none;
	}
	.member .memberNav li a {
		display: block;
		font-size: calc(10 / 375 * 100vw);
		padding: calc(15 / 375 * 100vw) 0;
		letter-spacing: 0;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////

	company

//////////////////////////////////////////////////////////////////////////////// */
.company .wrapper {
	max-width: 1120px;
	padding-bottom: min(14vw, 80px);
}
.company .overview dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	letter-spacing: 0.15em;
}
.company .detail {
	line-height: 1.6;
	font-feature-settings: "palt" 1;
}
.company .overview dd a {
	color: #000;
	text-decoration: underline;
}
.company .overview dd span {
	font-size: 11px;
    letter-spacing: .1em;
}

.company .companyList {
	padding-left: 20px;
}
.company .companyList li {
	list-style: disc;
	margin-bottom: 10px;
}

@media screen and (min-width: 813px) {
	.company .overview .colL,
	.company .overview .colR {
		width: 48%;
	}
	.company .overview .colL{
		float: left;
	}
	.company .overview .colR{
		float: right;
	}
	.company .overview dl {
		max-width: 570px;
		margin-bottom: 90px;
	}
	.company .overview dt,
	.company .overview dd {
		padding-top: 18px;
		padding-bottom: 19px;
		font-size: 14px;
		border-bottom: 1px solid #000;
	}
	.company .overview dt {
		flex: 25%;
	}
	.company .overview dd {
		flex: 75%;
		padding-right: 18px;
	}
	.company .map {
		margin-bottom: min(14vw, 80px);
		position: relative;
		padding-top: 40%;
	}
	.company .map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
    	filter: saturate(0%);
	}
}
@media screen and (min-width: 813px) and (max-width: 1099px) {
	.company .sectionLead {
		font-size: 1.7vw;
	}
	.company .overview dt,
	.company .overview dd {
		font-size: 1.4vw;
	}
}
@media screen and (max-width: 812px) {
	.company .sectionLead {
		font-size: calc(13/ 375 * 100vw);
	}
	.company .overview dt,
	.company .overview dd {
		padding-top: calc(18/ 375 * 100vw);
		padding-bottom: calc(18/ 375 * 100vw);
		font-size: calc(13/ 375 * 100vw);
		border-bottom: 1px solid #555;
    	letter-spacing: .12em;
	}
	.company .overview dt {
		flex: 30%;
	}
	.company .overview dd {
		flex: 70%;
	}
	.company .overview dd span {
		font-size: calc(11/ 375 * 100vw);
		line-height: 1.8;
		display: block;
	}
	.company .map {
		margin-top: calc(60/ 375 * 100vw);
		margin-bottom: min(14vw, 80px);
		position: relative;
		padding-top: 60%;
	}
	.company .map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
    	filter: saturate(0%);
	}
}
/* ////////////////////////////////////////////////////////////////////////////////

	contact

//////////////////////////////////////////////////////////////////////////////// */
.contact .wrapper {
	max-width: 1120px;
	padding-bottom: min(14vw, 80px);
}
form dt, form dd {
	font-size: 18px;
}
form span.req {
	color: #e4243f;
}
input, textarea {
	padding: 8px 16px;
	background-color: #fff;
	width: 100%;
	border-radius: 5px;
}
label a {
	color: #000;
	letter-spacing: 0.15em;
}
input {
	height: 60px;
}
textarea {
	padding-top: 14px;
	height: 240px;
}
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + span {
	display: inline-block;
    position: relative;
    padding: 10px 40px;
    cursor: pointer;
}
input[type="checkbox"] + span::before {
	position: absolute;
    top: 50%;
	left: 0;
    width: 25px;
    height: 25px;
    content: "";
    margin-top: -11px;
    border: 1px solid #dcdcdc;
    background: #fff;
    transition: 0.3s;
}
input[type="submit"] {
    height: 40px;
}
/* hover */
input:hover,
textarea:hover,
select:hover {
	border-color: #aaa;
}
input[type="checkbox"] + span:hover  {
	color: #000;
}
input[type="checkbox"] + span:hover::before {
	border-color: #dcdcdc;
}
input[type="checkbox"] + span:hover::after {
	position: absolute;
    content: "";
    top: 30px;
    left: 5px;
    width: 15px;
    height: 15px;
    margin-top: -10px;
    background: #ccc;
}
/* checked */
input[type="checkbox"]:checked + span {
	color: #000;
}
input[type="checkbox"]:checked + span::before {
	border-color: #dcdcdc;
}
input[type="checkbox"]:checked + span::after {
	position: absolute;
    content: "";
    top: 30px;
    left: 5px;
    width: 15px;
    height: 15px;
    margin-top: -10px;
    background: #000;
}

.confirm .sectionLead {
	margin: 0 auto 60px;
}
.confirm .form {
	margin-bottom: 40px;
}
.confirm .form li {
	padding: 20px 0;
	border-bottom: #ccc solid 1px;
	display: flex;
	justify-content: space-between;
}
.confirm .form li .label {
	width: 160px;
	font-size: 14px;
	font-weight: bold;
}
.confirm .form li .input {
	width: calc(100% - 180px);
	font-size: 14px;
}

.submitWrap {
	display: flex;
	justify-content: center;
}
.submitWrap input {
	width: 30%;
	margin: 0 20px;
}

.thanks p {
	text-align: center;
    font-size: 20px;
    margin-bottom: 60px;
}
.thanks a {
	display: block;
    margin: 0 auto;
    background-color: #fff;
    width: 260px;
    text-align: center;
    padding: 20px;
    color: #000;
    text-decoration: none;
}

.errorWrap {
	margin-bottom: 80px;
    text-align: center;
}

@media screen and (min-width: 813px) {
	input[type="submit"] {
		transition: all 0.3s ease-out;
	}
	form dl {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-bottom: 40px;
	}
	form dt {
		width: 24%;
}
	form dd {
		width: 76%;
	}
}
@media screen and (max-width: 812px) {

	.contact .sectionLead {
		letter-spacing: 0.13em;
	}
	form dt, form dd {
		font-size: calc(15 / 375 * 100vw);
	}
	input, textarea {
		padding: calc(10 / 375 * 100vw) calc(16 / 375 * 100vw);
		font-size: 16px;
	}
	input {
		height: calc(46 / 375 * 100vw);
	}
	textarea {
		height: calc(240 / 375 * 100vw);
	}
	form dl {
		margin-bottom: calc(20 / 375 * 100vw);
	}
	form dl:last-of-type {
		margin-bottom: min(14vw, 80px);
	}
	input[type="checkbox"] + span {
		margin-left: calc(6 / 375 * 100vw);
    	padding: calc(10 / 375 * 100vw) calc(20 / 375 * 100vw);
	}
	input[type="checkbox"] + span::before {
		left: calc(-9 / 375 * 100vw);
		width: calc(20 / 375 * 100vw);
		height: calc(20 / 375 * 100vw);
		margin-top: calc(-19 / 375 * 100vw);
	}
	input[type="checkbox"] + span:hover::after,
	input[type="checkbox"]:checked + span::after {
		left: calc(-4 / 375 * 100vw);
		width: calc(10 / 375 * 100vw);
		height: calc(10 / 375 * 100vw);
		margin-top: calc(-7 / 375 * 100vw);
	}


	.confirm .sectionLead {
		margin: 0 auto 6vw;
	}
	.confirm .form {
		margin-bottom: 40px;
	}
	.confirm .form li {
		padding: 4vw 0;
		display: block;
	}
	.confirm .form li .label {
		width: 100%;
		font-size: 3.6vw;
	}
	.confirm .form li .input {
		width: 100%;
		font-size: 3.2vw;
	}

	.submitWrap {
		display: flex;
		justify-content: center;
	}
	.submitWrap input {
		width: 40%;
		margin: 0 3%;
	}

	.thanks p {
		font-size: 3.8vw;
		margin-bottom: 13vw;
	}

	.errorWrap {
    	margin-bottom: 8vw;
    	text-align: left;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	news

//////////////////////////////////////////////////////////////////////////////// */
.newsList {
	border-top: #999 solid 1px;
    margin: 0 auto;
    max-width: 980px;
}
.newsList li {
	padding: 2vh 0;
	border-bottom: #999 solid 1px;
}
.newsList li a {
	display: flex;
	margin: 0 auto;
	justify-content: space-between;
	color: #000;
	text-decoration: none;
}
.newsList li .thumb {
	width: 30vh;
	line-height: 0;
}
.newsList li .newsTxt {
	width: calc(100% - 35vh);
}
.newsList li .newsTxt .date {
    letter-spacing: .1em;
    margin-bottom: 1vh;
}
.newsList li .newsTxt h4 {
    font-size: 2.2vh;
    font-weight: normal;
    line-height: 1.5;
    margin-bottom: 1.5vh;
}

@media screen and (max-width: 812px) {

	.newsList li {
		padding: 6vw 0;
	}
	.newsList li a {
		display: block;
	}
	.newsList li .thumb {
		width: 100%;
    	margin-bottom: 4vw;
	}
	.newsList li .newsTxt {
		width: 100%;
	}
	.newsList li .newsTxt .date {
		margin-bottom: 2vw;
		font-size: 2.8vw;
	}
	.newsList li .newsTxt h4 {
		font-size: 3.8vw;
		margin-bottom: 4vw;
	}
	.newsList li .newsTxt p {
		font-size: 3vw;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	recruit

//////////////////////////////////////////////////////////////////////////////// */

.recruitList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
}
.recruitList > li {
	width: 46%;
	margin-bottom: 60px;
}
.recruitList li h4 {
	line-height: 1.6;
	font-size: 16px;
	font-weight: 500;
	border-bottom: #000 solid 1px;
	margin-bottom: 20px;
	padding-bottom: 15px;
}
.recruitList li p {
	margin-bottom: 30px;
}
.recruitList li p a {
  color: #000;
  text-decoration: underline;
}

.recruitList li ul {
	padding-left:  15px;
}
.recruitList li ul li {
	list-style: circle;
}

.entryBox {
	padding: 40px;
	border: #000 solid 1px;
	text-align: center;
	margin-bottom: min(14vw, 80px);
}
.entryBox p {
	margin-bottom: 30px;
}
.entryBox ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(3vw, 30px) min(4vw, 20px);
}
.entryBox ul li a {
	display: block;
	background-color: #000;
	color: #fff;
	text-decoration: none;
	width: 240px;
	min-width: fit-content;
	border-radius: 60px;
	padding: 12px 24px;
	font-size: 16px;
}
.entryBox ul li.questions a {
	background-color: transparent;
	border: #000 solid 1.5px;
	color: #000;
	padding: 10.5px 24px;
}
.entryBox ul li.wantedly a {
	background: linear-gradient(80deg, rgba(10, 145, 226, 1) 0%, rgba(7, 194, 203, 1) 100%);
	overflow: hidden;
	position: relative;
}
.entryBox ul li.wantedly a::before {
	content: "";
	display: block;
	background-color: #FF912E;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: all 0.3s ease-out;
	border-radius: 60px;
	z-index: 0;
}
.entryBox ul li.wantedly a span {
	position: relative;
	z-index: 1;
}

.entryBox .btnWrap {
	display: flex;
}

@media screen and (min-width: 813px) {
	.entryBox ul li a:hover {
		background-color: #FF912E;
		color: white;
		opacity: 1;
	}
	.entryBox ul li.questions a:hover {
		border: #FF912E solid 1.5px;
	}
	.entryBox ul li.wantedly a:hover {
		opacity: 1;
	}
	.entryBox ul li.wantedly a:hover::before {
		opacity: 1;
	}
}
@media screen and (max-width: 812px) {

	.recruitList {
		display: block;
		margin-bottom: 8vw;
	}
	.recruitList > li {
		width: 100%;
		margin-bottom: 14vw;
	}
	.recruitList li h4 {
		font-size: min(4.2vw, 18px);
		font-weight: bold;
		border-bottom: #000 solid 1px;
		margin-bottom: 20px;
	}
	.recruitList li p {
		margin-bottom: 25px;
		font-size: 3.2vw;
	}

	.entryBox {
		padding: 6vw;
	}
	.entryBox p {
		margin-bottom: 6vw;
	}
	.entryBox ul li {
		width: 100%;
	}
	.entryBox ul li a {
		width: 100%;
		padding: 3vw;
		font-size: 3.8vw;
		margin: auto;
	}
	.entryBox ul li.questions a {
		padding: calc(3vw - 1.5px);
	}


}


/* ////////////////////////////////////////////////////////////////////////////////

	project

//////////////////////////////////////////////////////////////////////////////// */

.projectEnter {
	margin-bottom: 80px;
}
.projectEnter li {
	margin-bottom: 40px;
}
.projectEnter li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #000;
	text-decoration: none;
}
.projectEnter li a .thumb {
	width: 30%;
	line-height: 0;
}
.projectEnter li a .projectTtl {
	width: 65%;
}
.projectEnter li a .projectTtl h3 {
	margin: 0 0 15px;
	font-size: 28px;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: .1em;
}
.projectEnter li a .projectTtl h3 span {
    font-size: 0.8em;
}

.projectsKvPic {
    max-width: 980px;
    margin: 0 auto min(8vw, 60px);
    line-height: 0;
}


.youtubeLink a {
	display: block;
    padding: 5px 20px;
    font-size: 16px;
    max-width: 160px;
    box-sizing: content-box;
    background-color: #bb271a;
    color: #fff;
    border-radius: 30px;
    text-decoration: none;
    margin: 30px auto 0;
}
.sgaLink a {
	display: block;
    padding: 5px 20px;
    font-size: 16px;
    max-width: 160px;
    box-sizing: content-box;
    background-color: #694cab;
    color: #fff;
    border-radius: 30px;
    text-decoration: none;
    margin: 30px auto 0;
}
.beyondLink a {
	display: block;
    padding: 5px 20px;
    font-size: 16px;
    max-width: 160px;
    box-sizing: content-box;
    background-color: #282e9e;
    color: #fff;
    border-radius: 30px;
    text-decoration: none;
    margin: 30px auto 0;
}
.normalLink a {
	display: block;
    padding: 5px 20px;
    font-size: 16px;
    max-width: 160px;
    box-sizing: content-box;
    background-color: #000;
    color: #fff;
    border-radius: 30px;
    text-decoration: none;
    margin: 30px auto 0;
}

@media screen and (min-width: 813px) {
	.project .wrapper {
		max-width: 1120px;
		padding-bottom: 188px;
	}
}
@media screen and (max-width: 812px) {

	.project .wrapper {
		padding-bottom: min(14vw, 80px);
	}
	.projectEnter {
		margin-bottom: 80px;
	}
	.projectEnter li {
		margin-bottom: 40px;
	}
	.projectEnter li a {
		display: block;
	}
	.projectEnter li a .thumb {
		width: 100%;
		margin-bottom: 20px;
	}
	.projectEnter li a .projectTtl {
		width: 100%;
	}
	.projectEnter li a .projectTtl h3 {
		font-size: 5.2vw;
	}
	.projectEnter li a .projectTtl p {
		font-size: 3vw;
	}

	.youtubeLink a {
		font-size: calc(13 / 375 * 100vw);
		max-width: 120px;
	}
	.sgaLink a {
		font-size: calc(13 / 375 * 100vw);
		max-width: 220px;
	}
	.beyondLink a {
		font-size: calc(13 / 375 * 100vw);
		max-width: 220px;
	}
	.normalLink a {
		font-size: calc(13 / 375 * 100vw);
		max-width: 220px;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////

	alumni

//////////////////////////////////////////////////////////////////////////////// */
.alumni .wrapper {
	max-width: 1120px;
	padding-bottom: 140px;
}
.alumni .sectionCatch {
	display: flex;
	align-items: center;
	justify-content: center;
	border-top: #000 solid 1px;
	border-bottom: #000 solid 1px;
	position: relative;
	padding: 40px 0;
	margin: 5px 0;
}
.alumni .sectionCatch::before,
.alumni .sectionCatch::after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.alumni .sectionCatch::before {
	top: -5px;
	left: 0;
}
.alumni .sectionCatch::after {
	bottom: -5px;
	left: 0;
}
.alumni .sectionCatch .kokochi {
	width: 68px;
	margin-right: 32px;
}
.alumni .sectionCatch p {
	font-weight: 600;
	font-size: 38px;
}
.alumni .iframeBox {
	margin: 56px auto;
	max-width: 800px;
}

.alumni .alumniInnerWrap {
	margin-top: 80px;
}
.alumni .alumniTitle {
	font-weight: normal;
	font-size: 30px;
	letter-spacing: .08em;
	width: 100%;
	border-bottom: #000 solid 1px;
}
.alumni dt.alumniTitle {
	position: relative;
}
.alumni dt.alumniTitle::before,
.alumni dt.alumniTitle::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	background-color: #000;
	width: 30px;
	height: 2px;
	transition: all .4s;
}
.alumni dt.alumniTitle::after {
	transform: rotate(90deg);
}
.alumni dt.alumniTitle.open::after {
	transform: rotate(0deg);
}
.alumni dd + .alumniTitle {
	margin-top: 40px;
}
.modalCont .outline h3,
.alumni .outline h3 {
	font-weight: normal;
	letter-spacing: 0.12em;
	line-height: 1.5;
	margin-bottom: 10px;
	font-size: 28px;
}
.modalCont .outline p,
.alumni .outline p {
	font-size: 14px;
	line-height: 1.6;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
}
.modalCont .outline .position,
.alumni .outline .position {
	margin-bottom: 20px;
}
.modalCont .outline .position a {
	color: #000;
	text-decoration: underline;
}
.alumni .repWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: #000 solid 1px;
	padding: 24px;
	max-width: 600px;
	margin: auto;
}
.alumni .repWrap .outline {
	margin-left: 24px;
}
.alumni .repWrap > a {
	display: inline-block;
	width: 28%;
}
.alumni .alumniList {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 48px;
	margin-top: 40px;
}
.alumni .alumniCont .modal {
	display: inline-block;
	margin-bottom: 24px;
  aspect-ratio: 1/1;
  width: 100%;
  line-height: 0;
}
.alumni .alumniCont .modal img {
  object-fit: cover;
  object-position: center top;
  width: 100%;
  height: 100%;
}
.alumni .alumniMovieList {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 48px;
}
.alumni .btnArea {
	margin-top: 120px;
}

.modalCont {
	width: 100%;
	height: 100%;
	background-color: #fff;
	padding: 32px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: fit-content;
	overflow: auto;
}
.modalCont .prof {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.modalCont .prof .profPic {
	display: inline-block;
	width: 36%;
  padding-top: 36%;
	margin-right: 6%;
  position: relative;
}
.modalCont .prof .profPic img {
  object-fit: cover;
  object-position: center top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.modalCont .prof .outline {
	width: 58%;
}
.modalCont .shikishi {
	flex-grow: 1;
	margin-top: 24px;
	border-top: #000 solid 1px;
	padding-top: 24px;
}
.modalCont .shikishi > div {
	position: relative;
	height: 320px;
	width: 100%;
}
.modalCont .shikishi img {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 100%;
	width: 100%;
	object-fit: contain;
}


@media screen and (min-width: 1000px) {
	.alumni .alumniWrap {
		margin-left: -2%;
		margin-right: -2%;
	}
}
@media screen and (min-width: 813px) {

}
@media screen and (max-width: 812px) {
	.alumni .wrapper {
		padding-bottom: calc(100 / 375 * 100vw);
	}
	.alumni .sectionCatch {
		padding: 6vw 0;
	}
	.alumni .sectionCatch .kokochi {
		width: calc(40 / 375 * 100vw);
		margin-right: 6vw;
	}
	.alumni .sectionCatch p {
		font-size: calc(20 / 375 * 100vw);
		line-height: 1.2;
	}

	.alumni .iframeBox {
		margin: min(6vw, 56px) auto;
		max-width: 800px;
	}

	.alumni .alumniInnerWrap {
		margin-top: 10vw;
	}
	.alumni .alumniTitle {
		font-size: calc(24 / 375 * 100vw);
	}
	.alumni dt.alumniTitle::before,
	.alumni dt.alumniTitle::after {
		width: min(6vw, 30px);
		height: 1.5px;
	}
	.alumni dd + .alumniTitle {
		margin-top: 8vw;
	}
	.modalCont .outline h3,
	.alumni .outline h3 {
		margin-bottom: calc(4 / 375 * 100vw);
		font-size: calc(22 / 375 * 100vw);
	}
	.modalCont .outline .position,
	.alumni .outline .position {
		margin-bottom: calc(10 / 375 * 100vw);
		font-size: calc(14 / 375 * 100vw);
	}
	.modalCont .outline p,
	.alumni .outline p {
		font-size: calc(11 / 375 * 100vw);
	}
	.alumni .repWrap {
		flex-direction: column-reverse;
		padding: 6vw;
	}
	.alumni .repWrap .outline {
		margin-left: 0;
		margin-top: 6vw;
	}
	.alumni .repWrap > a {
		width: 60%;
	}
	.alumni .alumniMovieList,
	.alumni .alumniList {
		grid-template-columns: 1fr 1fr;
		gap: 6vw;
		margin-top: 6vw;
	}
	.alumni .alumniCont .modal {
		margin-bottom: 4vw;
	}
	.alumni .btnArea {
		margin-top: 14vw;
	}

	.modalCont {
		padding: 6vw;
	}
	.modalCont .prof {
		flex-direction: column;
	}
  .modalCont .prof .profPic {
		margin-right: 0;
		width: 80%;
    padding-top: 80%;
		margin-bottom: 4vw;
	}
	.modalCont .prof .outline {
		width: 100%;
	}
	.modalCont .shikishi {
		margin-top: 4vw;
		padding-top: 4vw;
	}
  .modalCont .shikishi > div {
    height: 100%;
  }
	.modalCont .shikishi img {
		position: static;
    transform: translateX(0);
	}
}


.privacyWrap {
	margin-bottom: min(8vw, 60px);
}

.privacyWrap p {
	font-size: min(3.4vw, 14px);
}

.privacyWrap .privacyBlock {
	margin-top: min(6vw, 40px);
	padding-top: min(6vw, 40px);
	border-top: #999 solid 1px;
}
.privacyWrap .privacyBlock h3 {
	font-size: min(4.2vw, 20px);
	margin-bottom: min(4vw, 20px);
}
.privacyWrap .privacyBlock h4 {
	margin-top: min(6vw, 30px);
    font-size: min(3.6vw, 15px);
}
.privacyWrap .privacyBlock h4 + h4 {
	margin-top: min(2vw, 10px);
}
.privacyWrap .privacyBlock ol {
	margin-top: min(2vw, 10px);
	padding-left: 20px;
	font-size: min(3.4vw, 14px);
}
.privacyWrap .privacyBlock ol li {
	list-style: decimal;
    padding-left: 5px;
}

.privacyWrap .privacyBlock p {
	margin-top: min(6vw, 20px);
}
.privacyWrap .privacyBlock h4 + p {
	margin-top: min(2vw, 10px);
}


.privacyWrap .date {
	margin-top: min(8vw, 40px);
	text-align: right;
}

/* ////////////////////////////////////////////////////////////////////////////////

	footer

//////////////////////////////////////////////////////////////////////////////// */

footer {

}
footer #ftrContact {
	padding: min(8vw, 60px) min(6vw, 60px);
	border-top: #FF912E solid 3px;
	border-bottom: #FF912E solid 1px;
	text-align: center;
}
footer #ftrContact h3 {
    font-size: min(6vw, 36px);
	font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-indent: 0.1em;
	color: #FF912E;
	margin-bottom: min(2vw, 10px);
}
footer #ftrContact p {
	font-size: min(4.2vw, 22px);
	margin-bottom: min(6vw, 40px);
}

footer #ftrAddress {
	padding: min(8vw, 60px) min(6vw, 60px) 0;
}
footer #ftrAddress h4 {
	font-size: min(4.6vw, 24px);
    font-weight: normal;
    margin-bottom: min(8vw, 60px);
}
footer #ftrAddress p {
	font-size: min(3.2vw, 14px);
}
footer #ftrAddress p + p {
	margin-top: min(5vw, 25px);
}
footer #ftrAddress p a {
	color: #000;
	text-decoration: underline;
}

footer #ftrBottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: min(10vw, 60px) min(6vw, 60px);
  position: relative;
}
footer .copyright {
	font-size: 14px;
	display: flex;
	align-items: center;
  white-space: nowrap;
}
footer .copyright span {
	width: min(10vw, 55px);
	line-height: 0;
	display: inline-block;
	margin-left: min(4vw, 20px);
}

footer .ftrNavWrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: min(6vw, 30px);
}
footer .ftrNav {
	display: flex;
  gap: 0 min(3vw, 15px);
}
footer .ftrNav.snsList {
  gap: 0 min(4vw, 20px);
}

footer .ftrNav li a {
	color: #000;
	font-weight: 300;
	text-decoration: none;
	font-size: 14px;
}
footer .ftrNav li a i {
	font-size: min(6.8vw, 28px);
  display: block;
}
@media screen and (max-width: 1060px) and (min-width: 813px) {
	footer #ftrBottom {
    flex-direction: column-reverse;
    gap: min(6vw, 30px);
	}
	footer .ftrNav li a {
		font-size: 13px;
	}
}
@media screen and (max-width: 812px) {

	footer #ftrBottom {
		flex-direction: column-reverse;
	}
	footer .copyright {
		font-size: 2.6vw;
		text-align: center;

    position: absolute;
    bottom: min(10.6vw, 60px);
    right: min(6vw, 60px);
	}
  footer .ftrNavWrap {
    flex-direction: column-reverse;
    gap: min(10vw, 80px) min(3vw, 15px);
  }
	footer .ftrNav {
		flex-wrap: wrap;
    width: 100%;
    gap: min(1vw, 5px) 0;
	}
	footer .ftrNav li {
		width: 50%;
		margin-left: 0;
	}
  footer .ftrNav.snsList {
    gap: min(1vw, 5px) min(3vw, 15px);
  }
  footer .ftrNav.snsList li {
    width: auto;
  }
	footer .ftrNav li a {
		font-size: min(3.4vw, 14px);
	}

}