@charset "utf-8";

* {
	box-sizing: border-box;
}

body {
	background: #fff;
	color: #333333;
	font-size: 14px;
	-webkit-text-size-adjust: 100%;
	min-width: 768px;
	font-family: '游ゴシック体', '游ゴシック', 'Yu Gothic', YuGothic, "メイリオ", Meiryo,
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ　Ｐゴシック", "MS P Gothic",
		sans-serif;
	text-align: justify;
	text-justify: inter-ideograph;
}

p {
	margin: 20px 0;
	text-align: justify;
	text-justify: inter-ideograph;
}

a {
	color: #405490
}

a:visited {
	color: #405490
}

a.btn03 {
	display: block;
	width: 540px;
	border: 10px solid #405490;
	color: #405490;
	font-size: 20px;
	text-align: center;
	line-height: 80px;
	font-weight: bold;
	margin: 100px auto 0 auto;
}

a.btn03:hover {
	color: #fff;
	background: #405490;
	text-decoration: none;
}

a:visited.button, a:visited.buttonS, a:visited.buttonM, a:visited.buttonB
	{
	color: #fff;
}

.textLv01 {
	font-size: 16px;
}

.textLv02 {
	font-size: 18px;
}

.textLv03 {
	font-size: 22px;
}

@media ( max-width : 768px) {
	.textLv01 {
		font-size: 28px;
	}
	.textLv02 {
		font-size: 30px;
	}
	.textLv03 {
		font-size: 32px;
	}
}

.marginTopW {
	margin-top: 100px;
}

.marginTopM {
	margin-top: 50px;
}

.lineErase {
	margin-top: -1px;
}

.contentsGray {
	background: #dcd7d2;
	overflow: hidden;
}

#topTitleL1, #topTitleL2, #topTitleL3 {
	opacity: 0;
	display: inline-block;
	min-height: 550px;
}

.topMiddleCont {
	max-width: 1170px;
	min-width: 768px;
	margin: 0 auto;
	padding: 0px 30px;
	position: relative;
}

.topMinCont {
	max-width: 790px;
	min-width: 768px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}

.topMiddleContPadding {
	padding: 130px 30px;
}

/* header */
header {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 90px;
	z-index: 100;
}

.headerInner {
	max-width: 1760px;
	margin: 0 auto;
	height: 90px;
	padding: 30px 30px 0 40px;
	transition: opacity 0.5s ease-in-out;
}

.headerInner.hidden {
	opacity: 0;
	pointer-events: none;
}

.headerInnerPc {
	display: block;
}

.headerInnerSp {
	display: none;
}

.headerNavWrapSp {
	display: none;
}

.headerMenuCover {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: black;
	opacity: 0.60;
	filter: alpha(opacity = 60);
	z-index: 99;
}

.headerNavL {
	padding: 10px 0 0 0;
}

.headerNav01 {
	margin: 0;
	padding: 0;
	list-type: none;
}

.headerNav01 li {
	display: block;
	float: left;
	border-left: 1px solid #fff;
	height: 27px;
}

.headerNav01 li a {
	display: block;
	padding: 0 50px;
	line-height: 27px;
	height: 27px;
	font-size: 12px;
	color: #fff;
	overflow: hidden;
}

.headerNav01 li a:hover {
	color: #405490;
	text-decoration: none;
}

.headerNav01 li a.headerMenuLNow {
	color: #405490;
}

/*
@keyframes wave {
  49% {
    transform: translate3d(0, -15px, 0);
  }
    50% {
    transform: translate3d(-100px, -17px, 0);
  }
    51% {
    transform: translate3d(-100px, 17px, 0);
  }
    52% {
    transform: translate3d(0, 17px, 0);
  }
    100% {
    transform: translate3d(0, 0px, 0);
  }
}

.wave {
  display: block;
}

.wave span {
  display: inline-block;
}

.wave span {
  animation-name: wave;
  animation-duration: .5s;
  animation-direction: normal;
  animation-iteration-count: 1;
  animation-fill-mode:forwards;
  animation-timing-function:ease;
}

.wave span:nth-child(2) {
  animation-delay: .05s;
}

.wave span:nth-child(3) {
  animation-delay: .1s;
}

.wave span:nth-child(4) {
  animation-delay: .15s;
}
.wave span:nth-child(5) {
  animation-delay: .2s;
}
.wave span:nth-child(6) {
  animation-delay: .25s;
}
.wave span:nth-child(7) {
  animation-delay: .3s;
}
.wave span:nth-child(8) {
  animation-delay: .35s;
}
.wave span:nth-child(9) {
  animation-delay: .4s;
}
*/
.footerSnsImg {
	width: 28px;
	display: block;
}

.headerNav01 li a.headerSnsLink {
	display: inline-block;
	width: 28px;
	padding: 0;
	margin-left: 20px;
}

.headerMenuR {
	float: right;
}

a.headerNavContact {
	display: block;
	border: 4px solid #405490;
	color: #405490;
	background: #fff;
	font-size: 11px;
	height: 42px;
	line-height: 34px;
	width: 118px;
	float: left;
	text-align: center;
	font-weight: bold;
}

a.headerNavContact:hover {
	background: #405490;
	color: #fff;
	text-decoration: none;
}

