@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
	font-family: BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
}
ins {
    background-color:#fff;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#fff;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}

* {
  box-sizing: border-box;
}
body {
  font-size: 14px;
}

/*共通パーツ*/
@font-face {
  font-family: "genjyu";
  font-style: normal;
  font-weight: 500;
  src: url("/fonts/GenJyuuGothic-Monospace-Medium.eot");
  src: url("/fonts/GenJyuuGothic-Monospace-Medium.eot?#iefix") format("embedded-opentype"), url("/fonts/GenJyuuGothic-Monospace-Medium.ttf") format("truetype"), url("/fonts/GenJyuuGothic-Monospace-Medium.woff") format("woff");
}
@font-face {
  font-family: "genjyu";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/GenJyuuGothic-Monospace-Bold.eot");
  src: url("/fonts/GenJyuuGothic-Monospace-Bold.eot?#iefix") format("embedded-opentype"), url("/fonts/GenJyuuGothic-Monospace-Bold.ttf") format("truetype"), url("/fonts/GenJyuuGothic-Monospace-Bold.woff") format("woff");
}

section h2{
	position: relative; /* 疑似要素の基準点を設定 */
    display: inline-block; /* コンテンツの幅に合わせる */
	font-size: 45px;
    padding: 0 0 20px;
	text-align: center;
}

section h2::after {
	content: ""; /* 疑似要素に内容は不要なので空にする */
    position: absolute;
    bottom: 0; /* 要素の下端に配置 */
    left: 50%; /* 左端から50%の位置に配置して中心を合わせる */
    width: 100px; /* 下線の幅を要素の幅の50%にする */
    border-bottom: solid 6px #D3DE18; /* 下線のスタイルを設定 */
	border-radius: 40px;
    transform: translateX(-50%); /* 幅の50%分だけ左にずらして中心から配置 */
}

section h3{
	font-size: 20px;
    padding: 20px 0;
	display: flex;
    align-items: center;
    justify-content: center;
    height: 75px;
    text-align: center;
    margin: 0;
	line-height: 1.2em;
}

.mb120{
	margin-bottom: 120px;
}

/*ヘッダーエリア*/
.header {
    display: flex;
    justify-content: space-between; /* 左右の要素を画面の端に配置 */
    align-items: center; /* 要素を垂直方向の中央に配置 */
    padding: 10px; /* ヘッダーの左右に少し余白を設ける */
}

.header .logo p{
    font-size: 24px;
    color: #1995AD;
    font-weight: bold;
}

.header .logo br.sp{
	display: none;
  }

.header .contact-link {
    text-decoration: none;
    font-weight: bold;
    color: #333;
    background-color: #fff;
    font-size: 16px;
    text-align: center;
    padding: 5px 15px;
    border-radius: 15px;
    border: solid 1px #D3DE18;
    box-shadow: 0px 3px 0px 0px rgba(211, 222, 24, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* スムーズな遷移効果を追加 */
}

.header .contact-link:hover {
    transform: translateY(4px); /* ボタンを下に少し移動させる */
    box-shadow: 0px 2px 0px 0px rgba(211, 222, 24, 0.5); /* ボタンの影を小さくして沈み込んでいるように見せる */
}

.header .contact-link:before{
	content: url('../images/dg-icon.png');
	margin-right: 5px;
}

.header .contact-link:after{
	content: url('../images/link-icon.svg');
	margin-left: 5px;
}

/*キービジュアルエリア*/
.kv-area {
    width: 100%;
	height: 640px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    background-image: url('../images/kv-pc.png');
    background-size: auto;
    background-position: center; /* 画像の位置を中央に設定 */
    background-repeat: no-repeat; /* 画像の繰り返しを無効に */
}

.kv-content {
    max-width: 1450px; 
    width: 100%;
}

.kv-content .sp-kv {
   display: none;
}

.kv-content h1{
    font-size: 48px;
    color: #FE7A15;
    line-height: 1.5em;
}

.kv-read-area {
    margin-top: 20px;
}

.kv-read-area .kv-read{
    font-size: 24px;
    line-height: 1.4em;
}

.kv-cv-btn {
    display: inline-block;
    background-color: #F8D90F;
    font-size: 32px;
    color: #333333;
    text-align: center;
    padding: 10px 40px;
    margin-top: 30px;
    border-radius: 15px;
    box-shadow: 0px 5px 0px 0px rgba(245, 122, 21, 1);
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* スムーズな遷移効果を追加 */
}

.kv-cv-btn:hover {
    transform: translateY(4px); /* ボタンを下に少し移動させる */
    box-shadow: 0px 2px 0px 0px rgba(245, 122, 21, 0.5); /* ボタンの影を小さくして沈み込んでいるように見せる */
}

.kv-cv-btn .ruby{
    font-size: 40px;
	font-weight: bold;
}

.kv-cv-btn ruby rt {
    font-size: 1em; /* ルビテキストのサイズを小さくする */
    text-align: center; /* ルビテキストを中央揃えにする */
	color: #FE7A15;
}

/*選ばれる理由エリア*/
.rfc {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	padding: 80px 0;
    max-width: 1450px;
    margin: 0 auto;
    width: 100%;
}

.rfc ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 60px 0 0;
    width: 100%;
}

.rfc li {
    flex: 1;
    margin: 0 10px 0;
    max-width: calc(25% - 20px); /* 各要素の最大幅を指定して、一行に4つ表示する。20pxはマージンを考慮 */
	background-color: #e1f5f7;
	padding: 50px 40px;
    border-radius: 15px;
}

.rfc li div {
    text-align: center;
}

.rfc img {
    max-width: 100%;
    height: auto;
}

.rfc .rfc-content .rfc-txt{
	font-size: 15px;
    line-height: 1.8em;
    text-align: left;
}

/*コンバージョンエリア*/
.cv-area{
	background-color: #0191B4;
	padding: 40px 0;
}

.cv {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 1450px;
    margin: 0 auto;
    width: 100%;
}

.cv ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.cv li {
    flex: 1;
    margin: 0 35px 0;
    max-width: calc(33% - 10px); /* 各要素の最大幅を指定して、一行に4つ表示する。20pxはマージンを考慮 */
	padding: 25px;
}

.cv li.homepage {
	
}

.cv .homepage .cv-btn:after{
	content: url('../images/link-icon.svg');
	margin-left: 15px;
}

.cv li.f-registration {
	background-color: #e1f5f7;
	border-radius: 10px;
	background-image: url('../images/f-registration-bg.png');
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
}

.cv li.contact {
	border: solid 2px #F8D90F;
	border-radius: 10px;
}

.cv .contact .cv-btn:after{
	content: url('../images/link-icon.svg');
	margin-left: 15px;
}

.cv li div {
    text-align: center;
}

.cv .cv-content .cv-txt{
	font-size: 20px;
    font-weight: bold;
    color: #fff;
    line-height: 1.4em;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    text-align: center;
    margin: 0;
}

.cv .f-registration .cv-content .cv-txt{
	color: #333;
}

.cv-btn {
    display: inline-block;
    background-color: #fff;
    font-size: 20px;
    font-weight: bold;
    color: #333333;
    text-align: center;
    padding: 20px 40px;
    margin-top: 15px;
    border-radius: 10px;
    box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 25%);
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* スムーズな遷移効果を追加 */
}

