@charset "UTF-8";
/* CSS Document */
/* レスポンシブ共通設定*/
body
{
    color: #33333;
    font-family:
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    width: 100%;
}
h2
{
    border-bottom: 4px;
    border-color: #ef5285;
    border-bottom-style: solid;
    color:#60c5ba;
    font-family: 'Play', sans-serif;
    font-size: 2rem;
    font-weight: 600;
    width: 100%;
}
h3
{
    color: #ef5285;
    font-size: .75rem;
    margin-top: .25rem;
    margin-bottom: 15px;  
}
h4
{
    font-size: 1.25rem;
    font-weight: 700;
    margin: 30px 0;
    text-align: center;
}
p,
li
{
    font-size: .75rem;
    line-height: 2;
    text-align: justify;
}
dl
{
    margin-top: 30px;
}
dd
{
    font-size: .875rem;
    margin:.25rem 0 1.65rem 0;
}
.titleItem
{
    border-bottom: 2px;
    border-color: #ef5285;
    border-bottom-style: solid;
    font-size: .875rem;
    font-weight: 400;
    padding-bottom: .25rem;
    width: 100%;
}
span.annotation
{
    font-size: .75rem;
}
/*ハイライトの枠線を消す*/
a
{
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
*:focus
{
  outline: none;
}
.loop_wrap ul
{
    animation: loop 20s -10s linear infinite both;
    display: flex;
    will-change: transform;
}
.loop_wrap
{
    display: flex;
    width: 100vw;
    overflow: hidden;
}
.viewMore
{
    color: #ef5285;
    display: block;
    font-family: 'Play', sans-serif;
    font-size: 0.75rem;
    margin-top: 15px;
    text-align: right;
}
.viewMore span
{
    padding-left: .25rem;
}
.btnBase
{
    background-color: #60c5ba;
    border-radius: 20px;
    color: white;
    margin-top: 30px;
    padding: 20px;
    position: relative;
    text-align: center;
    z-index: 10;
    width: 100%;
}
.btnBase a
{
    display: block;
    width: 100%;
}
.btnBase span
{
    position: absolute;
    right: 2rem;
}
.readmore
{
    position: relative;
    padding-bottom: 80px;
    width: 100%;
}
.readmore label
{
    position: absolute;
    display: table;
    left: 50%;
    bottom: 0;
    margin: 0 auto;
    width: 100%;
    padding: 20px;
    color: #fff;
    text-align: center;
    border-radius: 20px;
    background-color: #60c5ba;
    transform: translateX(-50%);
    cursor: pointer;
    z-index: 1;
}
.readmore input[type="checkbox"]
{
    display: none;
}
.readmore label::before
{
    content: 'READ MORE';
}
.readmore input[type="checkbox"]:checked ~ label::before
{
    content: 'CLOSE';
}
.readmore label span
{
    position: absolute;
    right: 2rem;
}
.readmore label span::before
{
    content: '＋';
}
.readmore input[type="checkbox"]:checked ~ label span::before
{
    content: 'ー';
}
.readmore-content
{
    position: relative;
    height: 0px;
    overflow: hidden;
}
.readmore input[type="checkbox"]:checked ~ .readmore-content
{
    height: auto;
}
.caution
{
    font-size: .5rem;
}
.movie
{
  width: 100%;
  aspect-ratio: 16 / 9;
}
.movieName
{
    text-align: center;
}
header #global-navi input 
{
  display: none;
}
header .menu-parent
{
  white-space: nowrap;
}
header .menu-parent .pd
{
  display: none;
}
/* ドロップダウンメニュー */
header .menu-parent
{
  position: relative;
}
header .menu-parent .menu-child
{
  visibility: hidden;
  opacity: 0;
  position: absolute;
  margin-left: -40px;
  width: auto;
  box-sizing: border-box;
  padding: 0px 20px;
  background-color: #FFF;
  border: 1px solid #000;
}
/*アニメーション Start*/
@keyframes loop
{
    0%
    {
        transform: translateX(0%);
    }
    100%
    {
        transform: translateX(-100%);
    }
}
@keyframes fade-in
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}
@keyframes border_anim
{
	0%
    {
		height: 0%;
	}
	100%
    {
		height: 100%;
    }
}
/*アニメーション End*/