a.headerNavLogin {
	display: block;
	background: #edeeef;
	color: #1a1a1a;
	font-size: 11px;
	height: 40px;
	line-height: 40px;
	width: 118px;
	float: left;
	margin: 1px 0 0 20px;
	text-align: center;
	font-weight: bold;
}

a.headerNavLogin:hover {
	background: #fff;
	text-decoration: none;
}

.headerSnsLink img {
	width: 26px;
	margin-right: 20px;
}

.headerLogoSp, .headerNavLogoSp {
	display: none;
}

.headerBtnSp {
	display: none;
}

.headerNav01 li.headerNav01Sp {
	display: none;
}

.headerCloseBtnSp {
	display: none;
}

/* footer */
footer {
	padding: 115px 0px 30px 0px;
	position: relative;
	background: #666666;
}

.footerCol {
	float: left;
	width: 30%;
}

.footerLogo {
	width: 145px;
}

.footerSnsLink {
	margin-top: 30px;
}

.footerSnsLink img {
	width: 26px;
	margin-right: 20px;
}

.footerMenu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footerMenu li {
	margin: 0 0 30px 0;
}

.footerMenu a {
	color: #fff;
}

.footerCopy {
	clear: both;
	color: #fff;
	text-align: center;
	padding-top: 100px;
}

/* paging */
.pagingWrap {
	position: relative;
	text-align: center;
	margin-top: 100px;
}

.pagingL {
	display: inline-block;
}

.pagingC {
	display: inline-block;
	color: #405490;
	font-weight: bold;
}

.pagingR {
	display: inline-block;
}

.pagingC {
	font-size: 20px;
}

.pagingC span {
	margin: 0 8px;
}

.pagingC a {
	color: #666666;
}

.pagingL a {
	color: #666666;
	background-image: url(../img/img2023/paging_prev.svg);
	background-size: auto 10px;
	background-repeat: no-repeat;
	background-position: left 5px;
	padding-left: 80px;
	font-weight: bold;
	margin-right: 50px;
	font-size: 18px;
}

.pagingR a {
	color: #666666;
	background-image: url(../img/img2023/paging_next.svg);
	background-size: auto 10px;
	background-repeat: no-repeat;
	background-position: right 5px;
	padding-right: 75px;
	font-weight: bold;
	margin-left: 50px;
	font-size: 18px;
}

@media ( max-width : 768px) {
	.pagingC {
		font-size: 24px;
	}
	.pagingL a, .pagingR a {
		font-size: 24px;
	}
}

/* top page */
.topMainVisual {
	background-image: url("../img/img2023/top_visual.jpg");
	height: 450px;
	background-size: cover;
	background-position: center;
}

.topWrap01 {
	background: #dcd7d2;
	position: relative;
}

.topWrap02 {
	background: #fff;
	position: relative;
}

.topTitle01 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 28px;
	padding: 150px 0 100px 70px;
	line-height: 2.5;
	float: left;
	letter-spacing: 5px;
}

.topLogo {
	margin-left: 400px;
	padding: 270px 0 70px 0;
}

.topLogo img {
	width: 100%;
}

.topIntroCol {
	clear: both;
	padding-bottom: 190px;
}

.topIntroTitle img {
	width: 350px;
	-webkit-backface-visibility: hidden;
}

a.topContactBtn01 {
	display: block;
	width: 540px;
	border: 10px solid #405490;
	background: #fff;
	margin: 60px auto;
	text-align: center;
	padding: 0;
	height: 80px;
	line-height: 1;
	background-image: url("../img/img2023/top_contact_btn01.svg");
	background-size: 117px auto;
	background-repeat: no-repeat;
	background-position: center 20px;
	line-height: 1;
}

a.topContactBtn01:hover {
	background-color: #405490;
	background-image: url("../img/img2023/top_contact_btn01_on.svg");
}

.topContactBtn01 img {
	width: 117px;
}

.topInterviewWrap {
	height: 600px;
	padding-bottom: 50%;
	box-sizing: content-box;
}

.topInterviewCol {
	width: 50%;
	position: absolute;
	top: 190px;
	right: 0px;
	padding: 0 30px 0 0;
}

.topInterviewTitle img {
	width: 255px;
}

.topInterviewCol p {
	margin: 40px 0 60px 0;
}

a.topInterviewBtn {
	display: inline-block;
	max-width: 540px;
	width: 100%;
	border: 10px solid #405490;
	background: #fff;
	text-align: center;
	padding: 20px 0;
	line-height: 1;
	background-image: url("../img/img2023/top_interview_btn.svg");
	background-size: 258px auto;
	background-repeat: no-repeat;
	background-position: center 20px;
	height: 80px;
}

a.topInterviewBtn:hover {
	background-color: #405490;
	background-image: url("../img/img2023/top_interview_btn_on.svg");
}

.topInterviewBtn img {
	max-width: 259px;
	width: 80%;
	display: inline-block;
}

.topInterviewPhoto {
	position: absolute;
	opacity: 0;
}

.topInterviewPhoto01 {
	top: 190px;
	left: 0px;
	text-align: left;
	width: 45%;
}

.topInterviewPhoto02 {
	bottom: 50px;
	right: 5%;
	text-align: right;
	width: 35%;
}

.topInterviewPhoto03 {
	bottom: 27%;
	left: 15%;
	text-align: right;
	width: 40%;
}

.topInterviewPhoto04 {
	bottom: 0px;
	left: 50px;
	text-align: left;
	width: 30%;
}