.cv-btn:hover {
    transform: translateY(4px); /* ボタンを下に少し移動させる */
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.5); /* ボタンの影を小さくして沈み込んでいるように見せる */
}
.cv .homepage .cv-content .cv-btn,.cv .contact .cv-content .cv-btn{
    background-color: #fff;
    font-size: 20px;
	font-weight: bold;
    color: #333333;
    text-align: center;
    padding: 20px 40px;
    margin-top: 15px;
    border-radius: 10px;
    box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 25%);
	display: flex; /* フレックスコンテナを有効にする */
    align-items: center; /* 縦方向の中央に配置 */
    justify-content: center; /* 横方向の中央に配置 */
}

.cv .f-registration .cv-content .cv-btn{
	background-color: #F8D90F;
    box-shadow: 0px 5px 0px 0px rgba(245, 122, 21, 1);
}

.cv-btn ruby rt {
    font-size: 1em; /* ルビテキストのサイズを小さくする */
    text-align: center; /* ルビテキストを中央揃えにする */
	color: #FE7A15;
}

.cv-btn .ruby{
    font-size: 1.1em;
}

.cv-btn .ruby span{
    font-size: 1em;
}

/*使い方エリア*/
.htu-area{
	background-color: #F1FFEF;
	padding: 120px 0;
	position: relative;
}

