@charset "UTF-8";

/* 基本設定
================================================ */
h2[class] {
	border: 0;
	padding: 0;
	margin: 0;
}
h3[class] {
	border: 0;
	padding: 0;
	margin: 0;
}
p[class] {
  margin: 0;
  font-size: 1.4rem;
	line-height: 1.9;
}
dl,dt,dd {
	margin: 0;
}
.u-view-pc {
	display: none;
}
@media screen and (min-width: 737px) {
	.u-view-sp {
		display: none !important;
	}
	.u-view-pc {
		display: block;
	}
}

/* 共用クラス
================================================ */
.visit-u-inner {
  box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
  padding-right: 15px;
  padding-left: 15px;
}
@media screen and (min-width: 737px) {
	.visit-u-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 30px;
		padding-right: 30px;
		width: 100%;
		max-width: 820px;
	}	
}

/* コンポーネントクラス
================================================ */
.visit-c-head01 {
	color: #6886D0;
	font-size: 2.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.3;
	margin-bottom: 16px !important;
}
@media screen and (min-width: 737px) {
	.visit-c-head01 {
		font-size: 3rem;
	}
}

.visit-c-btn01 {
	margin: 0 auto;
  width: 268px;
}
.visit-c-btn01__link {
  background-color: #6886D0;
  border-radius: 50px;
	box-shadow: 3.5px 3.5px 0 #4A6EC7;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  padding: 13px 16px 11px;
  text-align: center;
  text-decoration: none;
}
.visit-c-btn01__link-txt {
	padding-right: 16px;
	position: relative;
}
.visit-c-btn01__link-txt::after {
	content: '';
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	display: block;
	margin: auto;
	position: absolute;
	top: -3px;
	right: 0;
	bottom: 0;
	transform: rotate(45deg);
	width: 6px;
	height: 6px;
}
@media screen and (min-width: 737px) {
	.visit-c-btn01 {
		width: 505px;
	}
	.visit-c-btn01__link {
		box-shadow: 7px 7px 0 #4A6EC7;
		font-size: 3rem;
		padding: 25px 16px 23px;
		transition: all .3s ease;
	}
	.visit-c-btn01__link:hover {
		box-shadow: none;
		transform: translate(7px,7px);
	}
	.visit-c-btn01__link-txt {
		padding-right: 32px;
	}
	.visit-c-btn01__link-txt::after {
		border-width: 0 4px 4px 0;
		top: -8px;
		width: 16px;
		height: 16px;
	}
}

.visit-c-set01 {
	display: grid;
	gap: 20px;
}
.visit-c-set01 + .visit-c-set01 {
	margin-top: 30px;
}
@media screen and (max-width: 736px) {
	.visit-c-set01__img {
		margin: 0 auto;
		width: fit-content;
	}
}
@media screen and (min-width: 737px) {
	.visit-c-set01 {
		grid-template-columns: 52% 1fr;
		align-items: end;
		gap: 40px;
	}
	.visit-c-set01 + .visit-c-set01 {
		margin-top: 80px;
	}
	.visit-c-set01.is-reverse {
		grid-template-columns: 1fr 52%;
		align-items: start;
	}
	.visit-c-set01.is-reverse .visit-c-set01__img {
		order: 1;
	}
	.visit-c-set01.is-reverse .visit-c-set01__head {
		width: calc(100% + 56px);
	}
}

.visit-c-bg01 {
	position: relative;
}
.visit-c-bg01::before {
	content: '';
	background-color: #D6EFE5;
	position: absolute;
	top: 0;
	left: -10px;
	width: calc(100% + 20px);
	height: 100%;
	z-index: -1;
}