.topInterviewPhoto01 img {
	max-width: 806px;
	width: 100%;
}

.topInterviewPhoto02 img {
	max-width: 583px;
	width: 100%;
}

.topInterviewPhoto03 img {
	max-width: 486px;
	width: 100%;
}

.topInterviewPhoto04 img {
	max-width: 349px;
	width: 100%;
}

.topInfoCol {
	padding: 100px 30px 180px 30px;
}

.topInfoTitle {
	padding: 0 0 40px 0;
	text-align: center;
}

.topInfoTitle img {
	width: 310px;
}

.topServiceTitleWrap {
	background-image: url("../img/img2023/top_service_bg.png");
	background-size: cover;
	height: 557px;
	padding: 0 30px;
}

.topServiceTitleCol {
	padding: 230px 0 0 0;
}

.topServiceTitle img {
	width: 195px;
}

.topServiceTitleCol p {
	padding-top: 20px;
	color: #fff;
}

.topServiceAnchorWrap {
	height: 285px;
	padding: 70px 30px 0 30px;
}

a.topServiceAnchor {
	width: 16.66%;
	float: left;
	text-align: center;
	position: relative;
	padding-top: 20px;
	display: table;
}

.topServiceAnchor span {
	display: table;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #405490;
	opacity: 0.9;
	top: 0px;
	left: 0px;
	color: #fff;
	font-size: 13px;
	vertical-align: middle;
	opacity: 0;
}

.topServiceAnchor span span {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	position: relative;
	top: auto;
	left: auto;
}

.topServiceAnchor img {
	width: 89px;
}

.topServiceWrap {
	height: 838px;
	box-sizing: content-box;
	overflow: hidden;
}

.topServiceWrap02 {
	height: 947px;
	margin-top: -1px;
}

.topServiceWrap04 {
	height: 769px;
}

.topServiceWrap05 {
	height: 781px;
}

.topServiceWrap06 {
	height: 888px;
}

.topServiceWrap04 p {
	padding-top: 65px;
}

.topServiceWrap05 p {
	padding-top: 100px;
}

.topServiceLeft {
	padding: 200px 0 0 0;
	width: 717px;
}

.topServiceRight {
	padding: 200px 0 0 0;
	width: 717px;
	float: right;
}