.htu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 1450px;
    margin: 0 auto;
    width: 100%;
}

.htu-area img.start-icon{
	position: absolute;
	max-width: 100%;
	top: 0; 
    left: 50%;
    transform: translate(-50%, -50%);
}

.htu img.flow{
    margin-top: 60px;
	max-width: 100%;
}

.htu img.sp-flow{
    display: none;
}

.htu-area .htu br{
    display: none;
}

/*希望にあった働き方エリア*/
.work {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	padding: 90px 0;
    max-width: 1450px;
    margin: 0 auto;
    width: 100%;
}

.work ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 60px 0 0;
    width: 100%;
}

.work li {
    flex: 1;
    margin: 0 10px 0;
    max-width: calc(33% - 10px); /* 各要素の最大幅を指定して、一行に4つ表示する。20pxはマージンを考慮 */
	background-color: #e1f5f7;
	padding: 50px 40px;
    border-radius: 15px;
}

.work li div {
    text-align: center;
}

.work img {
    max-width: 60%;
    height: auto;
}

.work .work-content .profile{
	font-size: 18px;
    line-height: 1.4em;
}

.work .work-content .work-txt{
	font-size: 15px;
    line-height: 1.8em;
    text-align: left;
	margin-top: 20px;
}

/*様々な働き方エリア*/
.recruit-area{
	background-color: #F1FFEF;
	padding: 60px 0 30px;
}

.recruit {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	padding: 80px 0;
    max-width: 1450px;
    margin: 0 auto;
    width: 100%;
}

.recruit ul.recruit-cwrap {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 60px 0 0;
    width: 100%;
}

.recruit li.recruit-cbox {
    flex: 1;
    margin: 0 10px 0;
    max-width: calc(33% - 10px); /* 各要素の最大幅を指定して、一行に4つ表示する。20pxはマージンを考慮 */
	background-color: #fff;
	padding: 20px 30px;
    border-radius: 15px;
}

.recruit li div {
    text-align: center;
}

.recruit img {
    max-width: 100%;
    height: auto;
	margin-top: 15px;
}

.recruit .recruit-content .prefecture{
	font-size: 16px;
    line-height: 1.4em;
	text-align: left;
    width: 40%;
}

.recruit .recruit-content .detail{
	font-size: 16px;
    line-height: 1.8em;
    text-align: left;
	width: 60%;
	padding: 0 0 0 15px;
	border-left: solid 2px #baf1b2;
}

.recruit ul.tag{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0 0 10px;
    margin: 0;
    width: 100%;
	border-bottom: solid 2px #baf1b2;
}

.recruit ul.tag li {
    flex: 1;
    margin: 0 10px 0;
	background-color: #D3DE18;
	padding: 15px;
    border-radius: 5px;
	font-weight: bold;
}

 section .recruit .recruit-cbox h3{
    justify-content: left;
}