.c-color-kinki { color: #D14C94; }
.c-color-kanto { color: #3972DA; }
.c-color-chubu { color: #40B6AE; }
.c-color-chugoku { color: #DA5E00; }

/* セクションごとのスタイル
================================================ */
/* .visit-intro
================================================ */
.visit-intro {
	margin-top: -10px;
}
.visit-intro__inner {
	padding-top: 44px;
}
.visit-intro__head {
	margin-bottom: 20px;
	text-align: center;
}
.visit-intro__head-lead {
	font-size: 1.6rem !important;
	font-weight: 600;
	line-height: 1.75;
	margin: 0 auto 4px !important;
	padding: 0 12px;
	position: relative;
	width: fit-content;
}
.visit-intro__head-lead::before,
.visit-intro__head-lead::after {
	content: '';
	background-color: currentColor;
	position: absolute;
	bottom: 4px;
	width: 1px;
	height: 24px;
}
.visit-intro__head-lead::before {
	left: 0;
	transform: rotate(-20deg);
}
.visit-intro__head-lead::after {
	right: 0;
	transform: rotate(20deg);
}
.visit-intro__head-main {
	font-size: 3.4rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.4;
}
.visit-intro__pic {
	margin: 14px -25px 20px;
}
.visit-intro__photo {
	margin: 32px -25px 0;
}
@media screen and (min-width: 737px) {
	.visit-intro {
		margin-top: -30px;
	}
	.visit-intro__inner {
		padding-top: 56px;
	}
	.visit-intro__head {
		margin-bottom: 26px;
	}
	.visit-intro__head-lead {
		font-size: 2.2rem !important;
		margin-bottom: 2px !important;
		padding: 0 20px;
	}
	.visit-intro__head-lead::before,
	.visit-intro__head-lead::after {
		bottom: 4px;
		height: 40px;
	}
	.visit-intro__head-main {
		font-size: 5.4rem;
	}
	.visit-intro__pic {
		margin: 30px 0 36px;
		text-align: center;
	}
	.visit-intro__txt {
		margin: 0 auto !important;
		text-align: center;
		width: min(650px, 100%);
	}
	.visit-intro__photo {
		margin: 48px -100px 0;
	}
}

/* .visit-about
================================================ */
.visit-about {
	position: relative;
}
.visit-about::after {
	content: '';
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	right: 15px;
}
.visit-about.is-01 {
	margin-top: 60px;
}
.visit-about.is-01::after {
	background-image: url(/wordpress/wp-content/themes/ymt_juken_orgtheme/img/visit/img_deco01.png);
	top: -22px;
	width: 145px;
	height: 44px;
}
.visit-about.is-02::after {
	background-image: url(/wordpress/wp-content/themes/ymt_juken_orgtheme/img/visit/img_deco03.png);
	top: -19px;
	width: 145px;
	height: 38px;
}
.visit-about__inner {
	padding-top: 58px;
	padding-bottom: 56px;
}
.visit-about__grid {
	display: grid;
	gap: 24px;
	margin-top: 30px;
}
.visit-about__grid-item-img {
	border-radius: 10px;
	margin-bottom: 14px;
	overflow: hidden;
}
.visit-about__grid-item-head {
	color: #6886D0;
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 8px !important;
}
@media screen and (max-width: 736px) {
	.visit-about__grid-item-img {
		margin-right: auto;
		margin-left: auto;
		width: fit-content;
	}
}
@media screen and (min-width: 737px) {
	.visit-about::after {
		right: 92px;
	}
	.visit-about.is-01 {
		margin-top: 150px;
	}
	.visit-about.is-01::after {
		top: -35px;
		width: 236px;
		height: 70px;
	}
	.visit-about.is-02::after {
		top: -34px;
		width: 266px;
		height: 68px;
	}
	.visit-about__inner {
		padding-top: 92px;
		padding-bottom: 76px;
	}
	.visit-about__grid {
		grid-template-columns: repeat(2,1fr);
		gap: 38px 92px;
	}
}

/* .visit-cv
================================================ */
.visit-cv {
	position: relative;
}
.visit-cv::after {
	content: '';
	background: url(/wordpress/wp-content/themes/ymt_juken_orgtheme/img/visit/img_deco02.png) no-repeat center/contain;
	position: absolute;
	top: -36px;
	left: 15px;
	width: 145px;
	height: 48px;
}
.visit-cv__inner {
	padding-top: 50px;
	padding-bottom: 50px;
}
@media screen and (min-width: 737px) {
	.visit-cv::after {
		top: -64px;
		left: 128px;
		width: 248px;
		height: 83px;
	}
	.visit-cv__inner {
		padding-top: 112px;
		padding-bottom: 120px; 
	}
}

/* .visit-area
================================================ */
.visit-area__inner {
	padding-top: 52px;
	padding-bottom: 32px;
}
.visit-area__head {
	border-bottom: 1px solid #6886D0 !important;
	color: #6886D0;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 18px !important;
	padding-bottom: 8px !important;
}
.visit-area__content {
	border-bottom: 1px solid #6886D0;
	display: grid;
	gap: 9px;
	padding-bottom: 32px;
	grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
}
.visit-area__item-head {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 8px !important;
	text-decoration: none;
}
.visit-area__item-head:hover {
	text-decoration: underline;
}
.visit-area__item-list {
	margin-bottom: 17px;
}
.visit-area__item-list-head {
	font-weight: 600;
}
.visit-area__item-list-data + .visit-area__item-list-head {
	margin-top: 6px;
}
.visit-area__item-list-data {
	font-size: 1.3rem;
	line-height: 1.1;
	margin-bottom: 8px;
}
@media screen and (min-width: 737px) {
	.visit-area__inner {
		padding-top: 48px;
		padding-bottom: 80px;
	}
	/* .visit-area__head {
		font-size: 2.6rem;
	} */
	.visit-area__content {
		grid-template-columns: repeat(3,1fr);
		grid-template-rows: auto 1fr;
		gap: 36px;
		padding-bottom: 48px;
	}
	.visit-area__item-list-data {
		font-size: 1.3rem;
		line-height: 1.1;
		margin-bottom: 5px;
	}
	.visit-area__item:nth-child(1),
	.visit-area__item:nth-child(2) {
		grid-row: 1/3;
	}
	.visit-area__item:nth-child(3),
	.vitis-area__item:nth-child(4) {
		grid-column: 3/4;
	}
}