@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
/*
Theme Name: W-PROTECT
Theme URI: null
Description: Description
Author: 81bridge - SGX
Version: 1.0
*/
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media all and (-ms-high-contrast:none) {
	body, table, input, textarea, select, option {
		font-family: 'Noto Sans JP', sans-serif;
	}
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a, a:link {
	color: #0B193D;
	text-decoration: none;
	transition: .3s;
}
a:visited {
	color: #0B193D;
}
a:hover {
	color: #0B193D;
}
a:active {
	color: #0B193D;
}
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
img[class*="wp-image-"], img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.wp-block-image figure, .wp-block-image figcaption {
	display: block;
}
a.nolink, a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1200px;
	color: #0B193D;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
@media all and (-ms-high-contrast:none) {
	body {
		font-weight: 400;
	}
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	position: relative;
	text-align: left;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
.hideBox {
	height: 94px;
}
#gHeader {
	margin-bottom: 48px;
	padding: 0 62px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #F2EEEA;
	z-index: 10;
}
#gHeader .logo02 {
	display: none;
}
.menu {
	display: none;
	position: fixed;
	right: 22px;
	top: 20px;
	width: 44px;
	height: 44px;
	cursor: pointer;
	z-index: 101;
	transition: opacity .25s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	box-sizing: border-box;
}
.menu.fix {
	display: block;
}
.menu > div {
	margin: 0 auto;
	width: 44px;
	height: 33px;
	position: relative;
}
.menu span {
	display: block;
	background-color: #444;
	border: none;
	height: 7px;
	width: 44px;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.menu span:first-child {
	opacity: 0;
}
.menu span:nth-of-type(2) {
	top: 9px;
	right: 0;
	left: auto;
	width: 23px;
}
.menu span:nth-of-type(3) {
	top: 26px;
}
.menu.active {
	display: block;
}
.menu.active .middle {
	opacity: 0;
}
.menu.active .bottom {
	-webkit-transform: translateY(-2px) translateX(0) rotate(-30deg);
	-ms-transform: translateY(-2px) translateX(0) rotate(-30deg);
	transform: translateY(-2px) translateX(0) rotate(-30deg);
}
#gHeader.fix {
	margin-bottom: 0;
}
#gHeader.fix h1 {
	margin: 0 !important;
	position: fixed;
	left: 82px;
	top: 35px;
}
#gHeader.fix .logo02 {
	display: block;
}
#gHeader.fix .logo01 {
	display: none;
}
.cover {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
	z-index: 70;
}
.menuBox {
	display: none;
	padding: 90px 40px;
	position: fixed;
	right: 0;
	top: 0;
	width: 872px;
	background-color: #FFDE55;
	z-index: 100;
	box-sizing: border-box;
}
.menuBox .menuList {
	margin: 0 auto;
	max-width: 700px;
	display: flex;
}
.menuBox .menuList > li {
	width: 405px;
}
.menuBox .menuList > li:last-child {
	width: auto;
}
.menuBox .menuList > li li {
	margin-bottom: 3px;
}
.menuBox .menuList > li li ul {
	margin: 12px 0 0 27px;
}
.menuBox .menuList > li a,.menuBox .menuList > li div {
	padding: 15px 15px 10px;
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
}
.menuBox .menuList > li a > span {
	position: relative;
	z-index: 1;
}
.menuBox .menuList > li .en {
	margin-right: 15px;
	padding-right: 20px;
	min-width: 152px;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}
.menuBox .menuList > li .en:before {
	position: absolute;
	right: 0;
	width: 25px;
	height: 2px;
	top: 10px;
	background-color: #0B193D;
	content: "";
}
.menuBox .menuList > li li li {
	margin-bottom: 22px;
}
.menuBox .menuList > li li li a {
	padding: 5px 10px;
	font-size: 1.4rem;
	letter-spacing: 0;
	border-left: 2px solid #0B193D;
}
@media all and (max-width: 896px) {
	.hideBox {
		display: none !important;
	}
	.cover {
		display: none !important;
	}
	#gHeader {
		margin-bottom: -38px;
		padding: 38px 28px 68px;
		background-color: #FFDE55;
	}
	.menu {
		display: block;
		top: 30px;
	}
	.menu.active {
		top: 18px;
	}
	.menuBox {
		padding: 0 20px;
		width: 100%;
		height: 100%;
		overflow-y: auto;
	}
	.menuBox .logo {
		margin: 27px 0 20px 17px;
	}
	.menuBox .btn {
		margin: 0 15px 10px;
	}
	.menuBox .btn a {
		padding: 10px 35px;
		display: flex;
		align-items: center;
		width: 100%;
		height: 55px;
		font-size: 1.6rem;
		font-weight: bold;
		letter-spacing: 0.02em;
		background: #fff url("img/common/icon01.png") no-repeat right 5px center/39px auto;
		border: 1px solid #707070;
		border-radius: 10px;
		box-sizing: border-box;
	}
	.menuBox .menuList {
		margin: 20px 0;
		display: block;
	}
	.menuBox .menuList > li {
		margin-bottom: -5px;
		width: auto;
	}
	.menuBox .menuList > li a,.menuBox .menuList > li div {
        padding: 9px 15px;
		letter-spacing: 0.01em;
	}
	.menuBox .menuList > li a span {
		min-width: 125px;
	}
	.menuBox .menuList > li li ul {
		margin: 14px 0 0 30px;
	}
	.menuBox .menuList > li li li a {
		padding: 0 10px;
	}
    .menuBox .menuList > li li li {
        margin-bottom: 12px;
    }
	.menuBox .menuList > li .en {
		min-width: 125px;
	}
}
@media all and (max-width: 374px) {
	.menuBox {
		padding: 0 10px;
	}
}
@media all and (max-width: 359px) {
	.menuBox {
		padding: 0;
	}
	.menuBox .menuList > li .en {
		min-width: 110px;
	}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	margin-top: 4px;
	width: calc(100% - 230px);
}
#gNavi ul {
	display: flex;
	justify-content: flex-end;
}
#gNavi li {
	margin: 0 3px 0 32px;
}
#gNavi a,
#gNavi .link {
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 0;
	position: relative;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	box-sizing: border-box;
}
#gNavi a:after,
#gNavi .link:after {
	width: 0;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 7px;
	background-color: #818181;
	box-sizing: border-box;
	content: "";
	z-index: 31;
}
#gHeader.fix #gNavi {
	display: none;
}
#gNavi > ul > li.current .link:after {
	width: 100%;
	background-color: #fff;
	border: 1px solid #848484;
	border-bottom: none;
}
#gNavi .dropMenu {
	display: none;
	margin: 0 55px;
	padding: 38px 27px;
	position: absolute;
	left: 0;
	top: 93px;
	width: calc(100% - 110px);
	border: 1px solid #848484;
	background-color: #fff;
	box-sizing: border-box;
	z-index: 30;
}
#gNavi .dropMenu .serviceList {
	padding-left: 50px;
	margin: 0 auto;
	max-width: 800px;
	justify-content: flex-start;
}
#gNavi .dropMenu .serviceList li {
	margin: 0;
}
#gNavi .dropMenu .serviceList a {
	padding: 0;
	height: auto !important;
	display: block;
}
#gNavi .dropMenu .serviceList .listImg {
	height: 125px;
}
#gNavi .dropMenu .serviceList a:after {
	display: none;
}
#gNavi .dropMenu .serviceList img {
	width: 150px;
}
#gNavi .dropMenu .serviceList p {
	font-size: 1.5rem;
	font-weight: 500;
}
@media all and (min-width: 897px) {
	#gNavi a:hover:after {
		width: 100%;
	}
}
@media all and (max-width: 896px) {
	#gNavi {
		display: none;
	}
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	margin: 0 auto 54px;
	max-width: 1130px;
    position: relative;
    z-index: 11;
}
#pagePath li {
	margin-right: -1px;
	display: inline;
	color: #606060;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.25;
	letter-spacing: 0.18em;
}
#pagePath li a {
	margin-right: 3px;
	color: #606060;
}
@media all and (min-width: 897px) {
	#pagePath li a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	#pagePath {
		margin: 0 18px 28px;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#conts {
	padding: 33px 32px 54px;
	width: 764px;
	background-color: #F2EEEA;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	#conts {
		padding: 33px 18px 85px;
		width: 100%;
		position: relative;
	}
	.mainBox .btnMore {
		position: absolute;
		right: 0;
		bottom: -25px;
	}
	.mainBox .btnMore a {
		width: 50px;
		height: 50px;
		position: relative;
	}
	.mainBox .btnMore a:after {
		position: absolute;
		left: 50%;
		top: 41%;
		width: 14px;
		height: 14px;
		color: #fff;
		font-size: 2rem;
		transform: translate(-50%, -50%);
		line-height: 1;
		content: "+";
		z-index: 10;
	}
	.mainBox .btnMore.on a::after {
		width: 20px;
		content: "×";
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#sideBar {
	margin-top: 2px;
	width: 340px;
}
#sideBar .search {
	position: relative;
	margin-bottom: 45px;
}
#sideBar .search input[type="text"] {
	width: 100%;
	height: 50px;
	padding: 11px 40px 11px 20px;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	background-color: #fff;
	border: 2px solid #0B193D;
	appearance: none;
	border-radius: 0;
	-webkit-appearance: none;
	box-sizing: border-box;
}
#sideBar .search input[type="image"] {
	position: absolute;
	right: 15px;
	top: 14px;
	width: 25px;
	height: 25px;
	cursor: pointer;
	border: none;
	appearance: none;
	-webkit-appearance: none;
}
placeholder-shown {
	color: #0B193D;
}
::-webkit-input-placeholder {
	color: #0B193D;
}
:-moz-placeholder {
	color: #0B193D;
	opacity: 1;
}
::-moz-placeholder {
	color: #0B193D;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #0B193D;
}
#sideBar > div > h3 {
	margin-bottom: 23px;
	padding: 4px 0 4px 58px;
	font-size: 2rem;
	background: url("img/common/icon01.png") no-repeat 1px top/39px auto;
}
#sideBar .category {
	margin-bottom: 53px;
}
#sideBar .category ul {
	padding: 15px 18px 9px;
	background-color: #F2EEEA;
}
#sideBar .category li {
	margin-bottom: 5px;
}
#sideBar .category a {
	display: block;
	padding: 12px 22px 11px;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #fff;
}
#sideBar .columnList {
	margin: 0;
	padding: 0 15px 15px;
	border: 1px solid #707070;
}
#sideBar .columnList li {
	margin: 0;
}
#sideBar .columnList a {
	padding: 20px 0 13px;
	border: none;
	border-bottom: 1px dashed rgba(11, 25, 61, 0.5);
}
#sideBar .columnList li:first-child a {
	padding-top: 15px;
}
#sideBar .columnList .photo {
	margin-bottom: 20px;
	position: relative;
}
#sideBar .columnList .photo > div {
	padding-bottom: 62.5%;
}
#sideBar .columnList .photo .tag {
	position: absolute;
	left: 0;
	top: 25px;
}
#sideBar .columnList h3 {
	margin: 0;
	font-size: 1.8rem;
}
@media all and (min-width: 897px) {
	#sideBar .category a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#sideBar {
		margin-top: 0;
		padding: 77px 18px 0;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
	}
	#sideBar form {
		order: 1;
		width: 100%;
	}
	#sideBar .category {
		margin-bottom: 45px;
		order: 2;
		width: 100%;
	}
	#sideBar .ranking {
		margin-bottom: 84px;
		order: 0;
		width: 100%;
		position: relative;
	}
	#sideBar .columnList {
		padding-bottom: 47px;
	}
	#sideBar .ranking .btnMore {
		right: -18px;
	}
	#sideBar .voiceBox {
		order: 3;
		width: 100%;
	}
	#sideBar .voiceBox .comVoice p {
		font-size: 2rem;
		font-weight: bold;
	}
	.voiceBox .voice {
		padding: 25px 25px 22px;
		position: relative;
		font-size: 2rem;
		font-weight: bold;
		line-height: 1.55;
		letter-spacing: -0.04em;
		background-color: #fff;
		border: 1.1px solid #17111b;
		border-radius: 12px;
	}
	.voiceBox .voice:after {
		position: absolute;
		left: 95px;
		bottom: -35px;
		width: 35px;
		height: 35px;
		background: url("img/common/arrow03.png") no-repeat left top/35px auto;
		content: "";
	}
	.voiceBox .voiceImg {
		margin: -30px 60px 0 0;
		text-align: right;
		position: relative;
		z-index: 1;
	}
}
@media all and (min-width: 440px) and (max-width: 896px) {
	#sideBar .comVoice {
		margin: 0 auto;
		max-width: 378px;
	}
	#sideBar .voiceBox .voiceImg {
		margin: 0 auto;
		max-width: 250px;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter .fNavi {
	padding: 55px 0 10px;
	background-color: #FFDE55;
}
#gFooter .comBox {
	margin: 0 auto;
	max-width: 1000px;
}
#gFooter .fNavi .comBox {
	display: flex;
	justify-content: space-between;
}
#gFooter .fNavi .comBox > ul {
	width: 760px;
	display: flex;
}
#gFooter .fNavi .comBox > ul > li {
	width: 405px;
}
#gFooter .fNavi .comBox > ul > li:last-child {
	width: auto;
}
#gFooter .fNavi .comBox > ul > li li {
	margin-bottom: 3px;
}
#gFooter .fNavi .comBox > ul > li li ul {
	margin: 12px 0 0 27px;
}
#gFooter .fNavi .comBox > ul > li a,
#gFooter .fNavi .comBox > ul > li div {
	padding: 15px 15px 10px;
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
}
#gFooter .fNavi .comBox > ul > li a:after, .menuList li a:after {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1px;
	content: "";
	background-color: #fff;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
