@charset "UTF-8";

.ft_min,
.com_heading,
.com_form .tbl_form th,
.m_nav {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
.com_h__en {
	letter-spacing: .075em;
}

.com_title2 h2 {
	max-width: max-content;
	margin-left: 1em;
	background-position: left -1.4em center;
	background-size: auto 130%;
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
/*---------------------------------------------------------
 color
---------------------------------------------------------*/
#skill_up .com_title2 h2 {
	background-color: #004daa;
	background-image: url(../images/dr/index_grd1@2x.png);
}
#support .com_title2 h2 {
	background-color: #2099cb;
	background-image: url(../images/dr/index_grd2@2x.png);
}
#work_style .com_title2 h2 {
	background-color: #FFF;
	background-image: url(../images/dr/index_grd3@2x.png);
	background-position: left -2.4em center;
}

#work_style {
	--workstyle-bg: #4979bc;
}
#guidelines {
	--guidelines-bg: #e1f5f7;
}
.com_form {
	--btn-color: #42c1d0;
}
#entry {
	--entry-bg: #52687d;
}



/*---------------------------------------------------------
 title
---------------------------------------------------------*/
.com_h__en {
	font-size: min(11vw,7.05rem);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_title2 {
    font-size: min(5.2vw, 370%);
}
#guidelines .com_h__en,
#entry .com_h__en {
	font-size: min(10vw,5.88rem);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_h__en {
	font-size: 16vw;
}
.com_title1 .com_h__en {
	font-size: 14vw;
}
}


/* ========================================================
  
  common

======================================================== */
.bg__triangle {
	position: absolute;
	width: 100%;
	height: 84%;
	height: 166vw;
	right: -50%;
	bottom: 0;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	background: linear-gradient(to right, rgba(203,255,82,0.3), rgba(160,206,222,0.3), rgba(35,218,251,0.3));
	opacity: 0;
	z-index: -1;
	transition: opacity 3s, right 3s;
}
.bg__triangle::before {
	position: absolute;
	content: "";
	background: linear-gradient(to top, #FFF, transparent) no-repeat;
	width: 100%;
	height: 300px;
	left: 0;
	bottom: 0;
}
.bg__triangle.anime_on {
	right: 0;
	opacity: 0.7;
}
/* com_flow_txt */
.com_flow_txt {
	width: 100vw;
	display: flex;
	overflow: hidden;
	color: #bdb286;
	font: var(--font-en);
	font-size: min(16vw,1194%);
	letter-spacing: normal;
	white-space: nowrap;
	box-sizing: border-box;
	mix-blend-mode: difference;
}
.com_flow_txt div {
	box-sizing: border-box;
	display: inline-block;
	padding-right: .5em;
}
.com_flow_txt div:nth-child(odd) {
	animation: flowAnm1 50s -25s linear infinite;
}
.com_flow_txt div:nth-child(even) {
	animation: flowAnm2 50s linear infinite;
}
@keyframes flowAnm1 {
	0% {	translate: 100% 0;	}
	100% {	translate: -100% 0;	}
}
@keyframes flowAnm2 {
	0% {	translate: 0 0;	}
	100% {	translate: -200% 0;	}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.bg__triangle {
	height: 90%;
	background: linear-gradient(60deg, rgba(203,255,82,0.3), rgba(160,206,222,0.3), rgba(35,218,251,0.3));
	clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 20%);
	opacity: 0.5;
}
/* com_flow_txt */
.com_flow_txt {
	font-size: 27vw;
}
}

/* ========================================================
  
  nav / header

======================================================== */
.m_nav {
	font-size: min(1.2vw,105%);
}
.m_nav > li {
	border: none;
}
.m_nav > li > a {
	padding: 0 1.2em;
}

