@charset "utf-8";
/*
Theme Name:株式会社RIGHTS.
Theme URI:https://s-rights.co.jp/
Version: 1.1
Author:エイジェック広報部
Author URI:https://www.agekke.co.jp/
*/
/* ======================================================
/*               ++  Reset CSS  ++
   ======================================================  */
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, address, del, em, img,
small, strong, sub, i,
dl, dt, dd, ol, ul, li, form, label, 
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figcaption, figure, 
footer, header, menu, nav, section, time, mark, audio, video {
	background: transparent;
	border: 0;
	font-size: 100%;
	letter-spacing: 0.05em;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
	word-break: break-all;
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
article,aside,details,figcaption,figure,
footer,header,menu,nav,section {display: block;}
nav, ul {list-style: none;}
a {
	background: transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
del {text-decoration: line-through;} 
table {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	border: 0;   
	border-top: 1px solid #cccccc;
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
}
input, select {vertical-align: middle;}
ul { 
	letter-spacing: -0.5em;
	list-style-type: none;
}
li { letter-spacing: normal;
     list-style-type: none;
}
figure {
	margin: 0!important;
}
/* ======================================================
/*               ++ 共通STYLE ++
   ====================================================== */
html,body {
	color: #333;
	line-height: 1.5;
	text-align: justify;
	text-justify: inter-ideograph;
	width: 100%;
	height: 100%;
	letter-spacing: .05em;
	font-size: 100%;
}
html,body {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
/* --------------------------------------------------- 画面幅 */
.wrap {
	max-width: 1200px;
	margin: 0 auto;
}
.wrap.mini {
	max-width: 980px;
}
@media screen and (min-width: 2500px) {
	.wrap {
			max-width: 2000px;
	}
}
@media screen and (max-width: 1100px) {
	.wrap.mini {
			max-width: 94%;
	}
}
@media screen and (max-width: 1200px) {
	.wrap {
			max-width: 94%;
	}
}
/* --------------------------------------------------- 改行 */
span.p-br {
	display: block;
}
span.m-br {
	display: inline;
}
span.pad-br {
	display: inline;
}
@media screen and (max-width: 1023px) {
	span.pad-br {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	span.p-br {
		display: inline;
	}
	span.m-br {
		display: block;
	}
}
/* --------------------------------------------------- PC/MO　表示切替え */
.m-block {
	display: none;
}
@media screen and (max-width: 767px) {
	.m-block {
		display: block;
	}
	.p-block {
		display: none;
	}
}
/* --------------------------------------------------- コンテンツのpadding */
.interval {
    padding: 100px 0;
}
.interval-top {
    padding: 100px 0 0;
}
.interval-bottom {
    padding:0 0 100px;
}
@media screen and (max-width: 1023px){
	.interval {
    	padding: 50px 0;
	}
	.interval-top {
    	padding: 50px 0 0;
	}
	.interval-bottom {
    	padding: 0 0 50px;
	}
}
@media screen and (max-width: 767px){
	.interval {
    	padding: 30px 0;
	}
	.interval-top {
    	padding: 30px 0 0;
	}
	.interval-bottom {
    	padding: 0 0 30px;
	}
}
/* --------------------------------------------------- Flex 上下左右中央*/
.flex {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 0 auto;
	height: 100%;
	z-index: 100;
}
/* --------------------------------------------------- フロート */
.c-fix:after {
	clear: both;
	content: " ";
	display: block;
}
.left {
	float: left;
}
.right {
	float: right;
}
/* --------------------------------------------------- 横並び */
.ratio > li {
    display: inline-block;
}
.ratio.top > li {
    vertical-align: top;
}
.ratio.middle > li {
    vertical-align: middle;
}
@media screen and (max-width: 767px) {

}
/* --------------------------------------------------- aタグ */
a {
	color: #333;
	text-decoration: none;
	transition: .3s;
}
a.underline {
    padding-bottom: 2px;
    border-bottom: 1px solid;
	color: #004aed;
	margin: 0 5px;
}
.shining:hover {
    box-shadow: 0px 0px 50px 14px rgb(255 255 255 / 20%);
}
.shadow:hover {
    box-shadow: 0px 0px 25px 14px rgb(0 0 0/ 10%);
}
.opa-08:hover {
	opacity: .8;
}
/* ---------------------------------------------------　フォント */
.font-j {
	font-family: 'Josefin Sans', sans-serif;	
}
/* --------------------------------------------------- imgタグ */
img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	vertical-align: bottom;
}
img.db {
	display: block;
}
img.shadow-ccc {
	box-shadow: 0px 0px 14px #cccccc;
}
/* --------------------------------------------------- スライダー */
.slide-items {
  width: 100%;
  height: 100%;
}
.slide-items img {
  width: 100%;
  object-fit: cover;
}
/* --------------------------------------------------- 背景 */
.bg-gray {
	background: #f4f4f4;
}
.bg-square {
	background-image: url('images/bg-square');
	background-position: center center;
    background-repeat: repeat;
}
.bg-dark-blue {
	background: #002049;
}
.bg-01 {
    background-image: url(images/bg-01.png);
    background-position: center center;
    background-repeat: repeat;
}
.bg-gra {
    background: #5ac3e0;
    background: -moz-linear-gradient(left, #5ac3e0 0%, #70ba29 100%);
    background: -webkit-linear-gradient(left, #5ac3e0 0%,#70ba29 100%);
    background: linear-gradient(to right, #5ac3e0 0%,#70ba29 100%);
}
/* --------------------------------------------------- テキスト太さ */
.fw-n {
	font-weight: normal;
}
/* --------------------------------------------------- フォントサイズ */
.el_fs__14 {
	font-size: .875rem;
}
/* --------------------------------------------------- テキストカラー */
.red {
	color: #c8261a;
}
.c-blue {
	color: #00367c;
}
.c-yellow {
	color: #ffc400;
}
.gradation {
    background: #33b4d8;
    background: -webkit-linear-gradient(to left, #33b4d8, #6aa632);
    background: linear-gradient(to left, #33b4d8, #6aa632);
	-webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* --------------------------------------------------- リンクボタン */
.more {
	text-align: center;
	margin: 50px 0 0;
}
.more a {
    display: block;
	max-width: 300px;
    padding: 14px 0;
    font-weight: bold;
    transition: .5s;
	color: #fff;
	background: #5ac3e0;
    background: -moz-linear-gradient(right, #5ac3e0 0%, #70ba29 100%);
    background: -webkit-linear-gradient(right, #5ac3e0 0%,#70ba29 100%);
    background: linear-gradient(to right, #5ac3e0 0%,#70ba29 100%);
	margin: 0 auto;
	letter-spacing: .1em;
    box-shadow: 2px 2px 8px #a1a1a1;
}
.more.en a {
	font-family: 'Josefin Sans', sans-serif;	
}
.more.white a {
	background: #fff;
	color: #6eb92b;
}
.more a:hover {
	background: #33b4d8;
}
.more.white a:hover {
	background: #fff;
	color: #33b4d8;
}
.more a span {
    position: relative;
	letter-spacing: .15em;
}
.more a span::after {
    font-family: FontAwesome;
    content: '\f054';
	color: #fff;
    position: absolute;
    top: -1px;
	right: -24px;
    font-size: 11px;
    transition: .5s;
}
.more.white a span::after {
	color: #6eb92b;	
    top: 0;
}
.more.white a:hover span::after {
	color: #33b4d8;
}
@media screen and (max-width: 767px){
	.more a span {
		letter-spacing: .05em;
	}
	.more {
    		margin: 30px auto 0;
	}
	.thumbnail-title {
		font-size: 1rem;
	}
	.btn-grada a {
    	padding: 18px 6px;
	}
	.btn-grada a span::after {
    	top: 3px;
	}
	.btn-grada a span {
    	letter-spacing: .1em;
    	font-size: 1.125rem;
	}
}
@keyframes slideText100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
	.more-btn {
		margin: 30px 0 0;
	}
	.btnlinestretches {
		width: 90%;
	}
}
/* --------------------------------------------------- タイトル */
.section-title {
	margin: 0 0 30px;
	text-align: center;
}
.section-title .en {
	position: relative;
	display: block;
	font-size: 3rem;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: .1em;
	line-height: 1;
    margin: 0 0 5px;
}
.section-title .ja {
	display: inline-block;
	font-size: 1.25rem;
	border-bottom: 3px solid #33b4d8;
	padding-bottom: 10px;
}
.section-title.green .en {
	color:#6eb92b;
}
.section-title.white {
	color:#fff;
}
.section-title.white .ja {
	border-bottom: 3px solid #fff;
}
@media screen and (max-width: 767px){
	.section-title {
		margin: 0 0 24px;
	}
	.section-title .en {
    	font-size: 2rem;
	}
	.section-title .ja {
		font-size: 1.0625rem;
		padding-bottom: 3px;
	}
}
/*----- テーブル -----*/
table.common {
	background: #fff;
}
table.common th,
table.common td {
	padding: 20px 20px;
	box-sizing:border-box;
}
@media screen and (max-width: 767px) {
	table.common {
    	border: 2px #333 solid;
	}
	table.common th,
	table.common td	 {
		display: block;
		width: 100%;
		padding: 20px 12px;
		border: none;
	}
	table.common td	{
		border-top: none;
		border-bottom: none;
	}
}
/* ======================================================
/*               ++ アニメーション ++
   ====================================================== */
/* ----- 画像ホバー -----*/
figure {
	margin: 0 !important;
}
figure.zoom {
	overflow: hidden;
}
figure.zoom img {
	cursor: pointer;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .8s ease-in-out;
  transition: .8s ease-in-out;
}
figure.zoom:hover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
/*------- 上下に動く -------*/
.fuwafuwa{
  animation: fuwa 2s linear infinite;
}
@keyframes fuwa {
 	0% { transform: translateY(0) }
	25% { transform: translateY(-7px) }
	50% { transform: translateY(-14px) }
	75% { transform: translateY(-7px) }
 	100% { transform: translateY(0) }
}
/*------- 左右にに動く -------*/
.yurayura{
  animation: yura 2s linear infinite;
}
@keyframes yura {
 	0% { transform: translateX(0) }
	25% { transform: translateX(-7px) }
	50% { transform: translateX(-14px) }
	75% { transform: translateX(-7px) }
 	100% { transform: translateX(0) }
}

/* ----- 伸びる枠線 -----*/
.lineTrigger{
	position: relative;
	opacity:0;
}
.lineTrigger.lineanime{
	animation-name:lineAnimeBase;
	animation-duration:.3s;
	animation-fill-mode:forwards;
}
@keyframes lineAnimeBase{
  from {
    opacity:0;
  }
  to {
    opacity:1;  
}
}
.lineTrigger::before,
.lineTrigger::after{
	position: absolute;
	content: '';
	width: 2px;
	height: 2px;
	background: #707070;
}
.line2::before,
.line2::after{
	position: absolute;
	content: '';
	width: 2px;
	height: 0;
	background:#707070;
}
.lineTrigger::before {
	top: -2px;
    left: 0px;
}
.lineTrigger.lineanime::before {
	animation: lineAnime .5s linear 0s forwards;
}
.line2::before{ 
    top: -2px;
    right: -2px;
}
.lineTrigger.lineanime .line2::before {
	animation: lineAnime2 .5s linear .5s forwards;
}
.lineTrigger::after { 
	bottom:0;
	right:-2px;
}
.lineTrigger.lineanime::after {
	animation: lineAnime .5s linear 1s forwards;
}
.line2::after{ 
	bottom:0;
	left:0;
}
.lineTrigger.lineanime .line2::after {
	animation: lineAnime2 .5s linear 1.5s forwards;
}
@keyframes lineAnime {
	0% {width:0%;}
    100%{width:100%;}
}
@keyframes lineAnime2 {
	0% {height:0%;}
    100%{height:100%;}
}
.lineTrigger.lineanime .lineinappear{
	animation: lineInnerAnime .5s linear 1.5s forwards;
	opacity: 0;
}
@keyframes lineInnerAnime{
	0% {opacity:0;}
    100% {opacity:1;}
}
/* ----- 動きのアニメーション -----*/
.slide_l {
	opacity : 0;
	transform: translateX(-30px);
	transition: all 1s;
}
.fadeIn{
animation-name: fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(50px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}
.flipLeftTop{
animation-name: flipLeftTopAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes flipLeftTopAnime{
  from {
   transform: translate(-20px,80px) rotate(-15deg);
 	opacity: 0;
  }

  to {
   transform: translate(0,0) rotate(0deg);
	opacity: 1;
  }
}
.flipRightTop{
animation-name: flipRightTopAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes flipRightTopAnime{
  from {
   transform: translate(-20px,80px) rotate(25deg);
   opacity: 0;
  }
  to {
   transform: translate(0,1) rotate(0deg);
	opacity: 1;
  }
}
.zoomIn{
	animation-name: zoomInAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}
@keyframes zoomInAnime{
  from {
	transform: scale(0.6);
	opacity: 0;
  }
  to {
    transform: scale(1);
	opacity: 1;
  }
}
.fadeUpTrigger,
.zoomInTrigger,
.flipLeftTopTrigger,
.flipRightTopTrigger,
.poyoyonTrigger{
    opacity: 0;
}
.fadeup-box {
	opacity: 0;
}
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on .2s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}

.poyoyon {
  animation: poyoyon 2s ease-in-out forwards;
}
@keyframes poyoyon {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
/* ----- テキストアニメーション -----*/
.text-anime-wrap #text-anime .st0 {
    fill-opacity: 0;
    transition: fill-opacity 2s;
	fill:none;
	stroke:#999;
}
.text-anime-wrap #text-anime.done .st0{
    fill: #c8261a24;
    fill-opacity: 1;
    stroke: none;
  }
.text-anime2-wrap #text-anime2 .st0 {
    fill-opacity: 0;
    transition: fill-opacity 2s;
	fill:none;
	stroke:#999;
}
.text-anime2-wrap #text-anime2.done .st0{
    fill: #00367c26;
    fill-opacity: 1;
    stroke: none;
  }
.text-anime3-wrap #text-anime3 .st0 {
    fill-opacity: 0;
    transition: fill-opacity 2s;
	fill:none;
	stroke:#999;
}
.text-anime3-wrap #text-anime3.done .st0{
    fill: #ffc4002b;
    fill-opacity: 1;
    stroke: none;
  }
.text-anime4-wrap #text-anime4 .st0 {
    fill-opacity: 0;
    transition: fill-opacity 2s;
	fill:none;
	stroke:#999;
}
.text-anime4-wrap #text-anime4.done .st0{
    fill: #E6E6E6;
    fill-opacity: 1;
    stroke: none;
  }
.text-anime6-wrap #text-anime6 .st0,
.text-anime7-wrap #text-anime7 .st0{
    fill-opacity: 0;
    transition: fill-opacity 2s;
	fill:none;
	stroke:#999;
}
.text-anime6-wrap #text-anime6.done .st0,
.text-anime7-wrap #text-anime7.done .st0 {
    fill: #E6E6E6;
    fill-opacity: 1;
    stroke: none;
  }
.text-anime8-wrap #text-anime8 .st0 {
    fill-opacity: 0;
    transition: fill-opacity 2s;
	fill:none;
	stroke:#dcdcde;
}
.text-anime8-wrap #text-anime8.done .st0 {
    fill: #f5f5f5;
    fill-opacity: 1;
    stroke: none;
  }
/* ======================================================
/*            ++ header ++
   ====================================================== */
#top-head {
    position: fixed;
    top: 0;
    left: 0;
    height: 80px;
    width: 100%;
    z-index: 9999;
	background: #fff;
}
#top-head .head-navi {
	position: relative;
}
#top-head .head-navi .top-logo {
	position: absolute;
	top: 15px;
	left: 50px;
}
#top-head .head-navi .top-logo img {
	display: inline-block;
	max-width: 222px;
}
#top-head .head-navi .top-logo img,
#top-head .head-navi .top-logo span {
	vertical-align: middle;
}
#top-head .head-navi .top-logo span {
	margin: 0 0 0 5px;
	font-size: .9375rem;
}
#top-head .head-navi .nav {
    position: absolute;
    top: 0;
    right: 110px;
}
#top-head .head-navi .nav > li.nav-item {
    display: inline-block;
    vertical-align: top;
	padding: 18px;
    text-align: center;
    position: relative;
}
#top-head .head-navi .nav > li.nav-item > a,
#top-head .head-navi .nav > li.nav-item .dd{
	transition: .2s;
}
#top-head .head-navi .nav > li.nav-item > a:hover,
#top-head .head-navi .nav > li.nav-item .dd:hover,
#top-head .head-navi .nav > li.nav-item:hover span.mail:before{
	color: #6eb92b;
}
#top-head .head-navi .nav > li.nav-item span.mail {
	position: relative;
	margin-left: 17px;
}
#top-head .head-navi .nav > li.nav-item span.mail:before {
    font-family: FontAwesome;
    content: '\f0e0';
    position: absolute;
    top: 2px;
    left: -17px;
    color: #333;
    font-size: 12px;
    transition: .2s;
}
#top-head .head-navi .nav > li.nav-item .dd {
	cursor: pointer;
}
#top-head .head-navi .nav > li.nav-item span {
	line-height: 14px;
}
#top-head .head-navi .nav > li.nav-item span.en {
	display: block;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 1.125rem;
	margin: 6px 0 0;
}
#top-head .head-navi .nav > li.nav-item span.ja {
	font-size: .875rem;
	font-weight: bold;
}
#top-head .nav-item .panel {
	width: 160px;
    position: absolute;
    top: 80px;
    left: 50%;
    display: none;
    background: #70ba29;
    z-index: 999;
    padding: 30px 5px 10px;
	transform: translateX(-50%);
}
#top-head .nav-item.open .panel {
	display: block;
}
#top-head .index-list li.index-item {
	display: block;
    vertical-align: top;
	margin: 0 0 20px;
	text-align: center;
	line-height: 1.6em;
}
#top-head .index-item > a {
	color: #fff;
	text-decoration: none;
	display: inline-block;
	position: relative;
	transition: .2s;
	font-weight: bold;
	font-size: .9375rem;
}
#top-head .index-item > a:hover{
	color: #a0e9fd;
}
#top-head .index-item > a span{
	font-size: .875rem;
}
#top-head .index-item > a span span.small_navi {
    font-size: .8rem;
    display: block;
    line-height: 1em;
}
@media screen and (max-width: 1150px) {
	#top-head .head-navi .top-logo img {
    	max-width: 178px;
	}
	#top-head .head-navi .top-logo {
    	left: 15px;
	}
	#top-head .head-navi .nav {
    	right: 90px;
	}
}
@media screen and (max-width: 1024px) {
	#top-head .head-navi .nav {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	#top-head {
    	height: 70px;
	}
}
/*===================================
        ハンバーガーメニュー
===================================*/
#g-nav.panelactive{
    position:fixed;
    z-index: 999;
	top: 0;
	width:100%;
    height: 100vh;
}
.circle-bg{
    position: fixed;
	z-index:998;
    width: 100px;
    height: 100px;
    border-radius: 50%;
	background: #333;
	transform: scale(0);
	top:-50px;
    left:calc(50% - 50px);
    transition: all .4s;
}
.circle-bg.circleactive{
	transform: scale(50);
}
#g-nav-list{
    display: none;
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
#g-nav-list .left{
    position: fixed;
    z-index: 999; 
    width: 30%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
	background: #eee;
	padding:0 80px;
}
#g-nav-list .right {
	width: 70%;
	padding: 30px 60px 100px;
    height: 100vh;
	overflow-y: scroll;
}
#g-nav-list .left .x-logo img {
	max-width: 30px;
	margin: 30px auto 0;
}
#g-nav-list .left .p-oc {
	text-align: center;
	margin: 50px 0 0;
}
#g-nav-list .left .p-oc .link {
    display: inline-block;
    background: #ff9b06;
    width: 80px;
    height: 80px;
    text-align: center;
	vertical-align: top;
	margin: 0 10px 0 0;
}
#g-nav-list .left .p-oc .pamphlet {
	background: #5cc4ff;
}
#g-nav-list .left .p-oc .contact {
	background: #1b499f;
    margin: 0;
}
#g-nav-list .left .p-oc .link .icon:before {
    font-size: 26px;
    font-family: "Font Awesome 5 Free";
    content: '\f1d8';
    color: #fff;
    line-height: 1;
}
#g-nav-list .left .p-oc .link .sent {
    font-size: .75rem;
    color: #fff;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.1em;
    margin: 5px 0 0;
}
#g-nav-list .left .p-oc .link.oc .icon:before {
    content: '\f024';	
}
#g-nav-list .left .p-oc .link.contact .icon:before {
    content: '\f0e0';	
}
#g-nav-list .right .box {
	padding: 20px 0;
	border-bottom: 2px dotted #fff;
}
#g-nav-list .right .box .box-cont {
	padding: 10px 0;
}
#g-nav-list .right .item{
	font-size: 1.25rem;
	letter-spacing: .1em;
}
#g-nav-list .right .box .item{
    color: #6eb92b;
    font-family: 'Josefin Sans', sans-serif;
    letter-spacing: .1em;
	font-weight: bold;
}
#g-nav-list .right .box .child-item a{
	font-size: 1.125rem;
    margin: 0 0 4px;
	color: #33b4d8;
	transition: .4s;
}
#g-nav-list .right .box .item a {
    color:  #6eb92b;
	transition: .4s;
	font-weight: bold;
}
#g-nav-list .right .box .item a:hover {
    color:  #ff7800;	
}
#g-nav .right .box ul li {
	display: inline-block;
	float: left;
}
#g-nav .right .box ul li a {
	display: inline-block;
	letter-spacing: 0.1em;
	font-weight: bold;
	padding: 0 25px 0px 0;
    transition: .3s;
    font-size: .9375rem;
    line-height: 1.7em;
	color: #fff;
}
#g-nav .right .box ul li a:hover,
#g-nav-list .right .box .child-item a:hover {
	color: #82cddd;	
}
#g-nav.panelactive #g-nav-list{
     display: block;
}
#g-nav {
	opacity: 0;
}
#g-nav.panelactive {
    opacity:1;
}
#g-nav.panelactive ul li,
#g-nav-list .right h2,
#g-nav-list .left .p-oc .link {
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.openbtn{
	position:fixed;
    top:0;
	right: 0;    
    z-index: 9999;
	background: #5ac3e0;
    background: -moz-linear-gradient(bottom, #5ac3e0 0%, #70ba29 100%);
    background: -webkit-linear-gradient(bottom, #5ac3e0 0%,#70ba29 100%);
    background: linear-gradient(to bottom, #5ac3e0 0%,#70ba29 100%);
	cursor: pointer;
    width: 80px;
    height:80px;
	overflow: hidden;
}	
.openbtn .openbtn-area{
    transition: all .4s;
}
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
	left: 20%;
    height: 3px;
	background: #fff;
  	width: 60%;
  }
.openbtn span:nth-of-type(1) {
	top:17px;	
}
.openbtn span:nth-of-type(2) {
	top:28px;
}
.openbtn span:nth-of-type(3) {
	top:39px;
}
.openbtn.active .openbtn-area{
	transform: rotateX(360deg);
}
.openbtn.active span:nth-of-type(1) {
    top: 21px;
    left: 21px;
    transform: translateY(6px) rotate(-135deg);
    width: 50%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
    top: 33px;
    left: 21px;
    transform: translateY(-6px) rotate(135deg);
    width: 50%;
}
.openbtn p {
position: absolute;
    border: 0;
    text-align: center;
    bottom: 9px;
    left: 21%;
    letter-spacing: .1em;
    color: #fff;
    font-size: .9375rem;
    font-family: "font2";
}
#g-nav-list .left .logo-wrap {
	text-align: center;
}
#g-nav-list .left .logo-wrap span {
	display: block;
	margin: 6px 0 0;
}
#g-nav-list .left .sns-icon-wrap a {
	display: block;
}
#g-nav-list .right .box .box-cont:last-of-type {
	padding: 10px 0 0;
}
@media screen and (max-width:1200px) {
	#g-nav-list .left,
	#g-nav-list .right {
		width: 100%;
		float: none;
		height: auto;
		position: relative;
	}
	#g-nav-list .left {
		padding: 50px 0;		
	}
	#g-nav-list .left .logo-wrap img {
		max-width: 200px;
		margin: 0 auto;
	}
	#g-nav-list .left .p-oc {
    	margin: 40px 0 0;
	}
}
@media screen and (max-width: 1023px){
	#g-nav-list .right {
    	padding: 16px 30px 50px;
	}
}
@media screen and (max-width: 767px) {
	#g-nav-list .left {
    	padding: 30px 0;
	}
	#g-nav-list .left .x-logo img {
    	max-width: 30px;
    	margin: 14px auto 0;
	}
	#g-nav-list .right {
    	padding: 6px 16px 50px;
	}
	#g-nav-list .right .item {
    	font-size: 1.125rem;
	}
	.openbtn{
    	width: 70px;
    	height: 70px;
	}
	.openbtn span:nth-of-type(1) {
    	top: 15px;
	}
	.openbtn span:nth-of-type(2) {
    	top: 25px;
	}
	.openbtn span:nth-of-type(3) {
    	top: 35px;
	}
	.openbtn p {
		bottom: 6px;
    	left: 13px;
    	letter-spacing: .045em;
    	font-size: .875rem;
	}
	.openbtn span {
    	left: 15px;
    	width: 40px;
	}
	.openbtn.active span:nth-of-type(1),
	.openbtn.active span:nth-of-type(3){
    	top: 24px;
    	left: 17px;
		transform: rotate(135deg);
	}
	.openbtn.active span:nth-of-type(1) {
    	transform: rotate(-135deg);
	}
	#g-nav-list .left .logo-wrap img {
    	max-width: 170px;
	}
	#g-nav-list .right .box .child-item a {
    	font-size: 1.0625rem;
	}
	#g-nav-list .right .box {
    	padding: 16px 0;
	}
}
/* ======================================================
/*                      ++ お問い合わせへのリンク ++
   ====================================================== */