/*モバイル用（780px以下） Start*/
@media (max-width: 780px)
{
    html
    {
        scroll-padding-top: 60px;
    }
    .hiddenSp
    {
        display: none;
    } 
    #contentsArea
    {
        margin: 0 auto;
        width: 100%;
    }
    /*グローバルナビゲーション設定 Start*/
    header
    {
        background-color: rgba(255,255,255,0.4);
        display: flex;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        height: 70px;
        width: 100%;
        z-index: 9999;
    }
    header #logo
    {
        display: block;
        height: 35px;
        margin: 0 30px 0 0;
		width: 100%;
    }
    header #subNavi
    {
        display: flex;
        align-items: center;
    }
    header #recruitNew
    {
        background-color: #60c4b9;
        border-radius: 20px;
        color: white;
        font-size: .6875rem;
        height: 25px;
        margin-right: 5px;
        line-height: 25px;
        padding: 0 15px;
    }
    header #recruitCareer
    {
        background-color: #ee5284;
        border-radius: 20px;
        color: white;
        font-size: .6875rem;
        height: 25px;
        line-height: 25px;
        padding: 0 15px;
    }
    /*グローバルナビゲーション設定 End*/
    /*ハンバーメニュー Start*/
    header .menu-btn
    {
        margin-top: -20px;
    }
    header .menu-btn span,
    header .menu-btn span:after
    {
        width: 25px;
    }
    header .menu-btn span:before
    {
        font-size: .5rem;
    }
    header #menu-btn-check:checked ~ .menu-btn span::before
    {
        width: 25px;
    }
    /*ハンバーメニュー End*/
    footer
    {
        background-color: #fded7d;
        padding: 20px 40px;
    }
    footer nav li
    {
        text-align: center;
        width: 100%;
    }
    #copyright
    {
        margin-top: 15px;
        text-align: center;
    }
}
/*モバイル用（780px以下） End*/