.topServiceLeftImg {
	position: absolute;
	top: 0px;
	left: 850px;
	height: 838px;
	width: 663px;
	background-image: url("../img/img2023/top_service_bg01.jpg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left 0px;
}

.topServiceLeftImg02 {
	background-image: url("../img/img2023/top_service_bg02.png");
	height: 947px;
	left: auto;
	right: 850px;
}

.topServiceLeftImg03 {
	background-image: url("../img/img2023/top_service_bg03.jpg");
	height: 990px;
}

.topServiceLeftImg04 {
	height: 769px;
	background-image: url("../img/img2023/top_service_bg04.png");
	left: auto;
	right: 850px;
}

.topServiceLeftImg05 {
	height: 781px;
	background-image: url("../img/img2023/top_service_bg05.png");
}

.topServiceLeftImg06 {
	height: 888px;
	background-image: url("../img/img2023/top_service_bg06.png");
	left: auto;
	right: 850px;
}

.topServiceLeft h3, .topServiceRight h3 {
	height: 153px;
	width: 44%;
	font-size: 27px;
	color: #405490;
	font-weight: normal;
	position: relative;
	padding: 80px 0 0 90px;
	float: left;
	font-size: 27px;
	line-height: 1.4;
}

.topServiceLeft p, .topServiceRight p {
	float: right;
	width: 49%;
	margin: 5px 0;
	font-size: 14px;
	line-height: 2.2;
}

.topServiceWrap06 .topServiceRight h3 {
	width: auto;
	float: none;
}

.topServiceWrap06 .topServiceRight p {
	width: auto;
	float: none;
	padding: 20px 0 0 110px;
}

.topServiceLeft h3 img, .topServiceRight h3 img {
	width: 150px;
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 1;
}

.topServiceLeft h3 span, .topServiceRight h3 span {
	position: relative;
	z-index: 2;
}

.topServiceImg {
	clear: both;
	padding-top: 47px;
}

.topServiceWrap04 .topServiceImg {
	padding-top: 20px;
}

.topServiceWrap06 .topServiceImg {
	padding-top: 20px;
}

.topServiceImg img {
	width: 100%;
}

.topExhibitionsLink {
	margin-top: 80px;
}

.topExhibitionsLink a {
	display: block;
	width: 100%;
	border: 10px solid #405490;
	color: #405490;
	font-size: 15px;
	text-align: center;
	line-height: 80px;
	font-weight: bold;
}

.topExhibitionsLink a:hover {
	text-decoration: none;
	background: #405490;
	color: #fff;
}

a.topContactBtn02, a.contactBtnWide {
	display: block;
	background: #405490;
	height: 200px;
	text-align: center;
	padding: 70px 0 50px 0;
}

a.topContactBtn02:hover, a.contactBtnWide:hover {
	background: #223a80;
}

a.topContactBtn02 img, a.contactBtnWide img {
	display: inline-block;
	width: 330px;
}

a.topContactBtn02 img:hover, a.contactBtnWide img:hover {
	opacity: 1;
}

img.topServiceImg01 {
	max-width: 791px;
	width: 100%;
}

img.topServiceImg02 {
	max-width: 760px;
	width: 100%;
}

img.topServiceImg03 {
	max-width: 706px;
	width: 90%;
}

img.topServiceImg04 {
	max-width: 484px;
	width: 80%;
}

img.topServiceImg05 {
	max-width: 561px;
	width: 80%;
}

img.topServiceImg06 {
	max-width: 545px;
	width: 70%;
}

.topMessageCol {
	padding-top: 200px;
}

.topMessageCol p {
	margin: 30px 0;
	font-size: 20px;
}

.topMessageTitle img {
	max-width: 220px;
}

.topProfileCol {
	background: #dcd7d2;
	padding: 60px;
	overflow: hidden;
	font-size: 15px;
}

.topProfileTitle {
	margin-bottom: 30px;
}

.topProfileTitle img {
	max-width: 140px;
}

.topProfileBlock01 {
	width: 55%;
	border-right: 1px solid #b0aca8;
	float: left;
	padding-right: 5%;
}

.topProfileBlock02 {
	width: 40%;
	float: right;
}

.topFaqCol {
	padding: 150px 30px 150px 30px;
}

.topFaqTitle {
	font-size: 33px;
	color: #405490;
	font-weight: bold;
	margin-bottom: 30px;
}

.topFaqTitle img {
	max-width: 117px;
}

.topFaqTitleRemark {
	text-align: center;
	margin-bottom: 130px;
}

.topFaq {
	border-bottom: 1px solid #b0aca8;
	margin-bottom: 40px;
	padding: 0 0 18px 0;
}

.topFaqQ {
	color: #405490;
	font-size: 16px;
	padding: 0px 0px 10px 0;
	cursor: pointer;
}

.topFaqA {
	display: none;
	font-size: 16px;
	padding: 10px 0px 20px 30px;
}

.inlinePc {
	display: inline;
}

.inlineSp {
	display: none;
}

@media ( max-width : 1130px) {
	.headerNav01 li a {
		padding: 0 30px;
	}
}

@media ( max-width : 960px) {
	.headerInner {
		padding: 30px 10px 0 10px;
	}
	.headerNav01 li a {
		padding: 0 15px;
	}
	.headerNav01 li a.headerSnsLink {
		margin-left: 10px;
	}
	.headerSnsLink img {
		margin-right: 10px;
	}
}

@media ( max-width : 768px) {
	body {
		font-size: 30px;
	}
	p {
		margin: 30px 0;
	}
	.inlinePc {
		display: none;
	}
	.inlineSp {
		display: inline;
	}
	.headerNavInnerPc {
		display: none;
	}
	.headerLogoSp a {
		display: block;
		width: 146px;
	}
	.headerLogoSp a img {
		display: block;
		width: 146px;
	}
	.headerInner {
		padding: 67px 0 0 56px;
	}
	.headerBtnSp, .headerCloseBtnSp {
		display: block;
		background: none;
		background-image: url("../img/img2023/top_spmenu.svg");
		background-size: 44px auto;
		background-repeat: no-repeat;
		background-position: center 10px;
		padding: 0;
		margin: 0;
		border: none;
		height: 44px;
		outline: none;
		position: absolute;
		top: 60px;
		right: 30px;
	}
	.headerCloseBtnSp {
		background-image: url("../img/img2023/top_spclose.svg");
		top: 58px;
		right: 75px;
	}
	.headerNavWrapSp {
		background: #666666;
		width: 768px;
		position: fixed;
		top: 0px;
		left: 0px;
		max-height: 965px;
		height: 100%;
		overflow-y: scroll;
		overflow-x: hidden;
		display: none;
		z-index: 100;
	}
	.headerNavWrapSpShow {
		display: block;
	}
	.headerNavInnerSp {
		height: 963px;
		width: 788px;
		padding: 70px 60px;
		position: relative;
	}
	.headerMenuR {
		position: absolute;
		bottom: 60px;
		left: 50px;
	}
	a.headerNavContact {
		width: 297px;
		font-size: 22px;
		height: 78px;
		padding-top: 19px;
	}
	a.headerNavLogin {
		width: 297px;
		font-size: 22px;
		height: 74px;
		margin: 2px 0 0 50px;
		padding-top: 19px;
	}
	.headerNav01 li a.headerMenuLNow {
		color: #fff;
	}
	.headerNavLogoSp {
		width: 146px;
	}
	.headerNavLogoSp img {
		width: 146px;
	}
	.headerNavL {
		padding: 30px 0 0 0;
	}
	.headerNav01 li {
		float: none;
		border: none;
	}
	.headerNav01 li {
		height: auto;
		padding: 30px 0;
	}
	.headerNav01 li a {
		font-size: 26px;
		height: auto;
		padding: 0;
	}
	.headerNav01 li.headerNav01Sp {
		display: block;
		padding: 30px 0 0 0;
	}
	.headerNav01 li.headerNav01Sp a {
		font-size: 22px;
	}
	.headerLogoSp, .headerNavLogoSp {
		display: block;
	}
	.headerNav01 li a.headerSnsLink {
		margin: 0 20px 0 0;
		width: 40px;
	}
	.headerSnsLink img {
		width: 40px;
	}
	.topMainVisual {
		background-image: url("../img/img2023/top_visual_sp.jpg");
		height: 1000px;
	}
	.topTitle01 {
		position: absolute;
		top: -750px;
		right: 100px;
		font-size: 30px;
	}
	.topTitle01 span {
		background: #fff;
		padding: 10px 2px;
	}
	#topTitleL1, #topTitleL2, #topTitleL3 {
		display: inline;
		min-height: auto;
	}
	.topTitle01 span#topTitleL3 {
		padding: 10px 2px 0 2px;
	}
	.topLogo {
		margin-left: 0px;
		padding: 155px 0 140px 0;
		text-align: center;
	}
	.topLogo img {
		width: 595px;
	}
	.topIntroCol {
		padding-bottom: 90px;
	}
	.topIntroTitle {
		text-align: center;
	}
	.topIntroTitle img {
		width: 456px;
	}
	a.topContactBtn01 {
		width: auto;
		padding: 65px;
		background-size: 233px auto;
		background-position: center 47px;
	}
	.topContactBtn01 img {
		width: 233px;
	}
	.topInterviewWrap {
		height: 1800px;
	}
	.topInterviewCol {
		position: relative;
		top: auto;
		right: auto;
		width: auto;
		padding: 90px 30px 0 30px;
	}
	.topInterviewTitle {
		text-align: center;
	}
	.topInterviewTitle img {
		width: 330px;
	}
	.topInterviewCol p {
		margin: 1700px 0 30px 0;
	}
	.topInterviewPhoto01 {
		width: 660px;
		top: 240px;
	}
	.topInterviewPhoto02 {
		width: 450px;
		left: -20px;
		right: auto;
		top: 960px;
	}
	.topInterviewPhoto03 {
		width: 440px;
		left: auto;
		right: 0px;
		bottom: auto;
		top: 770px;
	}
	.topInterviewPhoto04 {
		width: 310px;
		bottom: auto;
		top: 1420px;
		right: 100px;
		left: auto;
	}
	a.topInterviewBtn {
		display: block;
		max-width: none;
		padding: 65px 0;
		background-size: 516px auto;
		background-position: center 47px;
	}
	.topInterviewBtn img {
		width: 516px;
		max-width: none;
	}
	.topInfoCol {
		padding: 178px 60px 180px 60px;
	}
	.topInfoKind {
		font-size: 20px;
		line-height: 20px;
		width: 140px;
		padding: 8px 0 7px 0;
		margin-top: 8px;
	}
	.topInfoDate {
		width: auto;
		margin-left: 180px;
		float: none;
	}
	.topInfoText {
		margin-left: 180px;
	}
	a.topInfoMoreBtn {
		background-size: 100px auto;
		background-repeat: no-repeat;
		background-position: right 15px;
		padding-right: 140px;
		margin-top: 50px;
	}
	.topServiceTitleWrap {
		padding: 0px;
		height: 527px;
		background-image: url("../img/img2023/top_service_bg_sp.jpg");
		background-position: center;
	}
	.topServiceTitleCol {
		padding: 169px 0 0;
	}
	.topServiceTitle {
		text-align: center;
	}
	.topServiceTitleCol p {
		padding: 20px 75px 0px 75px;
	}
	.topServiceAnchorWrap {
		display: none;
	}
	.topServiceWrap {
		height: auto;
		padding: 0;
	}
	.topServiceLeftImg {
		display: none;
	}
	.topServiceWrap01, .topServiceWrap02, .topServiceWrap03 {
		background-image: none;
	}
	.topServiceWrap04, .topServiceWrap05, .topServiceWrap06 {
		background-image: none;
	}
	.topServiceLeft {
		margin-top: 0px;
		padding: 0 30px 0 30px;
	}
	.topServiceRight {
		margin-top: 0;
		padding: 0 30px;
		float: none;
	}
	.topServiceLeft h3, .topServiceRight h3 {
		width: auto;
		height: auto;
		padding: 85px 0;
		float: none;
	}
	.topServiceLeft h3 img, .topServiceRight h3 img {
		position: relative;
		width: 210px;
		margin: 0 -120px 0 250px;
	}
	.topServiceLeft p, .topServiceRight p {
		float: none;
		width: auto;
		font-size: 30px;
	}
	.topServiceImg {
		text-align: center;
		padding-top: 0;
	}
	img.topServiceImg01 {
		width: 630px;
		margin: 75px 0 75px 0;
	}
	img.topServiceImg02 {
		margin: 75px 0 75px 0;
	}
	img.topServiceImg03 {
		width: 100%;
		margin: 75px 0 75px 0;
	}
	.topExhibitionsLink {
		margin: 0;
		padding: 0 0 85px 0;
	}
	.topExhibitionsLink a {
		font-size: 30px;
		padding: 40px 0;
	}
	a.topContactBtn02 {
		padding: 90px 0 0 0;
		height: 280px;
	}
	a.topContactBtn02 img {
		width: 500px;
	}
	.topServiceWrap04 .topServiceRight h3 img {
		margin: 0 -120px 0 150px;
	}
	.topServiceWrap04 p, .topServiceWrap05 p {
		padding-top: 0;
	}
	img.topServiceImg04 {
		width: 100%;
		max-width: none;
		margin: 75px 0 75px 0;
	}
	.topServiceWrap05 .topServiceLeft h3 img {
		margin: 0 -120px 0 170px;
	}
	img.topServiceImg05 {
		width: 642px;
		max-width: none;
		margin: 75px 0 75px 0;
	}
	.topServiceWrap06 .topServiceRight h3 img {
		margin: 0 -120px 0 140px;
	}
	.topServiceWrap06 .topServiceRight h3 span {
		display: block;
		position: absolute;
		left: 240px;
		top: 200px;
	}
	.topServiceWrap06 .topServiceRight h3 span.inlineSp {
		display: inline;
		position: relative;
		top: auto;
		left: auto;
	}
	.topServiceWrap06 .topServiceRight p {
		padding: 0;
	}
	img.topServiceImg06 {
		width: 100%;
		max-width: none;
		margin: 75px 0 75px 0;
	}
	.topMessageCol {
		display: none;
	}
	.topFaqCol {
		padding: 100px 30px 100px 30px;
	}
	.topFaqQ {
		font-size: 30px;
	}
	.topFaqA {
		font-size: 28px;
	}
	.footerCol {
		display: none;
	}
	footer {
		padding: 30px 0px 30px 0px;
	}
	.footerCopy {
		padding-top: 0;
	}
}