#contact-link {
	background: #5ac3e0;
    background: -moz-linear-gradient(right, #5ac3e0 0%, #70ba29 100%);
    background: -webkit-linear-gradient(right, #5ac3e0 0%,#70ba29 100%);
    background: linear-gradient(to right, #5ac3e0 0%,#70ba29 100%);	
}
#contact-link .ratio {
	margin: 50px 0 0;
}
#contact-link .ratio li {
	width: 50%;
	text-align: center;
}
#contact-link .ratio li .more {
	margin: 0 auto;
}
#contact-link .ratio li .more a span:after {
	content: none;
} 
#contact-link .ratio li .more a span {
	margin-left: 30px;
}
#contact-link .ratio li .more a span:before {
    font-family: FontAwesome;
	content: '\f0e0';
	position: absolute;
	top: -3px;
    left: -30px;
    color: #6eb92b;
    font-size: 18px;
    transition: .5s;
}
#contact-link .ratio li .more a:hover span:before {
	color: #33b4d8;
}
#contact-link .ratio li .tel-number span {
	position: relative;
	font-size: 2.5rem;
	color: #fff;
	font-family: 'Josefin Sans', sans-serif;	
	margin-left: 36px;
}
#contact-link .ratio li .tel-number span:before {
    font-family: FontAwesome;
	content: '\f095';
	position: absolute;
    top: -5px;
    left: -36px;
    color: #fff;
    font-size: 32px;
}
@media screen and (max-width: 767px){
	#contact-link .ratio li {
		display: block;
    	width: 100%;
	}
	#contact-link .ratio {
    	margin: 0;
	}
	#contact-link .ratio li:last-child {
		margin: 20px 0 0;
	}
	#contact-link .ratio li .tel-number span {
    	font-size: 2.25rem;
	}
}
/* ======================================================
/*                      ++ footer ++
   ====================================================== */