/*モバイルとタブレット共用（1499px以下）Start*/
@media screen and (max-width:1499px)
{
	/*ハンバーメニュー Start*/
	header .menu
	{
		margin: 0 auto;
		width: 80%;
	}
	header .menu-btn
    {
        position: fixed;
        right: 0px;
        display: flex;
        height: 60px;
        width: 60px;
        justify-content: center;
        z-index: 90;
    }
	header .menu-btn span,
    header .menu-btn span:after
    {
        content: '';
        display: block;
        height: 3px;
        border-radius: 3px;
        background-color: #60c4b9;
        position: absolute;
        transition-property: transform;
        transition-duration: 0.2s;
        transition-timing-function: ease;
    }
	    header .menu-btn span:before
    {
        display: block;
        position: absolute;
    }
    header .menu-btn span:before
    {
        color: #60c4b9;
        content: 'MENU';
    }
	header .menu-btn span:before
    {
        bottom: 8px;
    }
    header .menu-btn span:after
    {
        top: 8px;
    }
    header #menu-btn-check
    {
        display: none;
    }
    header #menu-btn-check:checked ~ .menu-btn span
    {
        background-color: rgba(30, 30, 30, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
	header #menu-btn-check:checked ~ .menu-btn span::before
    {
        content: '';
        background-color: #60c4b9;
        height: 3px;
        border-radius: 3px;
        bottom: 0;
        transform: rotate(45deg);
    }
	header #menu-btn-check:checked ~ .menu-btn span::after
    {
        top: 0;
        transform: rotate(-45deg);
    }
    header .menu-content
    {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        z-index: 80;
        background-color: #fded7d;
        transition: all 0.5s;/*アニメーション設定*/
        transition-timing-function: ease-out;
    }
    header .menu-content #menuTitle
    {
        color: #60c4b9;
        font-size: 2rem;
        margin: 20px 0 0 40px;
    }
    header .menu-content ul
    {
        padding: 15px 0 0 0;
    }
	header .menu-content ul li
    {
        margin: 0 auto;
        text-align: left;
    }
	header .menu-content .onlyLink a
	{
		display: block;
		width: 100%;
	}
    header .menu-content ul li a,
	header .menu-content ul li p
    {
        width: 100%;
        font-size: .825rem;
        box-sizing: border-box;
        color: #60c4b9;
        text-decoration: none;
        position: relative;
    }
	header .menu-content ul li p
	{
		display: inline;
	}
	/* 子メニュー */
	header .menu-child li
	{
		padding: 1rem 0 0 0;
	}
	header .menu-content .menu-child li a
    {
        font-size: 1rem;
    }
	/* 余分な最後の線を消去 */
	header .menu-child li:last-child
	{
		border: none;
	}
    header #menu-btn-check:checked ~ .menu-content
    {
        left: 0;/*メニューを画面内へ*/
	}
	/* スマホの際に V を表示 */
	header .menu-parent .pd
	{
		display: inline-block;
		width: 100%;
	}
	header .menu-parent
	{
		height: auto;
		width: 100%;
		padding: 8px 20px;
		border-bottom: 1px solid #ee5284;
	}
	header .menu-parent a span,
	header .menu-parent p span
	{
		font-size: 1rem;
		padding-right: 1.5rem;
	}
	header .menu-parent:first-child
	{
		border-top: 1px solid #ee5284;
	}
	/* メニューを移動させないため */
	header #menu-btn-check:checked ~ #navi
	{
		position: fixed;
		overflow-y: scroll;
		overflow-x: hidden;
		height: 100%;
	}
	/* 子メニューがクリックされた時 */
	header #navi input[type="checkbox"]:checked ~ .menu-child
	{
		background-color: #fded7d;
		border-top: 1px solid #ee5284;
		border-left: none;
		border-right: none;
		border-bottom: none;
		margin-left: auto;
		left: auto;
		width: auto;
		max-height: inherit;
		overflow-y: visible;
		visibility: visible;
		position: relative;
		padding: 0 20px;
		opacity: 1;
		top: 0;
	}
	header .angletoggle:before
	{
		color: #60c4b9;
		content: "\f107";
		font-size: 1.5rem;
		padding: 0 1rem;

	}
	header #navi input[type="checkbox"]:checked ~ * .angletoggle:before
	{
		color: #60c4b9;
		content: "\f106";
		font-size: 1.5rem;
		padding: 0 1rem;
	}
    /*ハンバーメニュー End*/
}
/*モバイルとタブレット共用（1499px以下）End*/

/*タブレット限定（781px以上、1499px以下 Start*/
@media screen and (min-width:781px) and (max-width:1499px)
{
    /*グローバルナビゲーション設定 Start*/
    header
    {
        background-color: rgba(255,255,255,0.4);
        display: flex;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        height: 100px;
        width: 100%;
        z-index: 9999;
    }
    header #global-navi
    {
        display: flex;
        align-items: center;
    }
    header #subNavi
    {
        display: flex;
        align-items: center;
    }
    header #recruitNew
    {
        background-color: #60c4b9;
        border-radius: 20px;
        color: white;
        font-size: .75rem;
        height: 40px;
        margin-right: 10px;
        line-height: 40px;
        padding: 0 1.25rem;
    }
    header #recruitCareer
    {
        background-color: #ee5284;
        border-radius: 20px;
        color: white;
        font-size: .75rem;
        height: 40px;
        line-height: 40px;
        padding: 0 1.25rem;
    }
    /*グローバルナビゲーション設定 End*/
    /*ハンバーメニュー Start*/
    header .menu-btn
    {
        align-items: center;
        padding-right: 40px;
    }
    header .menu-btn span,
    header .menu-btn span:after
    {
        width: 50px;
    }
    header .menu-btn span:before
    {
        font-size: 1rem;
    }
    header #menu-btn-check:checked ~ .menu-btn span::before
    {
        width: 50px;
    }
    /*ハンバーメニュー End*/
}
/*タブレット限定（781px以上、1499px以下 End*/

/*タブレットとPC兼用（781px以上） Start*/
@media (min-width: 781px)
{
    html
    {
        scroll-padding-top: 100px;
    }
    h2
    {
        font-size: 2.5rem;
    }
    h3
    {
        font-size: 1.25rem;
    }
    .hiddenPc
    {
        display: none;
    }
    #contentsArea
    {
        margin: 0 auto;
        width: 100%;
    }
    .btnBase
    {
        display: block;
        margin: 0 auto;
        width: 100%;
    }
    header
    {
        background-color: rgba(255,255,255,0.4);
        display: flex;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        height: 100px;
        width: 100%;
        z-index: 9999;
    }
    header #logo
    {
        display: block;
        height: 50px;
        margin: 0 50px 0 0;
		width: 100%;
    }
    header #global-navi
    {
        display: flex;
        align-items: center;
    }
    header #subNavi
    {
        display: flex;
        align-items: center;
    }
    header #recruitNew
    {
        background-color: #60c4b9;
        border-radius: 20px;
        color: white;
        font-size: .75rem;
        height: 40px;
        margin:0 10px 0 20px;
        line-height: 40px;
        padding: 0 1.25rem;
    }
    header #recruitCareer
    {
        background-color: #ee5284;
        border-radius: 20px;
        color: white;
        font-size: .75rem;
        height: 40px;
        line-height: 40px;
        padding: 0 1.25rem;
    }
    header #menu-btn-check
    {
        display: none;
    }
    footer
    {
        background-color: #fded7d;
        padding: 20px 40px;
    }
    footer nav ul
    {
        display: flex;
        justify-content:center;
    }
    footer nav li
    {
        margin-right: 1rem;
        text-align: center;
    }
    #copyright
    {
        margin-top: 15px;
        text-align: center;
    }
}
/*タブレットとPC兼用（781px以上、1499px以下） End*/

/*PC限定（1500px以上） Start*/
@media (min-width: 1500px)
{
    .hiddenPc
    {
        display: none;
    }
    #contentsArea
    {
        margin: 0 auto;
        width: 100%;
    }
   /*グローバルナビゲーション設定 Start*/
    header #menuTitle
    {
        display: none;
    }
    header .menu-content .menu
    {
        display: flex;
        justify-content: space-between;
        margin-left: 40px;
    }
    header .menu-content ul li
    {
        margin-right: 2rem;
    }
    header .menu-content ul li a,
	header .menu-content ul li p
    {
		font-size: 1rem;
        font-weight: bold;
	}
	header .recruitMenu .menu-parent span
	{
		display: none;
	}
	header .menu-parent:hover .menu-child
	{
		visibility: visible;
		opacity: 1;
	}
}
/*PC限定（1500px以上） End*/
