@charset "UTF-8";

@media screen and (min-width: 768px),print {
/* common link -------------------------------------*/
#greeting .p-link {
	margin-bottom: 76px;
	margin-inline: auto;
	width: min(100%, 1920px);
}

#greeting .l-inner.l-link {
	margin-inline: auto;
	padding: 130px 0 79px;
	width: min(95%, 1080px);
}

#greeting .p-link__items {
	display: grid;
	gap: 0 60px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#greeting .p-link__item a {
	display: inline-block;
}

#greeting .p-link__item a img {
	height: auto;
	margin-bottom: 5px;
	width: 100%;
}

#greeting .p-link__item a p {
	font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	text-align: center;
}

.p-fv {
	margin-bottom: 110px;
}

.p-fv__img {
	margin-bottom: -237px;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 1000px);
}

.p-fv__img img {
	height: auto;
	width: 100%;
}

.p-fv__box {
	background: url(../images/greeting/fv_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	padding: 100px 0 77px;
	width: 100%;
}

.p-fv__box-wrap {
	background: #fff;
	margin-inline: auto;
	padding: 175px 100px 56px;
	width: min(95%, 1200px);
}

.p-fv__box-wrap h2 {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 2;
	margin-bottom: 33px;
	text-align: center;
}

.p-fv__box-wrap div.name {
	align-items: flex-end;
	display: flex;
	gap: 0 26px;
	justify-content: flex-end;
}

.p-fv__box-wrap div.name p.top {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.5625;
}

.p-fv__box-wrap div.name p.name img {
	height: auto;
	width: 170px;
}

.p-message {
	margin-bottom: 32px;
}

.l-inner.l-message {
	margin-inline: auto;
	width: min(95%, 1200px);
}

.p-message__contents {
	display: grid;
	gap: 0 clamp(1rem, -1.6666666667rem + 5.5555555556vw, 5rem);
	grid-template-columns: 53.3333333333% 40%;
}

.p-message__contents-left h2 {
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	margin-bottom: 41px;
}

.p-message__contents-left p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-message__contents-right {
	padding: 89px 0 0;
}

.p-message__contents-right img {
	height: auto;
	width: 100%;
}

.p-message02 {
	margin-bottom: 152px;
}

.l-inner.l-message02 {
	margin: 0;
	margin-right: auto;
	width: min(95%, 1600px);
}

.p-message02__contents {
	align-items: flex-end;
	display: grid;
	grid-template-columns: 57.5% 46.25%;  
}

.p-message02__contents-left img {
	height: auto;
	width: 100%;
}

.p-message02__contents-right {
	background: #fff;
	bottom: -39px;
	left: -60px;
	padding: clamp(1rem, -0.667rem + 3.47vw, 3.5rem) clamp(1rem, -0.833rem + 3.82vw, 3.75rem) clamp(1rem, -1.042rem + 4.25vw, 4.063rem);
	position: relative;
}

.p-message02__contents-right p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	width: min(95%, 560px);
}

.p-message03 {
	margin-bottom: 40px;
}

.l-inner.l-message03 {
	margin-inline: auto;
	width: min(95%, 1200px);
}

.p-message03__contents {
	align-items: center;
	display: grid;
	gap: 0 clamp(1rem, -0.75rem + 3.6458333333vw, 3.625rem);
	grid-template-columns: 53.3333333333% 42%;
}

.p-message03__contents-left {
  position: relative;
  top: -23px;
}

.p-message03__contents-left h2 {
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	margin-bottom: 43px;
}

.p-message03__contents-left p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-message03__contents-right img {
	height: auto;
	width: 100%;
}


}

@media screen and (max-width: 767px) {
#greeting .p-link {
  margin-bottom: 15.986vw;
  margin-inline: auto;
  width: 100%;
}

#greeting .l-inner.l-link {
  margin-inline: auto;
  padding: 17vw 0 12.768vw;
  width: min(95%,92vw);
}

#greeting .p-link__items {
  display: grid;
  gap: 3.797vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

#greeting .p-link__item a {
  display: inline-block;
}

#greeting .p-link__item a img {
  height: auto;
  margin-bottom: 2.865vw;
  width: 100%;
}

#greeting .p-link__item a p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  text-align: center;
}

.p-fv {
  margin-bottom: 14.493vw;
}

.p-fv__img {
  margin-bottom: -35.647vw;
  margin-inline: auto;
  text-align: center;
  width: min(95%,77.2vw);
}

.p-fv__img img {
  height: auto;
  width: 100%;
}

.p-fv__box {
  background: url(../images/greeting/sp_fv_bg.jpg) no-repeat top center/cover;
  margin-inline: auto;
  padding: 16.908vw 0 14.493vw;
  width: 100%;
}

.p-fv__box-wrap {
  background: #fff;
  margin-inline: auto;
  padding: 26.778vw 4.831vw 8.246vw;
  width: min(95%,86.9vw);
}

.p-fv__box-wrap h2 {
  font-size: 5.314vw;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.6363636364;
  margin-bottom: 4.797vw;
  text-align: center;
}

.p-fv__box-wrap div.name {
  align-items: flex-end;
  display: flex;
  gap: 0 2.899vw;
  justify-content: flex-end;
}

.p-fv__box-wrap div.name p.top {
  font-size: 2.657vw;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5454545455;
  position: relative;
  top: 1vw;
}

.p-fv__box-wrap div.name p.name img {
  height: auto;
  width: 23.913vw;
}

.p-message {
  margin-bottom: 14.667vw;
}

.l-inner.l-message {
  margin-inline: auto;
  width: min(95%,86.9vw);
}

.p-message__contents {
  display: grid;
  gap: 6.179vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-message__contents-left {
  order: 2;
}

.p-message__contents-left h2 {
  font-size: 4.831vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.2;
  margin-bottom: 8.111vw;
}

.p-message__contents-left p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.1428571429;
}

.p-message__contents-right {
  order: 1;
}

.p-message__contents-right img {
  height: auto;
  width: 100%;
}

.p-message02 {
  margin-bottom: 15.667vw;
}

.l-inner.l-message02 {
  margin-inline: auto;
  width: min(95%,86.9vw);
}

.p-message02__contents {
  display: grid;
  gap: 8.662vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-message02__contents-left img {
  height: auto;
  width: 100%;
}

.p-message02__contents-right {
  padding: 0;
  position: static;
}

.p-message02__contents-right p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.1428571429;
}

.p-message03 {
  margin-bottom: 4.981vw;
}

.l-inner.l-message03 {

}

.p-message03__contents {
  display: grid;
  gap: 6.179vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-message03__contents-left {
  order: 2;
  width: min(95%,86.9vw);
  margin-inline: auto;
}

.p-message03__contents-left h2 {
  font-size: 4.831vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.2;
  margin-bottom: 7.111vw;
}

.p-message03__contents-left p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.1428571429;
}

.p-message03__contents-right {
  order: 1;
}

.p-message03__contents-right img {
  height: auto;
  width: 100%;
}

}