footer .footer-link {
	padding: 50px 0 0;
}
footer .footer-link .internal-link {
	padding: 0 0 30px;
}
footer .footer-link .internal-link li {
	display: inline-block;
	vertical-align: top;
	width: 20%;
	margin-left: 2%;
}
footer .footer-link .internal-link li:nth-child(1) {
	width: 34%;
	margin: 0;
	text-align: center;
}
footer .footer-link .internal-link .f-logo img {
	max-width: 250px;
	margin: 0 auto 20px;
}
footer .footer-link .internal-link .address {
	font-size: .875rem;
}
footer .footer-link .internal-link .pp {
	font-size: .875rem;
	margin: 30px 0 0;
}
footer .footer-link .internal-link li h2 {
	color: #6eb92b;	
	font-family: 'Josefin Sans', sans-serif;
    letter-spacing: .1em;
}
footer .footer-link .internal-link li p {
	line-height: 1.5em;
}
footer .footer-link .internal-link li a {
	font-size: .875rem;
	transition: .2s;
}
footer .footer-link .internal-link li a:hover {
	color: #6eb92b;		
}
footer .footer-link .internal-link li .box:nth-of-type(2) {
	margin: 20px 0 0;
}
footer .footer-link .external-link li {
	display: inline-block;
	padding: 0 12px;
	vertical-align: top;
	border-right: 1px solid #333;	
}
footer .footer-link .external-link li:first-child {
	border-left: 1px solid #333;		
}
footer .footer-link .external-link li a {
	font-size: .875rem;
	transition: .5s;
	font-weight: normal;
}
footer .footer-link .external-link {
	padding: 20px 0;
	border-top: 1px solid #ccc;	
	text-align: center;
}
footer .copyright {
	background: #f0f6f8;
	padding: 30px 0;
	text-align: center;
}
footer .copyright .prohibition {
	font-size: .75rem;
}
footer .copyright .copy {
	font-size: .75rem;
	letter-spacing: .1em;
	margin: 8px 0 0;
}
@media screen and (max-width: 1023px) {
	footer .footer-link .internal-link li:nth-child(1) {
    	padding-right: 2%;
	}
	footer .footer-link .internal-link .f-logo img {
    	max-width: 180px;
	}
}
@media screen and (max-width: 767px) {
	footer .footer-link {
    	padding: 30px 0 0;
	}
	footer .footer-link .internal-link li:nth-child(1) {
		display: block;
    	width: 100%;
    	padding-right: 0;
	}
	footer .footer-link .internal-link li:nth-child(2),
	footer .footer-link .internal-link li:nth-child(3),
	footer .footer-link .internal-link li:nth-child(4) {
		display: none;
	}
	footer .footer-link .internal-link .f-logo img {
    	max-width: 240px;
	}
	footer .footer-link .internal-link {
    	padding: 0 0 20px;
	}
	footer .footer-link .internal-link .pp {
    	margin: 16px 0 0;
	}
	footer .footer-link .internal-link li a {
    	font-size: 1rem;
	}
	footer .footer-link .external-link li a {
    	font-size: 1rem;
	}
	footer .footer-link .external-link li {
    	padding: 3px 14px;
    	border-right: none;
	}
	footer .footer-link .external-link li:first-child {
    	border-left: none;
	}
}
/* ======================================================
/*               ++ topスクロール(右下固定) ++
   ====================================================== */