#gFooter .fNavi .comBox > ul > li a > span {
	position: relative;
	z-index: 1;
}
#gFooter .fNavi .comBox > ul > li .en {
	margin-right: 15px;
	padding-right: 20px;
	min-width: 152px;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}
#gFooter .fNavi .comBox > ul > li .en:before {
	position: absolute;
	right: 0;
	width: 25px;
	height: 2px;
	top: 10px;
	background-color: #0B193D;
	content: "";
}
#gFooter .fNavi .comBox > ul > li li li {
	margin-bottom: 22px;
}
#gFooter .fNavi .comBox > ul > li li li a {
	padding: 5px 10px;
	font-size: 1.4rem;
	letter-spacing: 0;
	border-left: 2px solid #0B193D;
}
#gFooter .fNavi .voiceBox {
	margin: 40px -68px 0 0;
	width: 310px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.72;
	letter-spacing: -0.04em;
}
#gFooter .fNavi .voiceBox p span {
	margin-bottom: 5px;
	display: block;
	font-size: 2.1rem;
	letter-spacing: 0.1em;
}
#gFooter .fNavi .voiceImg {
	margin: 0 55px -77px 0;
	text-align: right;
}
#gFooter .bgTxt {
	background-color: #848484;
	padding: 44px 0 37px;
}
#gFooter .bgTxt .comBox {
	max-width: 966px;
}
#gFooter .bgTxt p {
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	line-height: 1.75;
}
#gFooter .bgTxt p a {
	color: #fff;
}
#gFooter address {
	padding: 25px 0;
	text-align: center;
	font-style: normal;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
}
@media all and (min-width: 897px) {
	#gFooter .fNavi .comBox > ul > li a:hover:after, .menuList li a:hover:after {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
	}
}
@media all and (max-width: 896px) {
	#gFooter .linkList {
		display: flex;
		justify-content: space-between;
	}
	#gFooter .linkList li {
		width: 50%;
	}
	#gFooter .linkList a {
		height: 85px;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #F2EEEA;
		border-top: 1px solid #fff;
	}
	#gFooter .linkList li:first-child a {
		border-right: 1px solid #fff;
	}
	#gFooter .bgTxt {
		padding: 20px 27px 18px;
	}
	#gFooter .bgTxt p {
		font-size: 1.4rem;
		line-height: 1.7;
	}
	#gFooter address {
		padding: 15px 0;
		letter-spacing: 0;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