/* introductions */
.intBanner {
	height: 300px;
	background-image: url("../img/img2023/int_header_bg.jpg");
	background-size: cover;
	background-position: center;
	color: #fff;
	font-size: 20px;
	font-style: italic;
	font-weight: bold;
	text-align: center;
	padding-top: 150px;
}

.intMainImgWrap {
	padding: 210px 0px 0px 200px;
	position: relative;
}

.intMainImg {
	width: 100%;
	display: block;
}

.intMainNum {
	position: absolute;
	top: 155px;
	left: 30px;
	padding-right: 70px;
}

.intMainNum img {
	height: 80px;
	display: inline-block;
}

.intMainNum:after {
	content: "";
	height: 50px;
	width: 1000px;
	position: absolute;
	right: 0px;
	bottom: -30px;
	background: #3c4f87;
}

.intMainName {
	text-align: right;
	font-size: 30px;
}

.intMainName span {
	font-size: 20px;
	color: #3c4f87;
	margin-left: 10px;
}

.intProf {
	background: #ffffff;
	padding: 30px 30px;
	text-align: justify;
}

.intBarTitle {
	background: #3c4f87;
	color: #fff;
	padding: 5px 0px 5px 95px;
	margin: 85px 0 0 -95px;
	position: relative;
}

.intBarTitleText {
	position: relative;
	z-index: 2;
	background-image: url("../img/img2023/int_title.svg");
	background-size: 436px auto;
	background-position: right 5px;
	background-repeat: no-repeat;
	padding: 0 480px 0 0;
	text-align: justify;
}