#page-top {
	width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 0;
    background: #33b4d8;
    opacity: 0.7;
    z-index: 999;
}
#page-top a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
#page-top a::before {
	font-family: FontAwesome;
	content: '\f106';
	font-size: 40px;
	color: #fff;
	position: absolute;
	width: 50px;
	height: 50px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
	line-height: 48px;
}
@media screen and (max-width: 767px) {
	#page-top {
    	width: 40px;
    	height: 40px;
	}
	#page-top a {
		width: 40px;
		height: 40px;
	}
	#page-top a::before {
		font-size: 20px;
		width: 20px;
		height: 20px;
		line-height: 1em;
	}
}
/* ======================================================
/*                      ++ ページネーション ++
   ====================================================== */
.pagination{
  list-style-type: none;
  padding-left: 0;
  margin: 30px 0;
}

.pagination,
.pagination li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.pagination a {
  font-weight: 300;
  padding-top: 1px;
  text-decoration:none;
  border: 1px solid #ddd;
  border-left-width: 0;
  min-width:36px;
  min-height:36px;
  color: #333;
}

.pagination li:not([class*="current"]) a:hover {
  background-color: #eee;
}

.pagination li:first-of-type a {
  border-left-width: 1px;
}

.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
  display: inline-block;
  font-family: Fontawesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}