/* headline01 */
.headline01 {
	margin-bottom: 45px;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	text-align: center;
}
.headline01 span {
	min-width: 197px;
	padding: 7px 15px 5px;
	display: inline-block;
	background-color: #fff;
	border: 2px solid #0b193d;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.headline01 {
		letter-spacing: 0.18em;
	}
	.headline01 span {
		padding: 5px 10px 3px;
		min-width: 217px;
	}
}
/* headline02 */
.headline02 {
	margin-bottom: 65px;
	font-size: 3rem;
	letter-spacing: 0.12em;
	text-align: center;
}
@media all and (max-width: 896px) {
	.headline02 {
		margin-bottom: 35px;
		letter-spacing: 0;
	}
}
/* comBox */
.comBox {
	margin: 0 auto;
	max-width: 1130px;
}
@media all and (max-width: 896px) {
	.comBox {
		margin: 0 16px;
	}
}
/* comVoice */
.comVoice {
	position: relative;
	padding: 20px 22px 25px;
	background-color: #fff;
	border: 1px solid #17111b;
	border-radius: 12px;
	box-sizing: border-box;
}
.comVoice:after {
	position: absolute;
	left: 85px;
	bottom: -45px;
	width: 32px;
	height: 45px;
	background: url("img/common/arrow01.png") no-repeat left top/32px auto;
	content: "";
}
/* mainBox */
.mainBox {
	margin-bottom: 93px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media all and (max-width: 896px) {
	.mainBox {
		margin-bottom: 65px;
	}
}
/* mainVisual */
.mainVisual {
	margin-bottom: 91px;
	position: relative;
}
.mainVisual .visualBox {
	height: 222px;
	margin: 0 auto;
	position: relative;
	max-width: 1130px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #F2EEEA;
}
.mainVisual:after {
	position: absolute;
	left: 0;
	top: -149px;
	width: 600px;
	height: 400px;
	background: url("img/common/visual_bg.png") no-repeat left top/600px auto;
	content: "";
}
.mainVisual .person {
	position: absolute;
	left: 40px;
	bottom: -40px;
	z-index: 2;
}
.mainVisual h2 {
	width: 100%;
	color: #4C4C4C;
	font-size: 3.8rem;
	letter-spacing: 0.14em;
	text-align: center;
	z-index: 2;
}
.mainVisual .comBox {
	margin-top: 18px;
	position: relative;
	z-index: 1;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
.mainVisual .comBox ul {
	margin-top: 15px;
	color: #4C4C4C;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.43;
	letter-spacing: 0.18em;
	text-align: left;
}
.mainVisual .headline01 {
	margin-bottom: 0;
	position: absolute;
	right: 68px;
	bottom: -20px;
}
.mainVisual .headline01 span {
	min-width: 197px;
	padding: 7px 15px 5px;
	background: none;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin: 0 16px 77px;
		z-index: 10;
	}
	.mainVisual .visualBox {
		height: 286px;
	}
	.mainVisual:after {
		position: absolute;
		left: -81px;
		top: auto;
		bottom: -75px;
		width: 263px;
		height: 176px;
		background: url("img/common/sp_visual_bg.png") no-repeat left top/263px 176px;
	}
	.mainVisual .person {
		display: none;
	}
	.mainVisual h2 {
		font-size: 3.8rem;
		letter-spacing: 0.02em;
	}
	.mainVisual .headline01 {
		right: 0;
		bottom: -18px;
		font-size: 1.6rem;
        z-index: 1;
	}
	.mainVisual .headline01 span {
		min-width: 114px;
		padding: 5px 2px 4px;
	}
	.mainVisual .comBox {
		margin-top: 7px;
	}
	.mainVisual .comBox h2 {
		min-height: 60px;
		width: 100%;
		text-align: center;
		line-height: 1.3;
		font-feature-settings: "palt";
		-moz-font-feature-settings: "palt";
	}
	.mainVisual .comBox .h2Ttl {
		min-height: inherit;
	}
	.mainVisual .comBox ul {
		margin: 20px 15px 0;
	}
	.mainVisual .comBox li {
		padding-left: 1.2em;
		text-indent: -1.2em;
		line-height: 1.6;
	}
}
@media all and (max-width: 359px) {
	.mainVisual h2 {
		font-size: 3.3rem;
	}
	.mainVisual .comBox ul {
		letter-spacing: 0;
	}
}
/* comBtn */
.comBtn a, .comBtn .btnLink {
	padding: 8px;
	display: block;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	position: relative;
	background-color: #0B193D;
	border: 1px solid #0B193D;
	box-sizing: border-box;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
}
.comBtn a:before, .comBtn .btnLink:before {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1px;
	content: "";
	background-color: #fff;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.comBtn span, .comBtn .btnLink span {
	position: relative;
	z-index: 1;
}
.btnMore a {
	width: 105px;
	padding: 11px;
	font-size: 1.4rem;
	letter-spacing: 0.15em;
}
@media all and (min-width: 897px) {
	.comBtn a:hover, a:hover .comBtn .btnLink {
		color: #0B193D;
	}
	.comBtn a:hover:before, a:hover .comBtn .btnLink:before {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
	}
}
@media all and (max-width: 896px) {
	.btnMore a {
		width: 90px;
		padding: 7px;
	}
}
/* columnList */
.columnList {
	margin: -20px -22px 0 0;
	display: flex;
	flex-wrap: wrap;
}
.columnList li {
	margin: 20px 21px 0 0;
	width: 340px;
}
.columnList a {
	padding: 10px;
	display: block;
	background-color: #fff;
	border: 1.1px solid #17111b;
}
.columnList .photo {
	overflow: hidden;
}
.columnList .photo > div {
	padding-bottom: 66.6%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: .3s;
}
.columnList .tag {
	margin: -15px 0 15px;
	position: relative;
}
.tag span {
	padding: 6px 15px;
	display: inline-block;
	color: #0B193D;
	font-weight: bold;
	background-color: #F2EEEA;
}
.columnList h3 {
	margin: 0 8px 10px;
	font-size: 2.2rem;
	line-height: 1.2;
	transition: .3s;
}
.columnList p {
	margin: 0 8px 15px;
	line-height: 1.43;
	letter-spacing: 0.16em;
}
.columnList .date {
	margin: 0 10px 16px;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}
@media all and (min-width: 897px) {
	.columnList a:hover h3 {
		opacity: 0.7;
	}
	.columnList a:hover .photo > div {
		transform: scale(1.2);
	}
}
@media all and (max-width: 896px) {
	.columnList {
		margin: -20px 0 0;
		display: block;
	}
	.columnList li {
		margin: 20px 0 0;
		width: auto;
	}
}
/* wp-pagenavi */
.wp-pagenavi {
	margin-top: 46px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.wp-pagenavi a, .wp-pagenavi .current {
	margin: 0 11px;
	display: flex;
	align-items: center;
	font-size: 2rem;
}
.wp-pagenavi .current {
	opacity: 0.7;
}
.wp-pagenavi .pages, .wp-pagenavi .extend {
	display: none;
}
.wp-pagenavi .first, .wp-pagenavi .last {
	width: 16px;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
	width: 11px;
}
@media all and (min-width: 897px) {
	.wp-pagenavi a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.wp-pagenavi {
		display: none;
	}
}
/* detailBox */
.detailBox {
	margin-top: -12px;
}
.detailBox #conts {
	padding: 60px 40px 80px;
}
.detailBox #conts .ttlBox {
	margin: 0 0 27px 13px;
}
.detailBox #conts h3 {
	margin-bottom: 23px;
	font-size: 3.2rem;
	line-height: 1.25;
	letter-spacing: 0.1em;
}
.detailBox #conts .tagBox {
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	justify-content: space-between;
}
.detailBox #conts .tagBox p {
	margin-bottom: 0;
	letter-spacing: 0.1em;
}
.detailBox #conts .tagBox .date {
	font-weight: bold;
}
.detailBox #conts .tagBox .tag span {
	padding: 10px 15px;
	background-color: #fff;
}
.detailBox #conts .photo {
	margin-bottom: 25px;
}
.detailBox #conts p {
	margin-bottom: 45px;
	line-height: 1.45;
	letter-spacing: 0.16em;
}
.detailBox #conts .contents {
	margin-bottom: 47px;
	padding: 27px 32px 32px;
	background-color: #fff;
	border: 1px solid #707070;
}
.detailBox #conts .contents .ttl {
	margin-bottom: 22px;
	font-size: 1.8rem;
}
.detailBox #conts .contents ol {
	margin: 0 15px;
	letter-spacing: 0;
}
.detailBox #conts .contents li {
	font-size: 1.6rem;
	line-height: 1.625;
}
.detailBox #conts .contents li a {
	text-decoration: underline;
}
.detailBox #conts h4 {
	margin-bottom: 25px;
	padding: 15px 32px;
	position: relative;
	font-size: 1.8rem;
	font-weight: normal;
	border: 1px solid #707070;
	background-color: #fff;
}
.detailBox #conts h4:before {
	position: absolute;
	left: -1px;
	top: -1px;
	width: 9px;
	height: calc(100% + 2px);
	background-color: #ffde55;
	border: 1px solid #707070;
	box-sizing: border-box;
	content: "";
}
.detailBox #conts h5 {
	margin-bottom: 14px;
	letter-spacing: 0;
}
.detailBox #conts .h5Ttl {
	padding-left: 32px;
	background: url("img/common/icon02.png") no-repeat 2px 4px/19px auto;
}
.detailBox #conts section:not(:last-child) {
	margin-bottom: 35px;
}
.detailBox #conts section p {
	margin-bottom: 25px;
	line-height: 1.86;
	letter-spacing: 0;
}
.detailBox #conts section p img:not(:last-child) {
	margin-bottom: 15px;
}
.detailBox #conts blockquote {
	margin-bottom: 24px;
	padding: 30px 60px;
	position: relative;
	background-color: #fff;
}
.detailBox #conts blockquote:before {
	position: absolute;
	left: 15px;
	top: 26px;
	width: 35px;
	content: "“";
	font-size: 8.2rem;
	line-height: 1;
}
.detailBox #conts blockquote p {
	margin-bottom: 17px;
}
.detailBox #conts blockquote .link {
	color: #EC3232;
	font-weight: bold;
}
.detailBox #conts blockquote .link a {
	word-wrap: break-word;
	color: #EC3232;
	text-decoration: underline;
}
.detailBox #conts blockquote p:last-child {
	margin-bottom: 0 !important;
}
.detailBox #conts .imgBox {
	margin-top: 30px;
	padding: 27px 26px;
	position: relative;
	display: flex;
	border-radius: 5px;
	justify-content: space-between;
	background-color: #fff;
}
.detailBox #conts .imgBox .photoBox {
	width: 174px;
}
.detailBox #conts .imgBox .txtBox {
	width: 430px;
}
.detailBox #conts .imgBox .txtBox p:last-child {
	margin-bottom: 0;
}
.detailBox #conts .imgBox .txtBox .ttl {
	margin-bottom: 6px;
	font-weight: bold;
}
.detailBox #conts .imgBox .txtBox .comBtn {
	position: absolute;
	right: 32px;
	bottom: -18px;
}
.detailBox #conts .imgBox .txtBox .comBtn a {
	width: 90px;
	padding: 7px;
	letter-spacing: 0.1em;
}
@media all and (min-width: 897px) {
	.detailBox #conts blockquote .link a:hover {
		text-decoration: none;
	}
	.detailBox #conts .contents li a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.detailBox {
		margin: -12px 0 55px;
	}
	.detailBox #conts {
		padding: 28px 16px 33px;
	}
	.detailBox #conts .ttlBox {
		margin: 0 0 28px;
	}
	.detailBox #conts h3 {
		margin-bottom: 28px;
		font-size: 2.2rem;
		line-height: 1.2;
	}
	.detailBox #conts .photoBox {
		display: flex;
		flex-wrap: wrap;
	}
	.detailBox #conts .tagBox {
		margin-bottom: 0;
		order: 2;
		width: 100%;
		font-size: 1.4rem;
	}
	.detailBox #conts .tagBox .tag span {
		padding: 7px 15px;
	}
	.detailBox #conts .photo {
		margin-bottom: 15px;
		order: 0;
	}
	.detailBox #conts p {
		margin-bottom: 27px;
	}
	.detailBox #conts .contents {
		margin-bottom: 40px;
		padding: 27px 14px 32px;
	}
	.detailBox #conts .contents ol {
		margin: 0;
	}
	.detailBox #conts .contents li ol {
		margin: 0 -10px 0 15px;
	}
	.detailBox #conts h4 {
		margin-bottom: 28px;
	}
	.detailBox #conts h5 {
		margin-bottom: 10px;
		line-height: 1.75;
	}
	.detailBox #conts .h5Ttl {
		padding-left: 32px;
		background: url("img/common/icon02.png") no-repeat 2px 4px/19px auto;
	}
	.detailBox #conts blockquote {
		margin-bottom: 24px;
		padding: 58px 16px 25px;
	}
	.detailBox #conts blockquote:before {
		top: 20px;
	}
	.detailBox #conts blockquote p {
		margin-bottom: 24px;
	}
	.detailBox #conts .imgBox {
		margin-top: 25px;
		padding: 27px 20px 22px;
		display: block;
	}
	.detailBox #conts .imgBox .photoBox {
		margin-bottom: 15px;
		width: 100%;
		display: block;
	}
	.detailBox #conts .imgBox .txtBox {
		width: 100%;
	}
	.detailBox #conts .imgBox .txtBox p {
		margin-bottom: 17px;
	}
	.detailBox #conts .imgBox .txtBox .comBtn {
		margin-right: -10px;
		position: static;
		bottom: auto;
		right: auto;
		display: flex;
		justify-content: flex-end;
	}
	.detailBox #conts .imgBox .txtBox .comBtn a {
		height: auto;
	}
	.detailBox #conts .imgBox .txtBox .comBtn a:after {
		display: none;
	}
	.detailBox #sideBar {
		padding-top: 30px;
	}
}
/* comBg */
.comBg {
	padding: 70px 50px;
	background-color: #f2eeea;
}
@media all and (max-width: 896px) {
	.comBg {
		margin: 0 -16px;
		padding: 40px 16px 95px;
	}
}
/* midTxt */
.midTxt {
	margin-bottom: 90px;
	text-align: center;
	line-height: 1.7;
	letter-spacing: 0.34em;
}
@media all and (max-width: 896px) {
	.midTxt {
		margin-bottom: 70px;
		letter-spacing: 0.27em;
	}
}
@media all and (max-width: 359px) {
	.midTxt {
		letter-spacing: 0.1em;
	}
}
/* fixBtn */
.fixBtn {
	position: fixed;
	right: 0;
	top: 155px;
	z-index: 25;
}
.fixBtn a {
	display: block;
	padding: 25px 20px 65px;
	width: 81px;
	height: 166px;
	border-radius: 6px 0 0 6px;
	background: #FFDE55 url("img/common/icon01.png") no-repeat center bottom 20px/39px auto;
	box-sizing: border-box;
}
.fixBtn a span {
	display: block;
	font-size: 1.5rem;
	line-height: 1.4;
	letter-spacing: 0.13em;
	font-weight: bold;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.fixBtn02 {
    top: 330px;
}
.fixBtn02 a {
    padding-left: 30px;
    background-color: #9CC8A2;
}
@media all and (min-width: 897px) {
	.fixBtn a:hover {
		padding: 25px 25px 65px;
		width: 91px;
	}
    .fixBtn02 a:hover {
        padding-left: 35px;
    }
}
/* serviceList */
.serviceList {
	margin-right: -20px;
	display: flex;
	flex-wrap: wrap;
}
.serviceList a {
	display: block;
}
.serviceList li {
	width: 25%;
}
.serviceList .listImg {
	margin-bottom: 17px;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.serviceList img {
	width: 228px;
	transition: .3s;
}
.serviceList p {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	line-height: 1.44;
	text-align: center;
}
.serviceList .txt01 {
	margin-right: 40px;
}
@media all and (min-width: 897px) {
	.serviceList a:hover img {
		transform: scale(0.7);
	}
}
@media all and (max-width: 896px) {
	.serviceList {
		margin: 0 -10px;
		display: block;
	}
	.serviceList li {
		margin-bottom: 55px;
		width: auto;
	}
	.serviceList a {
		display: flex;
		flex-wrap: wrap;
	}
	.serviceList .listImg {
		margin-bottom: 0;
		height: auto;
		order: 2;
		width: 100%;
	}
	.serviceList p {
		margin-bottom: 10px;
		order: 0;
		width: 100%;
		letter-spacing: 0.15em;
	}
	.serviceList .txt01 {
		margin-right: 0;
	}
}
/* fadeInUp */
.fadeInUp {
	opacity: 0;
	transform: translate(0, 50px);
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}
.fadeInUp.on {
	opacity: 1;
	transform: translate(0, 0);
}

@media all and (min-width: 897px) {
	.fadeInUp.delay01 {
		-webkit-transition-delay: .3s;
		transition-delay: .3s;
	}
	.fadeInUp.delay02 {
		-webkit-transition-delay: .6s;
		transition-delay: .6s;
	}
}
/* bgWhite */
.bgWhite {
	margin-bottom: 65px;
	position: relative;
	padding: 64px 83px 72px;
	background-color: #fff;
}
@media all and (max-width: 896px) {
	.bgWhite {
		margin-bottom: 17px;
		padding: 44px 23px 47px;
	}
}
/* comList */
.comList {
	display: flex;
	flex-wrap: wrap;
	border-right: 1px solid #17111B;
}
.comList li {
	padding: 0 18px;
	width: 25%;
	border-left: 1px solid #17111B;
	box-sizing: border-box;
}
.comList p {
	line-height: 1.57;
}
.comList .ttl {
	margin-bottom: 12px;
	color: #FF5D55;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.18;
	text-align: center;
}
.comList .num {
	margin: 0 auto 18px;
	width: 70px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 4.1rem;
	font-weight: bold;
	line-height: 1;
	border-radius: 50%;
	background-color: #FF5D55;
}
.comList .orange .ttl {
	color: #F48500;
}
.comList .orange .num {
	background-color: #F48500;
}
.comList .green .ttl {
	color: #30B23D;
}
.comList .green .num {
	background-color: #30B23D;
}
.comList .blue .ttl {
	color: #3B64F4;
}
.comList .blue .num {
	background-color: #3B64F4;
}
@media all and (max-width: 896px) {
	.comList {
		border-top: 1px solid #17111B;
		border-right: none;
	}
	.comList li {
		padding: 30px 47px;
		width: 100%;
		border-left: none;
		border-bottom: 1px solid #17111B;
	}
	.comList li .ttl {
		margin: 0 -47px 12px;
	}
}
@media all and (max-width: 359px) {
	.comList li {
		padding: 30px;
	}
	.comList li .ttl {
		letter-spacing: 0;
		font-size: 2rem;
		margin: 0 -30px 12px;
	}
}
/* media */
.media .headline02 {
	margin-top: -30px;
}
@media all and (max-width: 896px) {
	.media {
		margin: 0 0 65px;
	}
	.media .headline02 {
		margin-top: 0;
	}
}
/* qaBtn */
.qaBtn { 
    margin: 55px auto;
    max-width: 1131px;
}
.qaBtn a {
    padding: 18px 0;
    color: #000;
    font-size: 1.8rem;
    font-weight: bold;
    display: flex;
    position: relative;
    border: 1px solid #000;
    border-radius: 22px;
}
.qaBtn a:hover {
    opacity: 0.7;
}
.qaBtn a:after {
    position: absolute;
    right: 30px;
    bottom: 0;
    width: 152px;
    height: 174px;
    background: url("img/common/img01.png") no-repeat left top/152px auto;
    content: "";
}
.qaBtn a .ttl {
    padding: 18px 10px;
    margin-right: 45px;
    color: #0B193D;
    width: 300px;
    letter-spacing: 0.18em;
    text-align: center;
    border-right: 1px solid #000;
    box-sizing: border-box;
}
.qaBtn a .ttl span {
    display: block;
    font-size: 2.5rem;
}
.qaBtn a .txt {
    flex: 1;
    letter-spacing: 0.34em;
    display: flex;
    align-items: center;
}
@media all and (max-width: 896px) {
    .qaBtn { 
        margin: 15px 16px 31px;
    }
    .qaBtn a {
        padding: 0 24px 24px;
        display: block;
    }
    .qaBtn a:after {
        right: 12px;
        width: 109px;
        height: 130px;
        bottom: 25px;
        background-size: 109px auto;
    }
    .qaBtn a .ttl {
        padding: 22px 10px 18px;
        margin: 0 0 25px;
        width: auto;
        border-right: none;
        border-bottom: 1px solid #000;
    }
    .qaBtn a .txt {
        margin: 0 100px 0 5px;
        flex: auto;
        letter-spacing: 0.2em;
        display: block;
        line-height: 1.38;
    }
}
/* index */
#index .hideBox {
	height: 100px;
}
#index #gHeader {
	margin-bottom: 0;
	padding: 3px 62px;
	background: none;
}
#index #gHeader h1 {
	margin: 12px 0 0 18px;
}
#index #gHeader .logo01 {
	display: none;
}
#index #gHeader .logo02 {
	display: block;
}
#index #gFooter .fNavi {
	padding-top: 125px;
}
#index #gNavi .dropMenu {
	top: 96px;
}
#index .topVisual {
	margin: -50px auto 0;
	padding: 90px 40px 0;
	position: relative;
	max-width: 1132px;
	background-color: #F2EEEA;
	box-sizing: border-box;
}
#index .topVisual .logo {
	margin-bottom: 170px;
	text-align: center;
}
#index .topVisual > p {
	margin-bottom: 90px;
	color: #4c4c4c;
	font-size: 5.5rem;
	letter-spacing: 0.1em;
	text-align: center;
	font-weight: bold;
	line-height: 1.35;
	text-decoration: underline;
}
#index .topVisual .voiceList {
	transform: translateY(80px);
}
#index .voiceList {
	display: flex;
	flex-wrap: wrap;
}
#index .voiceList li {
	width: 298px;
	position: relative;
}
#index .voiceList .comVoice {
	padding-bottom: 15px;
}
#index .voiceList .comVoice:after {
	width: 42px;
	height: 39px;
	bottom: -39px;
	left: auto;
	right: 50px;
	background-image: url("img/common/arrow04.png");
	background-size: 42px auto;
}
#index .voiceList li:first-child {
	margin: 27px 90px 0 42px;
}
#index .voiceList li:nth-child(2) {
	padding-top: 90px;
	margin-right: -13px;
	position: relative;
	z-index: 1;
}
#index .voiceList li:nth-child(2) .comVoice {
	padding: 37px 25px 32px;
}
#index .voiceList .voiceImg {
	position: absolute;
	left: -45px;
	top: -135px;
	z-index: 10;
}
#index .voiceList li:nth-child(2) .voiceImg {
	left: -35px;
	top: -28px;
}
#index .voiceList li:nth-child(3) .voiceImg {
	left: auto;
	right: -36px;
	top: -136px;
}
#index .voiceList .comVoice p {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.55;
	letter-spacing: 0.24em;
}
#index .ttlBox {
	margin: -258px 0 -240px;
	height: 990px;
	padding-top: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url("img/index/bg.png") no-repeat center bottom/cover;
	box-sizing: border-box;
}
#index .ttlBox h2 {
	font-size: 5.5rem;
	letter-spacing: 0.1em;
	line-height: 1.55;
	text-align: center;
}
#index .headline01 span {
	padding: 7px 5px 5px;
}
#index .serviceBox {
	margin-bottom: 52px;
	padding-bottom: 102px;
}
#index .comBg .headline01 span {
	background: none;
}
#index .performance {
	margin-bottom: 55px;
	padding: 70px 60px 125px;
	border: 1px solid #848484;
}
#index .performance .midTxt {
	margin-bottom: 40px;
}
#index .performance .headline01 {
	letter-spacing: 0;
}
#index .performance .voiceList {
	margin: -20px -50px 0 0;
}
#index .performance .voiceList li {
	margin: 20px 50px 0 0;
	text-align: center;
	padding: 0;
}
#index .performance .voiceList .comVoice {
	padding: 15px !important;
}
#index .performance .voiceList .comVoice p {
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: 0.02em;
	line-height: 1.3;
	font-weight: 500;
}
#index .performance .voiceList .comVoice .ttl {
	margin-bottom: 4px;
	color: #606060;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.06em;
}
#index .performance .voiceList .comVoice .price {
	margin-bottom: 8px;
	color: #010100;
	font-size: 2.3rem;
	font-weight: bold;
	line-height: 1.2;
}
#index .performance .voiceList .comVoice .price span {
	font-size: 5rem;
	color: #FFDE55;
	-webkit-text-stroke: 1px #000;
}
#index .newsBox {
	margin-bottom: 65px;
	padding: 70px 0 105px;
	background: url("img/common/bg01.png") repeat left top/11px auto;
}
#index .newsBox .comBox {
	margin: 0 auto;
	max-width: 964px;
}
#index .newsBox .headline01 {
	margin-bottom: 65px;
}
#index .newsList li {
	margin-bottom: 15px;
	padding: 38px 40px 7px;
	position: relative;
	background-color: #fff;
	border: 1px solid #17111B;
}
#index .newsList li .comBtn {
	position: absolute;
	right: -25px;
	bottom: 25px;
}
#index .newsList li .comBtn .on {
	display: none;
}
#index .newsList li .comBtn.on .off {
	display: none;
}
#index .newsList li .comBtn.on .on {
	display: block;
}
#index .newsList li .ttl {
	margin-bottom: 25px;
	display: flex;
	line-height: 1.7;
	letter-spacing: 0.34em;
}
#index .newsList li .ttl .date {
	margin-right: 50px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.625;
	letter-spacing: 0.17em;
}
#index .newsList li .ttl .txt {
	flex: 1;
}
#index .newsList li .txtBox {
	display: none;
	padding: 35px 0 28px 168px;
	border-top: 1px solid #707070;
}
#index .newsList li .txtBox p {
	line-height: 1.7;
	word-break: break-all;
	word-wrap: anywhere;
}
#index .columnBox {
	margin-bottom: 60px;
	padding: 70px 84px 65px;
}
#index .columnBox .headline01 {
	margin-bottom: 40px;
}
#index .columnList {
	margin: 0 -37px 38px 0;
}
#index .columnList li {
	margin-right: 37px;
	width: 296px;
}
#index .columnList .tag span {
	padding: 8px 10px;
}
#index .columnList h3 {
	font-size: 2rem;
	line-height: 1.3;
}
#index .columnList p {
	margin-right: 0;
}
#index .columnList .date {
	margin-bottom: 14px;
	font-size: 1.4rem;
}
#index .columnList .comBtn .btnLink {
	padding: 6px;
	font-size: 1.4rem;
}
#index .columnBox .link {
	text-align: right;
}
#index .columnBox .link a {
	padding-bottom: 7px;
	position: relative;
	font-size: 1.7rem;
	display: inline-block;
	font-weight: bold;
}
#index .columnBox .link a:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 4px;
	background-color: #0B193D;
	content: "";
}
#index .contactBox {
	margin-bottom: -65px;
	position: relative;
	padding: 70px 84px 102px;
}
#index .contactBox .headline01 {
	margin-bottom: 52px;
}
#index .contactBox .list {
	display: flex;
	justify-content: space-between;
}
#index .contactBox .list li {
	padding: 0 40px 37px;
	width: 49.1%;
	background-color: #fff;
	box-sizing: border-box;
}
#index .contactBox .list p {
	font-weight: bold;
	line-height: 1.3;
}
#index .contactBox .list .ttl {
	margin-bottom: -10px;
	font-weight: bold;
	text-align: center;
	font-size: 1.9rem;
	transform: translateY(-36px);
}
#index .contactBox .list .ttl img {
	margin: 0 auto 30px;
	display: block;
}
#index .contactBox .list .tel {
	margin-bottom: 17px;
	padding: 18px 5px 12px 32px;
	display: flex;
	align-items: center;
	background: url("img/common/bg01.png") repeat left top/10px auto;
}
#index .contactBox .list .tel a {
	margin: 5px 0 0 22px;
	font-size: 3.3rem;
	letter-spacing: 0;
	line-height: 1;
}
#index .contactBox .list .comBtn {
	margin-bottom: 14px;
}
#index .contactBox .list .comBtn a {
	padding: 18px;
	display: block;
	color: #0B193D;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	border: none;
	background-color: #E8E2DD;
}
#index .contactBox .list .comBtn a:before {
	background-color: #FFDE55;
}
@keyframes lineanim {
	0% {
		transform: scale(1, 1);
		transform-origin: top right
	}
	50% {
		transform: scale(0, 1);
		transform-origin: top right
	}
	51% {
		transform: scale(0, 1);
		transform-origin: top left
	}
	100% {
		transform: scale(1, 1);
		transform-origin: top left
	}
}
@media all and (min-width: 897px) {
	#index .columnBox .link a:hover:after {
		animation-name: lineanim;
		animation-duration: .6s;
		animation-timing-function: ease;
	}
	#index .newsList li .txtBox p a:hover u {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.loading {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #F2EEEA;
		z-index: 102;
	}
	.loading .logo {
		display: none;
	}
	#index #gHeader {
		margin-bottom: 0;
		padding: 0;
		position: absolute;
		left: 0;
		top: 102px;
		width: 100%;
		display: block;
		z-index: 20;
	}
	#index #gHeader h1 {
		margin: 0 auto;
		width: 89px;
		padding-left: 22px;
	}
	#index #gFooter .fNavi {
		padding-top: 125px;
	}
	#index #main {
		overflow: hidden;
	}
	#index .topVisual {
		margin: 18px 18px 0;
		padding: 174px 20px 0;
	}
	#index .topVisual .logo {
		margin-bottom: 88px;
		text-align: center;
	}
	#index .topVisual > p {
		margin-bottom: -70px;
		padding: 50px 0;
		position: relative;
		font-size: 2.2rem;
		line-height: 1.6;
		letter-spacing: 0.01em;
		text-decoration: none;
	}
	#index .topVisual > p:after {
		position: absolute;
		left: 50%;
		top: 0;
		width: 1000px;
		height: 100%;
		margin-left: -500px;
		transform: rotate(-4deg);
		background-color: #FFDE55;
		content: "";
	}
	#index .topVisual > p span {
		position: relative;
		z-index: 1;
	}
	#index .topVisual .voiceList {
		margin: 0 -38px;
		transform: translateY(155px);
	}
	#index .topVisual .voiceList li:nth-child(2) {
		order: 2;
	}
	#index .topVisual .voiceList li:nth-child(3) {
		order: 1;
	}
	#index .voiceList .comVoice {
		padding: 20px 20px 18px 30px;
	}
	#index .voiceList .comVoice p {
		letter-spacing: 0.2em;
	}
	#index .voiceList li {
		width: 79%;
	}
	#index .voiceList li:first-child {
		margin: 0 0 173px;
		margin-left: auto;
	}
	#index .voiceList li:nth-child(2) {
		margin: 0;
		margin-left: auto;
		padding-top: 0;
	}
	#index .voiceList li:nth-child(2) .voiceImg {
		top: -118px;
	}
	#index .voiceList li:nth-child(3) {
		margin-bottom: 173px;
		margin-left: 0;
	}
	#index .ttlBox {
		margin: -100px 0 15px;
		height: 544px;
		padding: 0 0 90px;
		align-items: flex-end;
		background-position: center bottom;
		background-image: url("img/index/sp_bg.png");
		background-size: cover;
	}
	#index .ttlBox h2 {
		font-size: 3rem;
		letter-spacing: 0.1em;
		line-height: 2;
	}
	#index .serviceBox {
		margin: 0 0 20px;
		padding: 75px 45px 22px;
	}
	#index .serviceBox .headline01 {
		margin-bottom: 40px;
	}
	#index .headline01 span {
		min-width: 196px;
		padding: 7px 10px 5px;
	}
	#index .performance {
		margin-bottom: 15px;
		padding: 70px 24px 85px;
	}
	#index .performance .midTxt {
		margin: 0 15px 54px;
	}
	#index .performance .voiceList {
		margin: -50px 0 0;
	}
	#index .performance .voiceList li {
		margin: 50px 0 0;
		padding: 0 !important;
		width: 100%;
	}
	#index .performance .voiceList .comVoice {
		padding: 15px !important;
	}
	#index .performance .voiceList .comVoice p {
		font-weight: 500;
	}
	#index .performance .voiceList .comVoice .ttl {
		margin-bottom: 7px;
		letter-spacing: 0.03em;
	}
	#index .performance .voiceList .comVoice .price {
		margin-bottom: 2px;
		font-weight: bold;
	}
	#index .newsBox {
		margin-bottom: 0;
		padding: 70px 33px 35px;
	}
	#index .newsBox .headline01 {
		margin-bottom: 50px;
	}
	#index .newsList li {
		margin-bottom: 35px;
		padding: 14px 35px 7px;
	}
	#index .newsList li .comBtn {
		right: -25px;
		bottom: -25px;
	}
	#index .newsList li .comBtn a {
		width: 50px;
		height: 50px;
		position: relative;
	}
	#index .newsList li .comBtn a:after {
		position: absolute;
		left: 50%;
		top: 41%;
		width: 14px;
		height: 14px;
		color: #fff;
		font-size: 2rem;
		transform: translate(-50%, -50%);
		line-height: 1;
		content: "+";
		z-index: 10;
	}
	#index .newsList li .comBtn.on a:after {
		width: 20px;
		content: "×";
		height: 12px;
	}
	#index .newsList li .ttl {
		margin-bottom: 10px;
		display: block;
		letter-spacing: 0.3em;
	}
	#index .newsList li .ttl .date {
		margin: 0 0 14px;
		display: block;
		text-align: center;
	}
	#index .newsList li .ttl .txt {
		min-height: 48px;
		display: block;
		display: flex;
		align-items: center;
	}
	#index .newsList li .txtBox {
		padding: 15px 0 10px;
		text-align: center;
	}
	#index .columnBox {
		margin-bottom: 13px;
		padding: 63px 40px 50px;
	}
	#index .columnBox .headline01 {
		margin-bottom: 40px;
	}
	#index .columnList {
		margin: 0 0 42px;
	}
	#index .columnList li {
		margin: 0 0 37px;
		width: auto;
	}
	#index .columnList .tag span {
		padding: 8px 10px;
	}
	#index .columnList h3 {
		font-size: 2rem;
		line-height: 1.3;
	}
	#index .contactBox {
		margin: 0 0 35px;
		padding: 55px 30px 35px;
	}
	#index .contactBox .headline01 {
		margin-bottom: 40px;
	}
	#index .contactBox .midTxt {
		letter-spacing: 0.05em;
	}
	#index .contactBox .list {
		margin-bottom: 27px;
	}
	#index .contactBox .list li {
		padding: 0;
		background: none;
	}
	#index .contactBox .list a {
		display: block;
		text-align: center;
	}
	#index .contactBox .list .ttl {
		margin-bottom: 0;
	}
	#index .contactBox .list .ttl img {
		margin-bottom: 0;
	}
	#index .contactBox .list .tel {
		display: none;
	}
	#index .contactBox .list .btn {
		display: none;
	}
	#index .contactBox .list li:last-child img {
		margin-top: 4px;
		width: 80px;
	}
	#index .contactBox .listBox p {
		margin: 0 -10px 5px 0;
		font-weight: bold;
		line-height: 1.4;
	}
	#index .voiceBox {
		margin: 0 auto 30px;
		max-width: 382px;
	}
	#index .voiceBox .comVoice p {
		font-size: 1.8rem;
		line-height: 1.77;
		font-weight: bold;
		letter-spacing: 0;
	}
	#index .voiceBox .comVoice p span {
		margin-bottom: 5px;
		display: block;
		font-size: 2.1rem;
	}
	#index .voiceBox .voiceImg {
		margin: -35px 40px 0 0;
	}
	#index .voiceBox .comVoice:after {
		left: 95px;
	}
	#index #gFooter .linkList {
		display: none;
	}
}
@media all and (max-width: 374px) {
	#index .serviceBox {
		padding: 75px 35px 22px;
	}
	#index .performance .midTxt {
		margin: 0 10px 54px;
	}
	#index .performance {
		padding: 70px 15px 85px;
	}
	#index .newsList li {
		padding: 14px 25px 7px;
	}
	#index .contactBox {
		padding: 55px 20px 35px;
	}
}
@media all and (max-width: 359px) {
	#index .topVisual > p {
		font-size: 2rem;
	}
	#index .serviceBox {
		padding: 75px 20px 22px;
	}
	#index .performance .voiceList .comVoice .ttl {
		font-size: 1.7rem;
	}
}
/* company */
.company {
	padding: 50px 0 35px;
	max-width: 836px;
}
.company dl {
	display: flex;
	flex-wrap: wrap;
}
.company dt {
	width: 152px;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.18em;
}
.company dd {
	margin-bottom: 40px;
	width: calc(100% - 155px);
	font-size: 1.6rem;
	letter-spacing: 0.18em;
}
.access {
	padding: 70px 0 93px;
	background: url("img/common/bg01.png") repeat left top/10px auto;
}
.access .comBox {
	max-width: 966px;
}
.access .headline01 {
	margin-bottom: 60px;
}
.access .map {
	margin-bottom: 19px;
	position: relative;
}
.access .map img {
	width: 100%;
}
.access .map .comBtn {
	position: absolute;
	right: -20px;
	bottom: -10px;
}
.access .mapBox p {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.02em;
}
.access .mapBox p span {
	display: inline-block;
	background-color: #fff;
}
@media all and (max-width: 896px) {
	.company {
		padding: 20px 10px 1px;
	}
	.company dl {
		display: block;
	}
	.company dt {
		margin-bottom: 8px;
		width: auto;
	}
	.company dd {
		margin-bottom: 31px;
		width: auto;
		line-height: 2;
		letter-spacing: 0.05em;
	}
	.access {
		padding: 55px 0 40px;
	}
	.access .comBox {
		max-width: 966px;
	}
	.access .headline01 {
		margin-bottom: 60px;
	}
	.access .headline01 span {
		min-width: 200px;
	}
	.access .map {
		margin: 0 -16px 75px;
	}
	.access .map .comBtn {
		right: 25px;
		bottom: -18px;
	}
	.access .map .comBtn a {
		padding: 12px;
		width: 108px;
	}
	.access .mapBox p {
		text-align: center;
	}
}
@media all and (max-width: 359px) {
	.access .mapBox p {
		font-size: 1.6rem;
		letter-spacing: 0;
	}
}
/* contact */
.contact {
	padding: 17px 0 93px;
}
.contact .stepList {
	margin-bottom: 36px;
	display: flex;
}
.contact .stepList li {
	margin-right: 40px;
	position: relative;
	padding: 7px 5px 4px;
	width: 198px;
	opacity: 0.5;
	color: #606060;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	text-align: center;
	background-color: #f2eeea;
	box-sizing: border-box;
}
.contact .stepList li:after {
	position: absolute;
	right: -27px;
	top: 15px;
	width: 11px;
	height: 14px;
	background: url("img/common/icon03.png") no-repeat left top/11px auto;
	content: "";
}
.contact .stepList li:last-child:after {
	display: none;
}
.contact .stepList .on {
	opacity: 1;
	color: #0b193d;
	border: 2px solid #0b193d;
	background-color: #fff;
}
.contact form .must {
	width: 5px;
	display: inline-block;
	background-color: #ff5d55;
}
.contact form {
	margin: 0 auto;
	max-width: 797px;
}
.contact form dl {
	margin-bottom: 29px;
	display: flex;
	flex-wrap: wrap;
}
.contact form dt {
	padding-top: 10px;
	width: 194px;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.18em;
}
.contact form dt:first-child {
	letter-spacing: 0.18em;
	padding-top: 40px;
}
.contact form .dtStyle01 {
	letter-spacing: 0.04em;
}
.contact form dt .notes {
	margin-top: 2px;
	display: block;
	color: #FF5D55;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.15em;
}
.contact form dd .must {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
}
.contact form dd {
	margin-bottom: 16px;
	position: relative;
	padding-left: 5px;
	width: calc(100% - 194px);
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	box-sizing: border-box;
}
.contact form dd .error {
	position: relative;
	margin: 2px 0 0 -5px;
	border-left: 5px solid #f2eeea;
}
.contact form dd:nth-child(2) {
	margin-bottom: 20px;
}
.contact form dd > ul {
	padding: 30px 30px 25px;
	background-color: #fff;
}
.contact form dd li {
	margin-bottom: 5px;
}
.contact form dd li:last-child {
	margin-bottom: 0;
}
.contact form dd li ul {
	margin: 0 20px 5px;
	display: flex;
	flex-wrap: wrap;
	font-weight: 500;
}
.contact form dd li li {
	margin: 5px 15px 0 0;
}
.contact form dd .list02 {
	padding: 10px 30px;
	display: flex;
	flex-wrap: wrap;
}
.contact form dd .list02 li {
	margin: 5px 20px 0 0;
}
.contact form input[type="checkbox"] {
	display: none;
}
.contact form input[type="checkbox"] + span {
	display: inline-block;
	padding-left: 18px;
	font-weight: bold;
	background: url("img/common/check_bg.png") no-repeat left 5px/12px auto;
}
.contact form input[type="checkbox"]:checked + span {
	background-image: url("img/common/check_on_bg.png");
}
.contact form input[type="text"], .contact form input[type="email"], .contact form input[type="tel"], .contact form select, .contact form textarea {
	width: 100%;
	height: 48px;
	padding: 10px 20px;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.18em;
    border-radius: 0;
	background-color: #fff;
	border: none;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.contact form dd li li input[type="checkbox"] + span {
	font-weight: normal;
}
.contact form textarea {
	height: 131px;
}
.contact form select {
	width: 217px;
	padding: 10px 25px;
	background: #fff url("img/common/icon04.png") no-repeat right 15px center/14px auto;
}
select::-ms-expand {
	display: none;
}
.contact form dd p {
	margin-top: 10px;
	font-size: 1.4rem;
	font-weight: normal;
	letter-spacing: 0.18em;
}
.contact form .note {
	margin-bottom: 64px;
	font-weight: bold;
	letter-spacing: 0.18em;
}
.contact form .note .must {
	width: 11px;
	height: 36px;
	vertical-align: middle;
	margin-right: 20px;
}
.contact form .agree {
	margin-bottom: 22px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.18em;
}
.contact form .agree a {
	text-decoration: underline;
}
.contact form .submit {
	display: flex;
	justify-content: center;
}
.contact form .submit li {
	margin: 0 14px;
	position: relative;
	width: 245px;
	height: 70px;
	background: #0b193d;
	border: 2px solid #0b193d;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-sizing: border-box;
}
.contact form .submit li:after {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1px;
	content: "";
	background-color: #fff;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.contact form .submit input {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	width: 245px;
	height: 70px;
	background: none;
	cursor: pointer;
	border: none;
	appearance: none;
	-webkit-appearance: none;
}
.contact form .submit .retry {
	background: rgba(11, 25, 61, 0.26);
	border: 2px solid transparent;
}
.contact .mw_wp_form_confirm dl {
	padding: 20px 0 40px;
}
.contact .mw_wp_form_confirm dt {
	width: 220px;
	padding-top: 25px !important;
}
.contact .mw_wp_form_confirm dt .notes {
	display: none;
}
.contact .mw_wp_form_confirm dd {
	padding-top: 25px;
	width: calc(100% - 220px);
	font-weight: 500;
}
.contact .mw_wp_form_confirm dd .must, .contact .mw_wp_form_confirm dd p {
	display: none;
}
.contact .mw_wp_form_confirm .note, .contact .mw_wp_form_confirm .agree {
	display: none;
}
.contact .mw_wp_form_confirm dd > ul {
	background: none;
	padding: 0;
}
.contact .mw_wp_form_confirm dd li {
	position: relative;
}
.contact .mw_wp_form_confirm dd:last-child {
	line-height: 1.88;
}
.contact .thanks {
	margin-bottom: 95px;
	padding: 140px 140px 130px;
	position: relative;
}
.contact .thanks .midBox {
	text-align: center;
	letter-spacing: 0.18em;
}
.contact .thanks h3 {
	margin-bottom: 20px;
	font-size: 2.6rem;
}
.contact .thanks .midBox p {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.55;
	letter-spacing: 0.18em;
}
.contact .thanks .voiceBox {
	position: absolute;
	left: 124px;
	bottom: -130px;
	display: flex;
	align-items: flex-start;
}
.contact .thanks .voiceBox .voiceImg {
	margin: 25px 28px 0 0;
}
.contact .thanks .voiceBox p {
	width: 268px;
	padding: 20px 15px 15px 20px;
	position: relative;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.45;
	letter-spacing: 0.16em;
	background-color: #fff;
	border: 1px solid #17111b;
	box-sizing: border-box;
	border-radius: 12px;
}
.contact .thanks .voiceBox p:after {
	position: absolute;
	left: -31px;
	bottom: 10px;
	width: 31px;
	height: 44px;
	background: url("img/common/arrow02.png") no-repeat left top/31px auto;
	content: "";
}
.contact .thanks .voiceBox p a {
	font-size: 2.7rem;
	display: inline-block;
	margin: 5px 0;
	letter-spacing: 0.05em;
}
.contact .thanks .voiceBox .small {
	font-size: 1.4rem;
	display: block;
	letter-spacing: 0.08em;
}
@media all and (min-width: 897px) {
	.contact form .submit li:hover:after {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
	}
	.contact form .submit li:hover input {
		color: #0b193d;
	}
	.contact form .agree a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.contact {
		padding: 0;
	}
	.contact .stepList {
		margin: -4px 0 58px;
		justify-content: center;
	}
	.contact .stepList li {
		margin-right: 26px;
		padding: 5px;
		width: 95px;
		font-size: 1.6rem;
		letter-spacing: 0;
	}
	.contact .stepList li:after {
		top: 11px;
		right: -20px;
	}
	.contact .stepList li:last-child {
		margin-right: 0;
	}
	.contact form .must {
		width: 5px;
	}
	.contact form dl {
		margin-bottom: 29px;
		display: block;
	}
	.contact form dt {
		padding: 20px 4px 15px;
		width: auto !important;
		font-size: 1.8rem;
	}
	.contact form dt:first-child {
		padding-top: 0;
	}
	.contact form dd {
		width: 100%;
	}
	.contact form dd:nth-child(2) {
		margin-bottom: 20px;
	}
	.contact form dd > ul {
		padding: 20px 10px 28px 20px;
	}
	.contact form dd li {
		margin-bottom: 14px;
		letter-spacing: 0.08em;
	}
	.contact form dd li ul {
		margin: 5px 0 15px 20px;
	}
	.contact form dd li li {
		margin: 12px 0 0;
		width: 100%;
		letter-spacing: 0;
	}
	.contact form dd .list02 li {
		margin: 5px 20px 0 0;
	}
	.contact form dd p {
		margin-top: 10px;
		font-weight: 500;
		letter-spacing: 0;
		line-height: 1.35;
	}
	.contact form .note {
		margin: 0 10px 50px;
	}
	.contact form .note .must {
		width: 7px;
		margin: 0 0 0 10px;
	}
	.contact form .agree {
		margin-bottom: 10px;
	}
	.contact form .submit {
		flex-wrap: wrap;
	}
	.contact form .submit li {
		margin: 10px 0 0;
	}
	.contact form .submit .retry {
		order: 2;
	}
	.contact .mw_wp_form_confirm dl {
		padding: 0 8px 10px;
	}
	.contact .mw_wp_form_confirm dt {
		padding: 10px 0 10px !important;
	}
	.contact .mw_wp_form_confirm dt:first-child {
		padding-top: 0 !important;
	}
	.contact .mw_wp_form_confirm dd {
		width: auto;
		padding: 0;
	}
	.contact .mw_wp_form_confirm dd li {
		margin-bottom: 7px;
	}
	.contact .thanks {
		margin-bottom: 0;
		padding: 77px 25px 130px;
	}
	.contact .thanks h3 {
		margin-bottom: 24px;
	}
	.contact .thanks .midBox p {
		margin-bottom: 40px;
		letter-spacing: 0.01em;
		line-height: 1.5;
	}
	.contact .thanks .voiceBox {
		margin: 0 auto;
		max-width: 332px;
		left: auto;
		bottom: auto;
		position: relative;
	}
	.contact .thanks .voiceBox .voiceImg {
		margin: 0;
		position: absolute;
		bottom: -62px;
		right: -10px;
	}
	.contact .thanks .voiceBox p {
		width: 315px;
		margin-right: -10px;
		padding: 15px 15px 25px 25px;
	}
	.contact .thanks .voiceBox p:after {
		left: 80px;
		bottom: -35px;
		width: 35px;
		height: 35px;
		background: url("img/common/arrow03.png") no-repeat left top/35px auto;
	}
	.contact .thanks .voiceBox p a {
		margin-bottom: 0;
	}
	.contact .thanks .voiceBox .small {
		letter-spacing: 0;
	}
}
@media all and (max-width: 374px) {
	.contact form dd li {
		font-size: 1.5rem;
	}
}
@media all and (max-width: 359px) {
	.contact form dd .list02 {
		padding: 10px 20px;
	}
	.contact form dd .list02 li {
		margin-right: 10px;
	}
	.contact form .agree {
		letter-spacing: 0;
	}
}
/* service */
.service .imgBox {
	margin: 0 0 57px 77px;
	display: flex;
	justify-content: space-between;
}
.service .imgBox .photoBox {
	margin: 30px -205px 0 0;
	width: 721px;
}
.service .imgBox .txtBox {
	width: 418px;
}
.service .imgBox .txtBox p {
	line-height: 1.7;
	letter-spacing: 0.25em;
}
.service .imgBox .txtBox h3 {
	margin-bottom: 55px;
	line-height: 1.7;
	letter-spacing: 0.3em;
}
.service .imgBox .txtBox h3 span {
	margin: 0 -60px 8px 0;
	display: block;
	color: #050400;
	font-size: 5.5rem;
	line-height: 1.27;
}
.my-business {
	overflow: hidden;
}
@media all and (-ms-high-contrast:none) {
	.service .imgBox .txtBox h3 {
		letter-spacing: 0;
	}
}
.service .imgBox02 {
	margin-bottom: 90px;
}
.service .imgBox02 .photoBox {
	margin: 7px -55px 0 0;
	width: 542px;
}
.service .imgBox02 .txtBox {
	width: 484px;
}
.service .comBg {
	padding: 75px 0 30px;
}
.service .comBg .midTxt {
	margin-bottom: 38px;
}
.service .photo {
	text-align: center;
}
.service .photo:not(:last-child) {
	margin-bottom: 80px;
}
.service .photo01 {
	margin-bottom: 0 !important;
}
.service .voiceBox {
	position: absolute;
	left: 38px;
	bottom: -58px;
	display: flex;
	align-items: flex-start;
}
.service .voiceBox .voiceImg {
	margin: 25px 56px 0 0;
}
.service .comVoice {
	width: 340px;
}
.service .comVoice:after {
	left: -39px;
	width: 39px;
	height: 39px;
	bottom: 10px;
	background-image: url("img/common/arrow05.png");
	background-size: 39px 39px;
}
.service .voiceBox p {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.72;
	letter-spacing: 0.3em;
}
.service .voiceBox02 {
	position: absolute;
	right: 80px;
	left: auto;
	bottom: -105px;
}
.service .voiceBox02 .comVoice {
	width: 350px;
	padding: 13px 16px;
}
.service .voiceBox02 .comVoice:after {
	background-image: url("img/common/arrow06.png");
	width: 41px;
	height: 34px;
	background-size: 41px auto;
	left: auto;
	right: -40px;
	bottom: auto;
	top: 7px;
}
.service .voiceBox02 .comVoice p {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
.service .voiceBox02 .voiceImg {
	margin: -60px 0 0 40px;
}
.my-business .comVoice p {
	text-align: justify;
}
@media all and (max-width: 896px) {
	.service .imgBox {
		margin: -8px 0 35px;
		display: block;
	}
	.service .imgBox .photoBox {
		margin: 0 -15px 10px 0;
		width: auto !important;
	}
	.service .imgBox .txtBox {
		width: auto !important;
	}
	.service .imgBox .txtBox p {
		letter-spacing: 0.05em;
	}
	.service .imgBox .txtBox h3 {
		margin: 0 5px 22px 10px;
		letter-spacing: 0.08em;
	}
	.service .imgBox .txtBox h3 span {
		margin: 0 0 12px;
		font-size: 3.8rem;
		line-height: 1.3;
	}
	.service .imgBox02 .photoBox {
		margin: 35px 0 20px;
	}
	.service .comBg {
		padding: 15px 16px 230px;
	}
	.service .comBg .headline01 {
		margin: 0 -15px 25px;
	}
	.service .comBg .h3Ttl span {
		letter-spacing: 0;
	}
	.service .comBg .midTxt {
		margin-bottom: 42px;
		text-align: left;
		letter-spacing: 0.08em;
	}
	.service .photo:not(:last-child) {
		margin-bottom: 65px;
	}
	.service .photo02 {
		margin: -25px -7px 22px !important;
	}
	.service .voiceBox {
		flex-wrap: wrap;
		bottom: -200px;
		left: 50%;
		transform: translateX(-50%);
		width: 286px;
	}
	.service .voiceBox .voiceImg {
		margin: -95px -30px 0 0;
		order: 2;
		width: calc(100% + 30px);
		text-align: right;
	}
	.service .comVoice {
		order: 0;
		padding: 18px 30px 46px;
	}
	.service .comVoice:after {
		left: 104px;
		width: 35px;
		height: 28px;
		bottom: -28px;
		background-image: url("img/common/arrow07.png");
		background-size: 35px 28px;
	}
	.service .voiceBox p {
		letter-spacing: 0;
	}
	.service .voiceBox02 {
		right: auto;
		width: 314px;
		bottom: -355px;
	}
	.service .voiceBox02 .comVoice {
		margin: 0 3px 0 -3px;
		width: auto;
		padding: 16px 60px 16px 18px;
	}
	.service .voiceBox02 .comVoice:after {
		background-image: url("img/common/arrow03.png");
		width: 35px;
		height: 35px;
		background-size: 35px auto;
		left: 85px;
		right: auto;
		bottom: -35px;
		top: auto;
	}
	.service .voiceBox02 .comVoice p {
		letter-spacing: 0.02em;
	}
	.service .voiceBox02 .voiceImg {
		margin: -95px -17px 0 40px;
		width: calc(100% + 17px);
	}
	.my-business {
		overflow: hidden;
	}
}
@media all and (max-width: 374px) {
	.service .h3Ttl {
		letter-spacing: 0;
		font-size: 2.1rem;
	}
	.service .imgBox .txtBox h3 span {
		font-size: 3.6rem;
	}
}
@media all and (max-width: 359px) {
	.service .imgBox .txtBox h3 span {
		font-size: 3.2rem;
	}
	.service .voiceBox {
		width: 260px;
	}
}
/* web-monitoring */
.web-monitoring .imgBox {
	margin-bottom: 95px;
}
.web-monitoring .imgBox .photoBox {
	margin: 35px 0 0;
	width: 480px;
	text-align: center;
}
.web-monitoring .imgBox .txtBox {
	width: 473px;
}
.web-monitoring .imgBox .txtBox h3 {
	margin: 0 -20px 40px 0;
}
.web-monitoring .comBg {
	padding: 87px 0 40px;
}
.web-monitoring .headline01 span {
	min-width: 217px;
}
.web-monitoring .midTxt {
	margin: 0 auto;
	max-width: 653px;
	font-size: 1.8rem;
	line-height: 1.33;
}
.web-monitoring .bgWhite {
	padding: 70px 83px 80px;
}
.web-monitoring .comBg .midTxt {
	margin-bottom: 70px;
}
.web-monitoring .midTxt span {
	display: inline-block;
	text-align: left;
}
.web-monitoring .comList01 {
	margin: 0 auto;
	max-width: 810px;
}
.web-monitoring .comList01 li {
	padding: 0 30px;
	width: 50%;
}
.web-monitoring .comList .ttl {
	color: #707070;
}
.web-monitoring .comList01 .ttl {
	margin-bottom: 30px;
}
.web-monitoring .comList01 .num {
	background-color: #707070;
}
.web-monitoring .comList .listImg {
	margin: 16px auto 25px;
	height: 88px;
	text-align: center;
}
.web-monitoring .comList02 p {
	letter-spacing: 0.02em;
}
.web-monitoring .comList02 .ttl {
	color: #4C4C4C;
}
.web-monitoring .freeBox {
	margin: 0 auto;
	padding: 60px 30px 0px 30px;
	max-width: 400px;
	text-align: center;
}
@media all and (max-width: 896px) {
	.web-monitoring .imgBox {
		margin: -8px 10px 55px;
	}
	.web-monitoring .imgBox .photoBox {
		margin: 30px 10px 0;
	}
	.web-monitoring .imgBox .txtBox h3 {
		margin: 0 0 20px;
	}
	.web-monitoring .comBg {
		margin: 0;
		padding: 15px 0 50px;
	}
	.web-monitoring .midTxt {
		font-size: 1.4rem;
		line-height: 1.7;
	}
	.web-monitoring .bgWhite {
		padding: 44px 25px 40px;
	}
	.web-monitoring .comBg .midTxt {
		margin-bottom: 45px;
	}
	.web-monitoring .comList01 li {
		padding: 26px 0;
		width: 100%;
	}
	.web-monitoring .h3Ttl span {
		width: 100%;
	}
	.web-monitoring .comBg .midTxt02 {
		margin-bottom: 35px;
	}
	.web-monitoring .comList .listImg {
		margin-top: 0;
	}
	.web-monitoring .comList p {
		line-height: 1.57;
		letter-spacing: 0.01em;
	}
	.web-monitoring .comList .ttl {
		margin: 0 0 30px;
	}
	.web-monitoring .comList02 .ttl {
		margin-bottom: 12px;
		line-height: 1.2;
	}
}
/* harmful-rumors */
.harmful-rumors .comBg {
	margin-bottom: 70px;
	padding: 87px 0 94px;
}
.harmful-rumors .bgWhite {
	padding: 70px 83px 80px;
}
.harmful-rumors .comBg .midTxt {
	margin: 0 auto 72px;
	max-width: 653px;
}
.harmful-rumors .comBg .midTxt span {
	text-align: left;
	display: inline-block;
}
.harmful-rumors .voiceBox01 {
	bottom: -120px;
	left: 52px;
}
.harmful-rumors .voiceBox01 .voiceImg {
	margin-right: 20px;
}
.harmful-rumors .voiceBox01 .comVoice {
	padding: 10px 20px;
	width: 233px;
}
.harmful-rumors .voiceBox01 .comVoice:after {
	width: 29px;
	background-size: 29px auto;
	left: -29px;
	bottom: 0;
}
.harmful-rumors .voiceBox01 .comVoice p {
	letter-spacing: 0.1em;
}
.harmful-rumors .headline01 span {
	min-width: 217px;
}
.harmful-rumors .comBg02 {
	padding: 70px 0;
}
.harmful-rumors .comBg02 .headline01 {
	margin-bottom: 54px;
}
.harmful-rumors .comBg02 .headline01 span {
	background: none;
}
.harmful-rumors .comBg02 .voiceImg {
	margin-bottom: 44px;
	text-align: center;
}
.harmful-rumors .comBg02 .midTxt {
	margin-bottom: 0;
}
.harmful-rumors .comBg02 .midTxt span {
	margin-bottom: 24px;
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}
@media all and (max-width: 896px) {
	.harmful-rumors .imgBox {
		margin-bottom: 55px;
	}
	.harmful-rumors .comBg {
		margin: 0 0 25px;
		padding: 15px 0 373px;
	}
	.harmful-rumors .bgWhite {
		padding: 45px 25px 55px;
	}
	.harmful-rumors .comBg .midTxt {
		margin-bottom: 35px;
	}
	.harmful-rumors .comBg .photo {
		margin: 0 -2px;
	}
	.harmful-rumors .comBg .photo01 {
		margin: 0 -5px;
	}
	.harmful-rumors .voiceBox01 {
		bottom: -105px;
		left: 50%;
		width: 340px;
		justify-content: flex-start;
	}
	.harmful-rumors .voiceBox01 .voiceImg {
		margin: -20px 7px 0 0;
		width: auto;
		order: 0;
	}
	.harmful-rumors .voiceBox01 .comVoice {
		margin-top: 8px;
		padding: 10px 18px 10px;
		width: 180px;
		order: 2;
		border-radius: 8px;
	}
	.harmful-rumors .voiceBox01 .comVoice:after {
		width: 23px;
		background-image: url("img/common/arrow02.png");
		background-size: 23px auto;
		left: -23px;
		height: 32px;
		bottom: 5px;
	}
	.harmful-rumors .voiceBox01 .comVoice p {
		letter-spacing: 0;
	}
	.harmful-rumors .comBg02 {
		margin: 0 0 25px;
		padding: 44px 16px 10px;
	}
	.harmful-rumors .comBg02 .headline01 {
		margin-bottom: 35px;
	}
	.harmful-rumors .comBg02 .headline01 span {
		background: none;
	}
	.harmful-rumors .comBg02 .voiceImg {
		margin-bottom: 30px;
	}
	.harmful-rumors .comBg02 .midTxt {
		letter-spacing: 0;
	}
}
@media all and (max-width: 359px) {
	.harmful-rumors .comBg02 .midTxt span {
		font-size: 1.6rem;
	}
	.service .voiceBox01 {
		width: 280px;
		bottom: -95px;
	}
	.service .comVoice p, .service .voiceBox02 .comVoice p {
		font-size: 1.6rem;
	}
	.harmful-rumors .voiceBox01 .voiceImg {
		width: 120px;
	}
	.harmful-rumors .voiceBox01 .comVoice {
		width: 150px;
		padding: 10px;
	}
	.service .voiceBox02 {
		width: 280px;
	}
}
/* homepage */
.homepage .imgBox02 {
	margin-bottom: 40px;
}
.homepage .comBg {
	padding: 85px 0;
}
.homepage .bgWhite {
	margin-bottom: 0;
	padding: 70px 0 105px;
}
.homepage .bgWhite .headline01 {
	margin-bottom: 77px;
}
.homepage .bgWhite .headline01 span {
	min-width: 217px;
}
.homepage .bgWhite .photoList {
	margin: -25px auto 0;
	max-width: 948px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.homepage .bgWhite .photoList li {
	margin-top: 25px;
	padding-bottom: 5px;
	width: 47.7%;
	box-sizing: border-box;
	border: 2px solid #17111B;
}
.homepage .bgWhite .photoList p {
	padding: 12px;
	letter-spacing: 0.15em;
	border-bottom: 1px solid #17111B;
}
@media all and (min-width: 897px) {
	.homepage .bgWhite .photoList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.homepage .imgBox02 {
		margin-bottom: 30px;
	}
	.homepage .imgBox02 .txtBox h3 {
		margin-bottom: 10px;
	}
	.homepage .imgBox02 .txtBox p {
		margin: 0 15px;
	}
	.homepage .imgBox02 .photoBox {
		margin-top: 20px;
	}
	.homepage .comBg {
		margin: 0;
		padding: 15px 0 55px;
	}
	.homepage .bgWhite {
		margin-bottom: 0;
		padding: 40px 15px 35px;
	}
	.homepage .bgWhite .headline01 {
		margin-bottom: 50px;
	}
	.homepage .bgWhite .photoList {
		margin-top: -20px;
	}
	.homepage .bgWhite .photoList li {
		margin-top: 20px;
		padding-bottom: 4px;
		width: 100%;
	}
	.homepage .bgWhite .photoList p {
		padding: 4px 10px;
	}
}
.contact.confirm form dd li ul {
	margin: 0 !important;
}
@media all and (max-width: 896px) {
	.contact.confirm .mw_wp_form_confirm dd li {
		margin: 0 !important;
	}
}