.intBarTitle:after {
	position: absolute;
	content: "";
	height: 100%;
	width: 100%;
	left: 50%;
	top: 0px;
	background: #3c4f87;
	z-index: 1;
}

.intRecomTitle {
	text-align: center;
	margin: 150px 0 70px 0;
}

.intRecomTitle img {
	width: 375px;
}

.intRecomWrap {
	overflow: hidden;
	padding: 0 0 80px 0;
}

.intRecomWrapPc {
	display: block;
}

.intRecomWrapSp {
	display: none;
}

.intRecomBlock {
	width: 23%;
	float: left;
	margin-right: 2.666%;
	position: relative;
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, .2);
}

.intRecomBlock:nth-child(4n) {
	margin-right: 0;
}

.intRecomBlock:hover {
	opacity: 0.8;
}

.intRecomLink {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

.intRecomImg {
	display: block;
	width: 100%;
}

.intRecomLabel {
	position: absolute;
	top: 0px;
	left: 10px;
	font-size: 25px;
	font-style: italic;
	font-weight: bold;
	color: #fff;
	opacity: 0.7;
}

.intRecomText {
	background: #fff;
	padding: 5px 15px;
}

a.contactBtnWide {
	height: 250px;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	padding: 70px 30px 0 30px;
}

a.contactBtnWide img {
	margin-top: 30px;
}

@media ( max-width : 768px) {
	a.contactBtnWide {
		padding: 40px 30px 0 30px;
		font-size: 22px;
	}
}

a.intListBtn {
	display: block;
	max-width: 540px;
	width: 100%;
	border: 10px solid #405490;
	background: #fff;
	text-align: center;
	padding: 25px 0;
	line-height: 1;
	margin: 0 auto 155px auto;
	font-size: 18px;
}

a.intListBtn:hover {
	text-decoration: none;
	background: #405490;
	color: #fff;
}

.intListTitle {
	margin: 130px 0 0 0;
	padding: 0;
}

.intListTitle img {
	width: 411px;
}

.intBlockWrap {
	overflow: hidden;
	margin-bottom: 135px;
}

.intListBlock {
	width: 48.5%;
	height: 557px;
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, .2);
	background: #fff;
	float: left;
	margin-top: 30px;
	position: relative;
}

.intListBlock:nth-child(2n) {
	float: right;
}

.intListBlock:hover {
	opacity: 0.7;
}

.intListBlockImg {
	width: 100%;
	padding: 0 0 66% 0;
	background-size: cover;
	background-position: center;
}

.intListBlockText {
	padding: 20px 20px;
	font-size: 15px;
	text-align: justify;
}

.intListBlockName {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 50px;
	background: #3c4f87;
	color: #fff;
	text-align: right;
	padding: 12px 20px 0 0;
	font-size: 16px;
}

.intListBlockLabel {
	position: absolute;
	top: -40px;
	right: 20px;
}