.pagination li.first a::before { content: "\f100"; }
.pagination li.last a::after { content: "\f101"; }

.pagination li.previous a::before { content: "\f104"; }
.pagination li.next a::after { content: "\f105"; }

.pagination li.current a {
 background-color: #ddd;
 cursor: default;
 pointer-events: none;
}

.pagination > li:first-child > a {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

@media only screen and ( max-width: 680px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 500px ) {
  .pagination li {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.current,
  .pagination li.first,
  .pagination li.last,
  .pagination li.previous,
  .pagination li.next{
    position: initial;
    top: initial;
    left: initial;
  }

  .pagination li.previous a { border-left-width: 0; }
}

@media only screen and ( max-width: 400px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 240px ) { /* For watches? */
  .pagination li { width: 50%;}

  .pagination li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px;
  }
}

/* ======================================================
/*               ++ リキャプチャ ++
   ====================================================== */
.grecaptcha-badge { visibility: hidden; }
.recaptcha {
    margin: 10px 0 0;
    font-size: 14px;
    display: inline-block;
}
.recaptcha a {
	margin: 0 5px;
	text-decoration: underline;
}
.recaptcha a:hover {
    color: #626262;
}
@media screen and (max-width: 768px) {
	.recaptcha 	{
		text-align: center;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 767px) {
	.recaptcha 	{
		text-align: left;
		padding: 0 3%;
		margin-bottom: 10px;
	}
}

/* ======================================================
/*               ++ 会社概要 ++
   ====================================================== */
#overview {
	padding: 50px 0 0;
}
.company h2.name {
	position: relative;
	font-size: 2rem;
	margin: 0 0 50px;
	border-left: solid 30px #33b4d8;
	padding: 5px 0 4px 12px;
	line-height: 1;
}
.company h2.name span {
	font-family: 'Josefin Sans', sans-serif;
}
.company table.type-1 th,
.company table.type-1 td {
	float: left;
	display: block;
	padding: 20px 20px;
	box-sizing:border-box;
}
.company table.type-1 th {
	width: 20%;
 border-bottom: 3px solid #5ac3e0;
  border-image: linear-gradient(to right, #5ac3e0 0%,#70ba29 100%);
  border-image-slice: 1;
}
.company table.type-1 tr:first-of-type th {
 border-top: 3px solid #5ac3e0;
  border-image: linear-gradient(to right, #5ac3e0 0%,#70ba29 100%);
  border-image-slice: 1;
}
.company table.type-1 td {
	width: 80%;
 	border-bottom: 3px solid #f5f5f5;
}
.company table.type-1 tr:first-of-type td {
 	border-top: 3px solid #f5f5f5;
}
.company table.type-1 td.position.mo {
	display: none;
}
.company table.type-1 .business h3 {
	display: inline-block;
	margin: 0 10px 0 0;
}
.company table.type-1 .business span {
	display: inline-block;
	font-size: .875rem;
}
.company table.type-1 .business p {
	font-size: .875rem;	
}
.company table.type-1 .business div:not(:first-of-type) {
	margin: 6px 0 0;
}
.company table tr td.office h3 {
	margin: 0 0 3px;
}
.company table tr td.office a {
	color: #66b61c;
	transition: .2s;
	font-weight: bold;
}
.company table tr td.office a:hover {
	color: #515151;
}
.company table tr td.office div:not(:first-of-type) {
	margin: 10px 0 0;
}
/* --------------------------------------------------- 企業理念 */
#philosophy {
	padding: 50px 0 180px;
	position: relative;
	background: rgba(240,248,233,1);
}
#philosophy:before {
    content: "";
    width: 100%;
    height: 50px;
	background: rgba(240,248,233,1);
    position: absolute;
    top: -49px;
    clip-path: polygon(0 0,0% 100%,100% 100%);
    display: block;
    left: 0;
}
#philosophy .box {
	position: relative;
	z-index: 0;
}
#philosophy .box .slider-wrap {
	width: 30%;
	position: relative;
	z-index: 1;
}
#philosophy .box .text-wrap {
	width: 80%;
	position: absolute;
	top: 80px;
	left: 20%;
	background: #fff;
	padding: 70px 50px 70px 15%;
	z-index: 0;
}
#philosophy .box .slider-wrap .slick-prev, 
#philosophy .box .slider-wrap .slick-next {
    width: 30px !important;
	height: 30px !important;
}
#philosophy .box .slider-wrap .slick-prev:before, 
#philosophy .box .slider-wrap .slick-next:before {
    font-size: 30px !important;
}
#philosophy .box .text-wrap h2 {
	font-weight: bold;
	background: -webkit-linear-gradient(right, #5ac3e0 0%,#70ba29 100%);
    background: linear-gradient(to right, #5ac3e0 0%,#70ba29 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 2rem;
	margin: 0 0 30px;
}
#philosophy .box .text-wrap .sent {
	font-size: 1.0625rem;
	line-height: 2em;
	padding: 0 0 0 20px;
}
#history {
	padding: 40px 0 0;
	position: relative;
}
#history:before {
    content: "";
    width: 100%;
    height: 50px;
	background: #fff;
    position: absolute;
    top: -49px;
    clip-path: polygon(0 0,0% 100%,100% 100%);
    display: block;
    left: 0;
}
#service .for-athletes {
	padding: 0 0 50px;
}
#service .for-athletes h3,
#service .for-all h3 {
	position: relative;
	text-align: center;
	z-index: 0;
	padding: 50px 0;
}
#service .for-athletes h3 span.img img,
#service .for-all h3 span.img img {
	display: block;
	max-width: 538px;
	margin: 0 auto;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
	z-index: -1;
}
#service .for-athletes h3 .no,
#service .for-all h3 .no {
	font-size: 2.5rem;
	text-shadow: 0 0 5px #fff;
	color: #6aa632;	
	display: inline-block;
	margin-right: 10px;
	font-family: 'Josefin Sans', sans-serif;
	line-height: 0;
}
#service .for-athletes h3 .text,
#service .for-all h3 .text {
	font-size: 1.5rem;
	text-shadow: 0 0 5px #fff;
	color: #6aa632;
}
#service .for-athletes .desc,
#service .for-all .desc {
	text-align: center;
	line-height: 1.8em;
}
#service .for-all .ratio li:first-child {
	width: 45%;
	margin-right: 10%;
}
#service .for-all .ratio li:last-child {
	width: 45%;
}
#service .for-athletes .ratio .icon{
	display: block;
	max-width: 110px;
	margin: 0 auto 12px;
}
#service .for-athletes .ratio{
    margin: 40px auto 0;
    max-width: 1000px;
}
#service .for-athletes .ratio li:first-child,
#service .for-athletes .ratio li:nth-child(2) {
	width: 32%;
	margin-right: 2%;
}
#service .for-athletes .ratio li:last-child {
	width: 32%;
}
.mark-circle {
	position: relative;
    padding-left: 20px;
	letter-spacing: .05em;
}
.mark-circle::before {
    position: absolute;
    z-index: 2;
    content: '';
	width: 10px;
    height: 10px;
    top: 9px;
    left: 0;
    background: #407d06;
	border-radius: 5px;	
}
#service .for-athletes .ratio li h4{
    font-size: 1.25rem;
    color: #6aa632;
	text-align: center;
	margin: 0 0 8px;
}
#service .for-athletes .ratio li .item p {
	font-size: .9375rem;
	text-align: center;
	line-height: 1.6em;
}
#service .s-contents {
	margin: 36px 0 0;
    background: rgba(240,248,233,1);
    padding: 40px 80px 32px;
}
#service .s-contents h4 {
	margin: 0 0 16px;
	color: #6aa632;
	font-size: 1.25rem;
}
#service .s-contents p {
	line-height: 1.8em;
}
#service .for-all .illustration {
	max-width: 500px;
	margin: 30px auto;
}
#service .for-all .ratio  {
	max-width: 900px;
	margin: 0 auto;
}
#service .for-all .ratio li:first-child {
	width: 48%;
	margin-right: 4%;
	text-align: center;
}
#service .for-all .ratio li:last-child {
	width: 48%;
	text-align: center;
}
#service .for-all .ratio li h4 {
    font-size: 1.25rem;
    color: #14a0c0;
    text-align: center;
    margin: 0 0 8px;
}
#service .for-all .ratio li:last-child h4 {
    color: #f7931e;	
}
#service .for-all .ratio li p {
    font-size: .9375rem;
    line-height: 1.6em;
}
#searchform .box-1,
#searchform .box-2  {
	padding: 50px;
	border: 1px solid #ccc;
}
#searchform .box-2 {
	border-top: none;
}
#searchform .box-1 .desc {
	margin: 0 0 5px;
}
#searchform h2 {
    font-size: 1.5rem;
    margin: 0 0 30px;
    line-height: 1.5em;
	text-align: center;
}
#searchform h3 {
	color: #6eb92b;
	margin: 0 0 10px;
	font-size: 1.125rem;
	letter-spacing: .1em;
}
#searchform .box-1 .ratio li:first-child{
	width: 70%;
	margin-right: 4%;
}
#searchform .box-1 .ratio li:last-child{
	width: 26%;
}
#searchform .box-2 .ratio li{
	margin-bottom: 20px;
	width: 48%;
}
#searchform .box-2 .ratio li:nth-child(2n) {
	margin-left: 4%;
}
#searchform .box-2 .ratio li.free {
	width: 100%;
}
#searchform .ratio li input,
#searchform .ratio li select{
    width: 100%;
    padding: 10px 10px;
    border: 2px solid #a8e76e;
    letter-spacing: .1em;
   border-radius: 5px;	
}
#searchform .search-btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    appearance: none;
    cursor: pointer;
    display: inline-block;
    padding: 14px 60px;
    border: none !important;
    border-radius: 5px;
    font-weight: bold;
    transition: .5s;
    background: #6eb92b;
    color: #fff;
    font-size: 1rem;
}
#searchform .narrow-down {
	text-align: center;
}
.search-page {
	padding: 30px 0 50px;
}
@media screen and (max-width: 1200px) {
	#philosophy {
    	padding: 50px 0 100px;
	}
	#philosophy .box .slider-wrap {
    	width: 20%;
    	float: left;
	}
	#philosophy .box .text-wrap {
    	width: 80%;
    	position: relative;
    	top: 0;
		left: 0;
    	float: right;
		padding: 50px;
	}
}
@media screen and (max-width: 1023px) {
	#service .for-athletes h3 .text, #service .for-all h3 .text {
    	font-size: 1.25rem;
	}
	#service .for-athletes .ratio li:first-child,
	#service .for-athletes .ratio li:nth-child(2) {
    	width: 30%;
    	margin-right: 5%;
	}
	#service .for-athletes .ratio li:last-child {
    	width: 30%;
	}
	#service .for-athletes .ratio li .item p {
		text-align: left;
	}
	#service .s-contents {
    	padding: 40px 40px 32px;
	}
	#philosophy .box .text-wrap h2 {
    	font-size: 1.5rem;
    	margin: 0 0 20px;
	}
	#philosophy .box .text-wrap .sent {
    	font-size: 1rem;
    	line-height: 1.8em;
    	padding: 0;
	}
	.company #rts {
		padding-bottom: 100px;
	}
	.company table.type-1 th,
	.company table.type-1 td {
		padding: 20px 10px;
	}
}
@media screen and (max-width: 767px) {
	#overview {
    	padding: 30px 0 0;
	}
	.company table.type-1 th,
	.company table.type-1 td {
    	float: none;
		width: 100%;
    	padding: 10px 5px;
	}
	.company table.type-1 tr:first-of-type th,
	.company table.type-1 tr:first-of-type td {
    	border-top: none;
	}
	.company table.type-1 td {
		border-bottom: none;
 }
	.company table.type-1 td.position.pc {
		display: none;
	}
	.company table.type-1 td.position.mo {
		display: block;
	}
	.company h2.name {
    	font-size: 1.25rem;
    	margin: 0 0 20px;
    	border-left: solid 10px #33b4d8;
    	padding: 5px 0 4px 8px;
	}
	.company #rts {
		padding-bottom: 50px;
	}
	#philosophy {
    	padding: 10px 0 60px;
	}
	#philosophy .box .slider-wrap {
		float: none;
    	width: 80%;
    	margin: 0 auto;
	}
	#philosophy .box .text-wrap {
		float: none;
		margin-top: -30px;
    	position: static;
    	width: 100%;
		padding: 50px 15px 20px;
	}
	#philosophy .box .text-wrap h2 {
		font-size: 1.5rem;
		margin: 3px 0 13px;
		text-align: center;
	}
	#philosophy .box .text-wrap .sent {
    	font-size: 1rem;
    	line-height: 1.8em;
    	padding: 0;
	}
	#service .for-athletes h3 .text,
	#service .for-all h3 .text {
    	font-size: 1.25rem;
	}
	#service .for-athletes h3 .no,
	#service .for-all h3 .no {
    	font-size: 1.5rem;
    	margin-right: 4px;
	}
	#service .for-athletes h3,
	#service .for-all h3 {
    	padding: 0 0 20px;
	}
	#service .for-athletes .desc, #service .for-all .desc {
    	text-align: left;
    	line-height: 1.7em;
	}
	#service .for-athletes .ratio {
    	margin: 20px auto 0;
	}
	#service .for-athletes .ratio li:first-child,
	#service .for-athletes .ratio li:nth-child(2) {
		display :block;
    	width: 100%;
    	margin: 0 0 30px;
	}
	#service .for-athletes .ratio li:last-child {
		display :block;
    	width: 100%;
	}
	#service .s-contents {
    	margin: 30px 0 0;
    	padding: 30px 14px 18px;
	}
	#service .s-contents h4 {
    	margin: 0 0 8px;
	}
	#service .for-athletes {
    	padding: 0 0 30px;
	}
	#service .for-all .ratio li:first-child,
	#service .for-all .ratio li:last-child {
		display: block;
    	width: 100%;
	}
	#service .for-all .ratio li:first-child {
    	margin: 0 0 20px;
	}
	#service .for-athletes h3 span.img img,
	#service .for-all h3 span.img img {
    	top: 38%;
	}
	#searchform h2 {
    	font-size: 1.125rem;
		margin: 0 0 15px;
	}
	#searchform .box-1, #searchform .box-2 {
    	padding: 30px 10px;
	}
	#searchform .box-2 .ratio li,
	#searchform .box-2 .ratio li:nth-child(2n) {
		display: block;
		width: 100%;
		margin: 0 0 20px;
	}
	#service .for-athletes .ratio li .item p {
			text-align: center;
	}
	#history {
    	padding: 20px 0;
	}
}