header .h_left {
	max-width: 340px;
}
.h_logo {
	width: 31vw;
	max-width: 464px;
}
.h_txt {
	text-align: right;
	margin: 0 6% 5% auto;
}
.h_sitename {
	color: #FFF;
	font-size: min(1.1vw,93%);
	font-weight: var(--fw-bold);
	background-color: #1b58ab;
	border-radius: 2em;
	border: none;
	padding: .3em .8em;
	margin-top: .8em;
}
.h_sitename > span {
	font-size: 127%;
	letter-spacing: .2em;
}

header .h_nav .m_nav_area {
	align-self: flex-end;
	padding-bottom: 5px;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.h_logo {
	width: 62vw;
}
.h_sitename {
	font-size: 2vw;
}
}


/* ========================================================
  
  FV

======================================================== */
.m_img_area {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.m_slider {
	position: absolute;
	width: min(74vw,1110px);
	left: 30%;
	top: 16%;
	z-index: -1;
}
.m_slider .swiper-wrapper,
.m_slider .swiper-slide {
	width: 100%;
	height: 100%;
}

.m_slider .swiper-slide .slide-inner,
.m_slider .swiper-slide .slide-bg {
	width: 100%;
	height: 100%;
	clip-path: polygon(0 0, 52% 0, 100% 100%, 48% 100%);
	overflow: hidden;
}

.m_slider .swiper-slide .slide-bg {
	position: absolute;
	filter: blur(5px);
	inset: 0;
	translate: 52% -36%;
}
.m_slider .swiper-slide .slide-bg::after {
	position: absolute;
	content: "";
	background-color: rgba(0,0,0,0.2);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.m_slider .slide-inner img,
.m_slider .swiper-slide .slide-bg img {
	width: 110%;
	max-width: 110%;
	height: 100%;
	object-fit: cover;
	transform: translate(-5%, 0);
	transition-property: opacity, transform;
	transition-duration: 6s;
}
.m_slider .swiper-slide-active .slide-inner img,
.m_slider .swiper-slide-active .slide-bg img {
	transform: translate(-10%, 0);
	opacity: 1;
}
.m_slider .swiper-slide-active .slide-bg img {
	transition-delay: .5s;
}

/* m_copy */
.m_copy_wrap {
	position: relative;
	width: 48vw;
	box-sizing: border-box;
	margin-left: 5.6%;
	transition: opacity 1s .2s;
	opacity: 0;
}
.m_img_area.anime_on .m_copy_wrap {
	opacity: 1;
}
.m_point {
	width: 100%;
	max-width: 583px;
	margin-top: 8%;
}
.m_point > li {
	box-shadow: 0 0 30px rgba(0,0,0,0.15);
}
.m_img_area .com_flow_txt {
	position: absolute;
	left: 0;
	bottom: .5em;
}
/* background */
.m_img_area .com_bg__color {
	background-image: url(../images/dr/m_bg_grd@2x.png);
	background-size: 100% 100%;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.frontpage .m_img_area {
	height: 85vw;
	max-height: 1120px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	justify-content: flex-end;
	padding-bottom: 20vw;
}
.m_slider {
	width: 126%;
	left: 5%;
	top: 12%;
}
.m_slider .swiper-slide .slide-bg {
	translate: 45% -36%;
}

.m_copy_wrap {
	width: 74%;
}
.m_copy {
	filter: drop-shadow(0 0 8px rgba(255,255,255,1));
	will-change: filter;
}
.m_img_area .com_flow_txt {
	bottom: 0;
}
/* background */
.m_img_area .com_bg__color {
	background-image: url(../images/dr/m_bg_grd_sp@2x.png);
	background-size: 100% 100%;
}
}



/* ========================================================
  
  contents

======================================================== */

/*---------------------------------------------------------
 lead
---------------------------------------------------------*/
.lead_inbox {
	position: relative;
	padding: 5.4% 0 10%;
}
.lead_copy {
	margin-bottom: 5%;
}
.lead_img_list > li {
	position: relative;
	max-width: max-content;
}
.lead_inbox .com_heading {
	font-size: min(7vw,441%);
}

#lead .com_bg__color {
	background-image: url(../images/dr/lead_bg_grd@2x.png);
	background-size: 64% auto;
	background-position: left bottom;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.lead_img_list > li {
	position: absolute;
}
.lead_img_list > li.img1 {
	width: 35vw;
	right: 75%;
	top: 0;
}
.lead_img_list > li.img2 {
	width: 23vw;
	left: 75%;
	top: 30%;
}
.lead_inbox .box_txt {
	width: 50%;
	max-width: 715px;
	margin-inline: auto;
}

#lead .com_bg__color {
	height: calc(100% + min(300px,20vw));
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.lead_inbox {
	padding: 5% 5% 12%;
}
.lead_img_list {
	display: flex;
	margin: 0 auto;
}
.lead_img_list .img1 {
	width: 78%;
}
.lead_img_list .img2 {
	width: 50%;
	margin-top: 12%;
	margin-left: -28%;
}
.lead_inbox .box_txt {
	padding: 0 5%;
}
.lead_inbox .com_heading {
	font-size: 250%;
}
}


/*---------------------------------------------------------
 skill_up
---------------------------------------------------------*/
#skill_up {
	position: relative;
}
#skill_up .bg__triangle {
	bottom: 500px;
}
.skill_inbox {
	margin-bottom: 80px;
}
.skill_inbox:last-of-type {
	margin-bottom: 0;
}
#skill_up .com_title2 .com_h__en {
	line-height: 0.8;
}
/* index */
.skill_index {
	position: relative;
	width: 20em;
	text-align: center;
	color: #FFF;
	font: var(--font-min);
	font-size: min(211%,2.8vw);
	line-height: 1.4;
	letter-spacing: .1em;
	background-color: rgba(0,77,170,0.8);
	box-sizing: border-box;
	padding: .8em 1em;
	margin-bottom: 1em;
}
.skill_index span::before,
.skill_index span::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 1em;
	background-color: rgba(255,255,255,0.8);
	rotate: 45deg;
}
.skill_index span::before {
	translate: -1em -0.6em;
}
.skill_index span::after {
	translate: 1em 0.7em;
}
/* skill_point */
.skill_point {
	position: relative;
	counter-reset: poiCounter;
	width: 95%;
	max-width: 1190px;
	display: grid;
	justify-content: space-between;
	row-gap: 1em;
	grid-template-columns: repeat(4,24%);
	margin-top: 3.6%;
	margin-inline: auto;
}
.skill_point > li {
	counter-increment: poiCounter;
	position: relative;
	height: 7.6em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	font: var(--font-min);
	font-size: min(164%,2.4vw);
	line-height: 1.5;
	letter-spacing: .13em;
	margin-bottom: .5em;
	background-color: #fff;
	box-sizing: border-box;
	padding: 2em 3% 1.4em;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
.skill_point > li span {color: var(--color-main);}
.skill_point > li sup {
	font-size: 60%;
	letter-spacing: normal;
}
.skill_point > li::before {
	position: absolute;
	display: inline-block;
	content: counter(poiCounter, decimal-leading-zero);
	font: var(--font-en);
	font-size: 285%;
	color: rgba(0,0,0,0.1);
	left: .1em;
	top: -0.3em;
}

.skill_inbox:nth-of-type(even) .skill_flex .skill_index {background-color: rgba(32,153,203,0.8);}
.skill_inbox:nth-of-type(even) .skill_point > li span {color: #2099cb;}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#skill_up .com_title2 {
	margin-bottom: -0.5em;
}
/* skill_flex */
.skill_flex {
	display: flex;
	justify-content: space-between;
}
.skill_flex .box_img {
	width: 60%;
}
.skill_flex .box_txt {
	width: 40%;
	margin-top: 3.6%;
}
.skill_flex .box_txt p {
	width: 85%;
	max-width: 435px;
	margin-left: auto;
	margin-right: 3%;
}
.skill_inbox:nth-of-type(even) .skill_flex {
	flex-direction: row-reverse;
}
.skill_inbox:nth-of-type(even) .skill_flex .box_txt p {
	margin-left: 3%;
	margin-right: auto;
}
/* index */
.skill_index {
	left: 50%;
	translate: -50% 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.skill_inbox {
	margin-bottom: 12%;
}
/* skill_flex */
.skill_flex .box_img {
	width: 100%;
	margin-inline: calc(50% - 50vw);
}
/* index */
.skill_index {
	text-align: left;
	font-size: 130%;
	padding-left: 2.2em;
	margin-top: -0.8em;
}
/* skill_point */
.skill_point {
	width: 92%;
	grid-template-columns: repeat(2,48%);
	margin-top: 8%;
}
.skill_point > li {
	font-size: 110%;
}
}


/*---------------------------------------------------------
 support
---------------------------------------------------------*/
.support_flex li {
	border-radius: 0;
}
.support_flex li::before {
	width: 200px;
	height: 200px;
	background-image: radial-gradient(at right bottom, rgba(255,255,255,1), rgba(255,255,255,0) 70%) !important;
	transform: none;
	clip-path: polygon(0 0, 100% 0, 0 100%);
}
.support_flex li .txt strong {
	font-weight: normal;
}
.support_flex li .com_heading {
	font-weight: 400;
}

.support_flex ul li.bg_grn {
	background-color: #55b783;
	background-image: url("../images/dr/support_bg1@2x.jpg");
}
.support_flex ul li.bg_ppl {
	background-color: #7A7898;
	background-image: url("../images/dr/support_bg3@2x.jpg");
}
.support_flex ul li.bg_gry {
	background-color: #8e8e8e;
	background-image: url("../images/dr/support_bg2@2x.jpg");
}
.support_flex ul li.bg_blu {
	background-color: #55a7bf;
	background-image: url("../images/dr/support_bg4@2x.jpg");
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}


/*---------------------------------------------------------
 work_style
---------------------------------------------------------*/
.work_style_bg { padding-top: 0;}
.work_style_bg::before {
	background-image: linear-gradient(to right,  rgba(27,88,171,1) 0%,rgba(27,88,171,0) 100%);
	height: min(32vw,380px);
}
.work_style_tit {color: #bbcde6;}

#work_style .com_h__en {
	text-align: right;
	line-height: 0.82;
	color: #6b92c8;
	margin-right: -0.5em;
}
#work_style .work_deco {color: #a4bcdd;}

.sche_list::before {background-color: #1b58ab;}
.sche_list > li {	background-color: #5f8ac4;}
.sche_list > li dt {
	color: #baffee;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
#work_style .sche_slider .swiper-scrollbar-drag { background-color: #42c1d0;}

#work_style .com_title2 h2 {
	margin-left: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

#work_style .com_title2 {
	margin-bottom: min(12vw,180px);
}
#work_style .career_plan {
	margin-bottom: min(10vw,150px);
}
.work_style_img {
	top: min(16vw,230px);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.work_style_bg::before {
	height: 44vw;
}
}



/*---------------------------------------------------------
 voice
---------------------------------------------------------*/
#voice .note_txt {
	color: #717d8b;
	margin-left: 5%;
	margin-bottom: 5%;
}
/* voice_col2 */
.voice_inbox .box_col2 .box_img {
	max-width: 300px;
	background-color: #fff;
	box-shadow: 20px 20px 20px rgba(0,0,0,0.15);
	border-radius: 0 0 10px 10px;
}
.voice_inbox .box_col2 .box_img figcaption {
	position: relative;
	padding: 2.8em 10% 12%;
}
.voice_inbox .box_col2 .box_img .year {
	position: absolute;
	width: 10.2em;
	text-align: center;
	color: #FFF;
	font-size: 88%;
	line-height: 1.3;
	letter-spacing: .1em;
	font-weight: var(--fw-bold);
	padding: .6em 0;
	background-color: var(--color-main);
	left: 0;
	top: -0.6em;
	clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.voice_inbox .stf_name {
	font: var(--font-min);
	font-size: min(2.4vw,176%);
	letter-spacing: .15em;
	line-height: 1.5;
}
.voice_inbox .com_list.list__dot {
	color: #717d8b;
	font-size: 88%;
	letter-spacing: .08em;
	margin-top: .6em;
}
.voice_inbox .com_heading {
	color: #717d8b;
	font-size: min(3.2vw,205%);
}
/* box_skill */
.voice_inbox .box_skill {
	width: 90%;
	max-width: 1100px;
	font-size: 94%;
	background-color: rgba(66,193,208,0.1);
	box-sizing: border-box;
	padding: 4% 5%;
	border-radius: 10px;
	margin: 5% auto auto;
}
.voice_inbox .box_skill dt {
	color: var(--color-main);
	line-height: 1.6;
	margin-bottom: 1.8em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#voice .com_title1 {
	right: 1.5em;
}
.voice_inbox .box_col2 {
	width: 85%;
	max-width: 950px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.voice_inbox .box_col2 .box_img {
	width: 32%;
}
.voice_inbox .box_col2 .box_txt {
	width: 58%;
	max-width: 550px;
}

.voice_inbox:nth-of-type(even) .box_col2 {
	flex-direction: row-reverse;
	margin-left: auto;
	margin-right: 3.5%;
}
/* box_skill */
.voice_inbox .box_skill.col2 {
	display: flex;
	column-gap: 5%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.voice_inbox {
	padding-left: 4%;
}
.voice_inbox .com_list.list__dot {
	font-size: 75%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#voice .note_txt {
	margin-left: 0;
}
/* voice_col2 */
.voice_inbox .box_col2 .box_img {
	position: relative;
	display: grid;
	grid-template-columns: 50% 50%;
	max-width: 100%;
	border-radius: 0 10px 10px 0;
	margin-bottom: 8%;
}
.voice_inbox .box_col2 .box_img figcaption {
	align-self: center;
	position: static;
	padding: 8% 12%;
}
.voice_inbox .box_col2 .box_img .year {
	font-size: 75%;
	top: auto;
	bottom: -0.8em;
}
.voice_inbox .stf_name {
	font-size: 120%;
}
.voice_inbox .com_list.list__dot {
	font-size: 75%;
	letter-spacing: .02em;
}
.voice_inbox .com_heading {
	font-size: 140%;
}
/* box_skill */
.voice_inbox .box_skill {
	width: 100%;
	font-size: 90%;
	padding: 8% 7%;
	border-radius: 10px;
	margin: 5% auto auto;
}
.voice_inbox .box_skill dl:nth-of-type(n+2) {
	margin-top: 7%;
}
.voice_inbox .box_skill dt {
	margin-bottom: .8em;
}
.voice_inbox .box_skill dd {
	font-size: 80%;
}
}



/*---------------------------------------------------------
 message
---------------------------------------------------------*/
#message .com_bg__color {
	height: calc(100% - min(12vw,180px));
	top: auto;
	bottom: 0;
}
.message_img li:last-child {
	padding-top: 0;
	margin-top: -12%;
}
#message .reki_list {
	color: #717d8b;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.message_img {
	margin-bottom: 7%;
}
#message .com_title1 {
	top: calc(100% + 2em);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message .com_bg__color {
	height: calc(100% - 50vw);
}
.message_img {
	margin-bottom: 6%;
}
}



/*---------------------------------------------------------
 
---------------------------------------------------------*/
.entry_bg {
	background-color: #52687d;
}
#entry .com_h__en {
	color: #7c8c9c;
}
#entry .entry_tel > dt::before{
	background-color: #7c8c9c;
}
#entry .kengaku {
	background-color: #2099cb;
}
#entry .kengaku .property dt span {
	color: #2099cb;
}
.com_form .tbl_form tr:nth-child(odd){
	background-color: #63778a;
}
.com_form .privacy {
	border-color: #c2cad1;
}


/*---------------------------------------------------------
 
---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}