.intListBlockLabel img {
	height: 42px;
	display: inline-block;
}

.intListBlockLink {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

.intBody {
	margin: 50px 0 0 0;
}

.intBody img {
	max-width: 100%;
}

a.intTopBtn, a.intRecomBtn {
	display: block;
	width: 55px;
	background: #fff;
	height: 55px;
	font-size: 20px;
	font-style: italic;
	font-weight: bold;
	color: #405490;
	position: fixed;
	bottom: 130px;
	right: 0px;
	z-index: 10;
	padding: 10px 0 0 20px;
}

a.intTopBtn:hover, a.intRecomBtn:hover {
	text-decoration: none;
	opacity: 0.8;
	cursor: pointer;
}

a.intTopBtn::before {
	content: '';
	position: absolute;
	top: 25px;
	right: 18px;
	width: 16px;
	height: 16px;
	border-top: 2px solid #405490;
	border-right: 2px solid #405490;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

a.intRecomBtn {
	bottom: 50px;
}

a.intRecomBtn::before {
	content: '';
	position: absolute;
	top: 15px;
	right: 18px;
	width: 16px;
	height: 16px;
	border-top: 2px solid #405490;
	border-right: 2px solid #405490;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

@media ( max-width : 768px) {
	.intMainImgWrap {
		padding: 160px 0px 0px 0px;
	}
	.intMainNum {
		top: 100px;
	}
	.intMainName {
		margin-top: 100px;
		text-align: left;
	}
	.intMainName span {
		display: block;
		margin-left: 0px;
		margin-bottom: 50px;
	}
	.intBarTitleText {
		background-position: left 50px;
		padding: 100px 0 0 0;
	}
	.intRecomBlock {
		width: 500px;
		margin-right: 50px;
		float: none;
	}
	.intRecomLabel {
		font-size: 35px;
	}
	.intRecomText {
		font-size: 25px;
	}
	.intRecomWrapPc {
		display: none;
	}
	.intRecomWrapSp {
		display: block;
	}
	.intListBlock {
		height: 277px;
	}
	.intListBlockText {
		display: none;
	}
	a.intListBtn {
		font-size: 30px;
	}
	a.intTopBtn, a.intRecomBtn {
		width: 110px;
		height: 110px;
	}
	a.intTopBtn {
		bottom: 200px;
	}
	a.intTopBtn::before {
		top: 50px;
		right: 36px;
		width: 32px;
		height: 32px;
	}
	a.intRecomBtn::before {
		top: 30px;
		right: 36px;
		width: 32px;
		height: 32px;
	}
}

/* abouts */
.aboutBanner {
	height: 300px;
	background-image: url(../img/img2023/about_header_bg.jpg);
	background-size: cover;
	background-position: center;
	color: #fff;
	font-size: 20px;
	font-style: italic;
	font-weight: bold;
	text-align: center;
	padding-top: 150px;
}

.aboutBanner h1 {
	font-size: 20px;
}

.priceBanner {
	height: 300px;
	background-image: url(../img/img2023/price_header_bg.jpg);
	background-size: cover;
	background-position: center bottom;
	color: #fff;
	font-size: 20px;
	font-style: italic;
	font-weight: bold;
	text-align: center;
	padding-top: 150px;
}

.priceTitle {
	margin: 0 0 10px 0;
}

.priceTitle img {
	width: 283px;
}

.priceFukidashi {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #1a1a1a;
	margin: 80px 0 20px 0;
}

.priceFukidashi span {
	position: relative;
}

.priceFukidashi span:before, .priceFukidashi span:after {
	content: '';
	position: absolute;
	left: -25px;
	top: -15px;
	width: 40px;
	height: 40px;
	border-left: 2px solid #1a1a1a;
	-webkit-transform: rotate(-25deg);
	transform: rotate(-25deg);
}

.priceFukidashi span:after {
	left: auto;
	right: -25px;
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	border-right: 2px solid #1a1a1a;
	border-left: none;
}

.priceTable {
	background: #fff;
	overflow: hidden;
	margin-top: 100px;
}

.priceTableLeft {
	float: left;
	height: 348px;
	width: 461px;
	color: #fff;
	background: #666666;
	padding: 40px 45px;
	position: relative;
}

.priceTableLeft02 {
	background: #405490;
}

.priceTableTitle {
	margin: 10px 0 0 0;
	padding: 0;
	font-size: 50px;
	line-height: 55px;
}

.priceTablePrice {
	background: #fff;
	color: #666666;
	position: absolute;
	width: 370px;
	bottom: 45px;
	left: 45px;
	border-radius: 10px;
	text-align: center;
	line-height: 50px;
	font-size: 40px;
	padding: 15px 0 0 0;
	font-weight: bold;
}

.priceTablePrice span {
	font-size: 16px;
}

.priceTableRight {
	margin-left: 500px;
}

.priceList {
	list-style: none;
	padding: 14px 45px 0 0;
}

.priceList li {
	background-image: url(../img/img2023/price_check01.svg);
	background-size: 32px 32px;
	background-position: 10px 7px;
	background-repeat: no-repeat;
	padding: 8px 0 12px 60px;
	margin: 10px 0 0 0;
	font-size: 18px;
	border-bottom: 1px solid #b3b3b3;
	color: #666666;
}

.priceList02 li {
	background-image: url(../img/img2023/price_check02.svg);
}

.priceList li:last-child {
	border-bottom: none;
}

@media ( max-width : 1024px) {
	.priceTableLeft {
		width: 50%;
		height: 370px;
	}
	.priceTablePrice {
		width: 75%;
	}
	.priceTableRight {
		margin-left: 52%;
	}
	.priceList li {
		font-size: 16px;
	}
	.priceList {
		padding: 5px 15px 0 0;
	}
}

@media ( max-width : 768px) {
	.priceTableLeft {
		float: none;
		width: auto;
	}
	.priceTableRight {
		margin-left: 0px;
		padding: 10px 30px 10px 30px;
	}
	.priceList {
		padding: 0;
	}
	.priceTablePrice {
		width: 620px;
		padding-left: 50px;
	}
	.priceTableLeft {
		height: 320px;
	}
	.priceList li {
		background-size: 36px 36px;
		background-position: 10px 15px;
		font-size: 30px;
	}
}

/* company */
.companyTitle {
	margin: 0 0 80px 0;
}

.companyTitle img {
	width: 560px;
}

.companyTable {
	clear: both;
	font-size: 18px;
}

.companyTableLeft {
	text-align: right;
	width: 135px;
	padding: 15px 0 10px 0;
	float: left;
	color: #405490;
}

.companyTableRight {
	margin-left: 190px;
	padding: 15px 0 10px 50px;
	border-left: 1px solid #4d4d4d;
}

/* info */
.infoBanner {
	height: 300px;
	background-image: url(../img/img2023/info_header_bg.jpg);
	background-size: cover;
	background-position: center bottom;
	color: #fff;
	font-size: 20px;
	font-style: italic;
	font-weight: bold;
	text-align: center;
	padding-top: 150px;
}

.infoTitle {
	margin-bottom: 50px;
}

.infoTitle img {
	width: 390px;
}

.infoList {
	margin: 0;
	padding: 0;
	list-style: none;
}

.infoList li {
	border-bottom: 1px solid #999999;
	padding: 30px 0;
}

.infoList li:last-child {
	border-bottom: none;
}

.infoKind {
	display: block;
	width: 78px;
	border: 1px solid #666666;
	text-align: center;
	font-size: 10px;
	line-height: 12px;
	padding: 3px 0 2px 0;
	margin-top: 3px;
	float: left;
}

.infoDate {
	display: block;
	width: 80px;
	margin: 0 0 0 25px;
	float: left;
}

.infoText {
	display: block;
	margin-left: 190px;
}

a.infoMoreBtn {
	display: inline-block;
	color: #333333;
	background-image: url("../img/img2023/top_info_more_btn.svg");
	background-size: auto 10px;
	background-repeat: no-repeat;
	background-position: right 5px;
	padding-right: 60px;
	font-weight: bold;
}

@media ( max-width : 768px) {
	.infoKind {
		font-size: 18px;
		width: 120px;
		line-height: 22px;
		margin-top: 11px;
	}
	.infoText {
		margin: 0px;
		clear: both;
	}
}
/* contact */
.contTitle img {
	width: 330px;
}

.contLabel {
	font-size: 16px;
	margin-top: 40px;
}

input[type=text].contInput, input[type=password].contInput, textarea.contArea
	{
	width: 80%;
	border: none;
	box-shadow: none;
	line-height: 40px;
	background: #eceef4;
	border-radius: 10px;
	font-size: 22px;
	padding: 5px 20px;
	outline: none;
}

input[type=text].contInput.maxWidth, input[type=password].contInput.maxWidth
	{
	width: 100%;
}

textarea.contArea {
	line-height: 30px;
	padding: 20px 20px;
}

label.contLabel {
	margin: 10px 0;
}

.contAns {
	font-size: 22px;
	font-weight: bold;
}

input[type=checkbox].contCheck {
	transform: scale(2);
	margin: 16px 0 0 15px;
	vertical-align: top;
}

input[type=submit] {
	-webkit-appearance: none;
	border: 10px solid #405490;
	font-family: '游ゴシック体', '游ゴシック', 'Yu Gothic', YuGothic, "メイリオ", Meiryo,
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ　Ｐゴシック", "MS P Gothic",
		sans-serif;
	color: #405490;
	font-size: 20px;
	text-align: center;
	line-height: 80px;
	font-weight: bold;
	width: 540px;
	background: #fff;
	margin-top: 100px;
}

input[type=submit].marginTopMid {
	margin-top: 50px;
}

input[type=submit]:hover {
	background: #405490;
	color: #fff;
	opacity: 1;
}

.error-message, div#flashMessage {
	font-size: 16px;
	color: #ff0000;
	background: #ffeeee;
	border: none;
	padding: 15px 20px 13px 20px;
	border-radius: 3px;
	box-shadow: none;
	margin-top: 0px;
}

@media ( max-width : 768px) {
	input[type=checkbox].contCheck {
		transform: scale(3);
		margin: 22px 0 0 15px;
	}
	input[type=text].contInput, input[type=password].contInput, textarea.contArea
		{
		width: 100%;
		border: none;
		box-shadow: none;
		line-height: 80px;
		background: #eceef4;
		border-radius: 10px;
		font-size: 22px;
		padding: 5px 20px;
		outline: none;
	}
	.contLabel {
		font-size: 22px;
		margin-top: 80px;
	}
	input[type=submit] {
		font-size: 30px;
	}
}