.recruit .profile-box {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.footer{
	padding: 60px 0 20px;
	text-align: center;
	background-color: #EDFAFD;
}

.footer .cname{
	font-size: 20px;
	font-weight: bold;
}

.footer .cname2{
	font-size: 36px;
	font-weight: bold;
	color: #2795AD;
	margin-top: 20px;
}

.footer .copyright{
	font-size: 14px;
	margin-top: 60px;
}

/* タブレットサイズ（768px以下） */
@media (max-width: 768px) {

  .rfc ul, .cv ul, .work ul, .recruit ul.recruit-cwrap {
    flex-direction: column; /* 横並びの要素を縦並びに変更 */
  }

  .rfc li, .cv li, .work li, .recruit li.recruit-cbox {
    max-width: 100%; /* 要素の幅を100%に設定してフル幅表示 */
    margin: 20px 0; /* 上下のマージンを調整 */
  }
}

/* モバイルサイズ（480px以下） */
@media (max-width: 480px) {
  .header{
	width: 100%;	
  }
	
  .header .logo{
	width: 45%;
  }
	
  .header .logo img{
	width: 100%;
  }
	
  .header .logo p {
    font-size: 1.4em;
  }
	
  .header .logo br.sp{
	display: block;
  }
	
  .header .contact-link{
	width: 55%;
  }
	
  .header .contact-link:before{
	content: url('../images/dg-icon-sp.png');
	margin-right: 5px;
}

  .header .contact-link:after{
	content: url('../images/link-icon-sp.svg');
	margin-left: 5px;
  }
	
  .kv-area {
    background-image: url('../images/kv-mobile.png'); /* モバイル用の画像に切り替え */
	background-size: cover;
	height: max-content;
  }
	
  .kv-area .kv-content{
	padding-bottom: 40px;
  }
	
  .kv-content .sp-kv {
   display: block;
   margin: 0 auto;
   max-width: 60%;
  }
	
  .kv-content h1{
	font-size: 1.6em;
  }
	
  .kv-read-area{
	text-align: center;	
  }
	
  .kv-read-area .kv-read{
	font-size: 1.2em;
	font-weight: bold;
	text-align: left;
  }
	
  .kv-cv-btn ruby rt{
	font-size: 0.8em;	
  }
	
  .rfc-area,.work{
	margin-top: 40px;
  }

  .rfc ul, .cv ul, .work ul, .recruit ul.recruit-cwrap {
    flex-direction: column; /* コンテンツを縦並びに */
    margin: 20px 0; /* コンテンツ間の余白を設定 */
  }

  .rfc li, .cv li, .work li, .recruit li.recruit-cbox {
    max-width: 100%; /* フル幅表示 */
    margin: 15px 0; /* コンテンツの上下の余白を設定 */
  }
	
  .rfc li,.work li,.recruit li.recruit-cbox{
	padding: 20px 20px;  
  }
	
  .work img{
	max-width: 60%;	
  }

  section h2 {
    font-size: 1.6em; /* フォントサイズをモバイル向けに調整 */
  }
	
  section h3 {
    font-size: 1.4em; /* フォントサイズをモバイル向けに調整 */
  }
	
  .rfc .rfc-content .rfc-txt,.work .work-content .work-txt,.recruit .recruit-content .prefecture,.recruit .recruit-content .detail{
	  font-size: 1.2em;
	}

  .kv-content, .rfc, .cv, .work, .recruit {
    padding: 20px; /* セクションのパディングをモバイル向けに調整 */
  }
	
  .header{
    padding: 10px; /* セクションのパディングをモバイル向けに調整 */
  }

  .header .contact-link, .kv-cv-btn{
    padding: 10px 20px; /* ボタンのパディングを調整 */
    font-size: 16px; /* ボタンのフォントサイズを調整 */
  }
	
  .cv-area{
  	padding: 0 0;		
  }
	
  .cv .homepage .cv-content .cv-btn, .cv .contact .cv-content .cv-btn{
	font-size: 1.4em;
  }
	
  .htu-area{
	padding: 60px 20px;	
  }
	
  .htu-area img.start-icon{
	width: 30%;
    top: -30px;	
  }
	
  .htu img.flow{
    display: none;
  }

  .htu img.sp-flow{
    display: block;
	max-width: 70%;
    margin-top: 7vw;
  }
	
  .recruit ul.tag li{
	font-size: 1em;
  }
	
  .kv-cv-btn .ruby{
	font-size: 1.8em;	
  }
	
  .htu-area .htu br.sp{
	display: block;
  }
	
  .footer{
	padding: 60px 20px 20px;	
  }
}