/*
Theme Name: atteme / Coporate Theme / by FOURTEEN
Theme URI: http://14-fourteen.com
Author: FOURTEEN
Author URI: http://14-fourteen.com
Description: atteme / Coporate Theme / by FOURTEEN
Version: 2017 ver1.0
License: ©FOURTEEN 1989-
License http://14-fourteen.com
*/

/* ==========
	@import / インポート
=================================== */
@import url('https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700');

@font-face { 
	font-family:"IonIcons";
	src:url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1");
	src:url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"),
		url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.ttf?v=2.0.1") format("truetype"),
		url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.woff?v=2.0.1") format("woff"),
		url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg");
	font-weight:normal;
	font-style:normal;
}


/* ==========
	Media Queries / メディアクエリ
=================================== */
/* 781px以上 */
@media screen and (min-width: 781px) {}

/* ==========
	Reset / リセット
=================================== */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup,  menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/* ==========
	Fonta Face / フォント設定
=================================== */

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}

body {
  font-family: Quicksand, "Yu Gothic", YuGothic, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", -apple-system, BlinkMacSystemFont, sans-serif;
}

::selection { background:#FFF365; }
::-moz-selection{ background:#FFF365; }

/* IE10以上 */
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}

/* ==========
	Font　Basic Style / フォント基本スタイル
=================================== */

html { font-size: 62.5%; -webkit-font-smoothing: antialiased;}
body { color: #344055;}

p {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.75;
	font-weight: 700;
}

@media screen and (min-width: 781px) { p { font-size: 16px; font-size: 1.6rem;} }

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	line-height: 1.6;
}

h1 { margin-top: 0; font-size: 48px; font-size: 4.8rem; }
h2 { font-size: 32px; font-size: 3.2rem; }
h3 { font-size: 28px; font-size: 2.8rem; }
h4 { font-size: 24px; font-size: 2.4rem; }
h5 { font-size: 20px; font-size: 2rem; }
h6 { font-size: 16px; font-size: 1.6rem; }

a { color: #344055;}

a:hover { text-decoration: none; }

i { font-style: italic; }

em { font-weight: bold; }

small, .font_small { font-size: 10px; font-size: 1rem; }

blockquote {
	position: relative;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.6;
	padding: 20px 25px 20px 45px;
	border: 1px solid #e1e1e1;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
	margin: 20px 0;
}

blockquote::before {
	content:url(./img/icon/quote.svg);
	width: 14px;
	position: absolute;
	top: 18px;
	left: 20px;
}

ul, ol {}

ul ul, ol ul, ul ol, ol ol{}

table {
    width: 100%;
	box-sizing: border-box;
	border-top: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1;
    border-spacing: 0;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
	overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
	margin: 40px auto;
}

th, td {
    text-align: center;
    padding: 20px;
    border-bottom: 1px solid #e1e1e1;
    border-left: 1px solid #e1e1e1;
}

th { background-color: #344055; color: #fff; }

tr:hover {background-color: rgba(0, 0, 0, 0.01); }

dl { margin-bottom: 40px; }

/* ==========
	Initial Setting / 初期設定
=================================== */

html { width: 100%; height: 100%;}

body{ position: relative;}

#wrap { position: relative; height: 100%; width: 100%;}


.clearfix:after {
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	zoom:1;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		 -o-box-sizing: border-box;
			box-sizing: border-box;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

img { display:block; max-width:100%; height: auto; border:none; line-height: 1; }

.sp { display: block;}
.pc { display: none !important;}

@media screen and (min-width: 781px) {
.sp { display: none;}
.pc { display: block!important;}
}

#loading { position:fixed;
	height:100vh;
	width:100vw;
	background-color:#fff;
	overflow:hidden;
	z-index:9999;
}

/* ==========
	Button Style / ボタンデザイン
=================================== */

/* Button 01
------------------------------ */

.button_01 { text-align: center; padding: 40px 0 0 0;}
.button_01 a {
	display: inline-block;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	padding: 10px 20px;
	border: solid 3px #344055;
	background: #344055;
	text-decoration: none;
	border-radius: 3px;
	transition: all .3s;
}

.button_01 a span { display: block; font-size: 10px; font-size: 1rem; margin-top: 5px;}

@media screen and (min-width: 781px) {
	
.button_01 a:hover { color: #344055; border: solid 3px #344055; background: none; transition: all .3s;}
	
}

/* More Button 02
------------------------------ */

.button_02 { text-align: center; padding: 40px 0 0 0;}

.button_02 p {
	position: relative;
	left: -2px;
	top: -2px;
	display: inline-block;
	line-height: 1;
	text-align: center;
	background: #344055;
	margin: 0 auto;
	z-index: 1;
	border-radius: 3px;
	transition: all .3s;
}

.button_02 p::after {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	border: solid 3px #344055;
	left: 7px;
	top: 7px;
	z-index: -1;
	border-radius: 3px;
	transition: all .3s;
}

.button_02 a{
	display: block;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 20px;
	transition: all .3s;
}


.button_02 span{
	display: block;
	font-size: 10px;
	font-size: 1rem;
	margin-top: 5px;
}

@media screen and (min-width: 781px) {
	
.button_02 p:hover {
	left: 0;
	top: 0;
	background: none;
	transition: all .3s;
}


.button_02 p:hover::after {
	left: 0;
	top: 0;
	background: #fff;
	transition: all .3s;
}

.button_02 p:hover a {
	color: #344055;
	transition: all .3s;
}
}

/* ==========
	Animation / アニメーション
=================================== */

@keyframes titleIn{
	0% { transform: translateY(15px) translateX(-50%) rotate(45deg) scale(0); opacity: 0;}
	100% { transform: translateY(0) translateX(-50%) rotate(0) scale(1); opacity: 1;}
}

@keyframes titleIn2{
	0% { transform: scale(.5); opacity: 0;}
	100% { transform: scale(1); opacity: 1;}
}

@keyframes titleIn3{
	0% { transform: translate(-50%, -50%) scale(0); opacity: 0;}
	100% { transform: translate(-50%, -50%) scale(1); opacity: 1;}
}

@keyframes titleIn4{
	0% { width: 0;}
	100% { width: 92%;}
}

@keyframes titleIn5{
	0% { transform: scale(0); filter: blur(10px); opacity: 0;}
	100% { transform: scale(1); filter: blur(0); opacity: 1;}
}

@keyframes titleIn6 {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@keyframes titleIn7 {
	0% { width: 0;}
	100% { width: 100%;}
}

@keyframes titleIn8 {
	0% {transform: translateY(10px); opacity: 0;}
	100% {transform: translateY(0); opacity: 1;}
}

@keyframes titleIn9 {
	0% {transform: translateY(-10px); opacity: 0;}
	100% {transform: translateY(0); opacity: 1;}
}

@keyframes contentsIn{
	0% { transform: translateY(10px); opacity: 0;}
	100% { transform: translateY(0); opacity: 1;}
}

/* ==========
	Header / ヘッダー
=================================== */

#header{ width: 100%;}

@media screen and (min-width: 781px) {
#header{ position: fixed; z-index: 99}
}

/* Header Top Contents / ヘッダー上部
------------------------------ */

.header_top_contents_wrap {
	width: 100%;
	background: #e73b55;
	border-bottom: solid 1px #fafafa;
}

.header_top_contents {
	width: 100%;
	max-width: 1180px;
	height: 30px;
	overflow: hidden;
	margin: 0 auto;
}
.header_top_contents_left{ padding: 0 10px;}
.header_top_contents_left .site_name h1 {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 30px;
	color: #fff;
}


@media screen and (min-width: 781px) {
	
.header_top_contents { width: 100%;}
	
.header_top_contents_left{
	float: left;
	width: 40%;
	padding: 0;
}
	
.header_top_contents_right{
	float: right;
	text-align: right;
	width: 60%;
	padding: 0;
}
	
.header_top_contents_right_inner {
	display: table;
	margin-left: auto;
	margin-right: 0;
	border-collapse: collapse;
	height: 30px;
}

.header_top_contents_right .request,
.header_top_contents_right .contact,
.header_top_contents_right .sitemap {
	display: table-cell;
	vertical-align: middle;
}
	
.header_top_contents_right .request a,
.header_top_contents_right .contact a,
.header_top_contents_right .sitemap a {
	display: block;
	text-decoration: none;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
	line-height: 30px;
	border-left: solid 1px #fff;
	padding: 0 15px 0 8px;
}
	
.header_top_contents_right .request a:hover,
.header_top_contents_right .contact a:hover,
.header_top_contents_right .sitemap a:hover {
	background: #7ecaea;
	transition: all .5s;
}
	
.header_top_contents_right .request img,
.header_top_contents_right .contact img,
.header_top_contents_right .sitemap img {
	display: inline-block;
	float: left;
	height: 30px;
}

.header_top_contents_right .sns_lsit {
	display: table-cell;
	vertical-align: middle;
	font-size: 0;
}
	
.header_top_contents_right .sns_lsit li {
	display: inline-block;
	line-height: 30px;
	border-left: solid 1px #fff;
	margin: 0;
	padding: 0;
}
	
.header_top_contents_right .sns_lsit li:last-child {
	border-right: solid 1px #fff;
}
	
.header_top_contents_right .sns_lsit li img {
	height: 30px;
}
	
.header_top_contents_right .sns_lsit li a {
	margin: 0;
	padding: 0;
	display: block;
	transition: all .5s;
}
	
.header_top_contents_right .sns_lsit li a.tw:hover { background: #00aced;}
.header_top_contents_right .sns_lsit li a.fb:hover { background: #305097;}
.header_top_contents_right .sns_lsit li a.in:hover { background: #e8b53a;}
	
.header_top_contents_right .sns_lsit li a:hover {
	transform: rotateY(360deg);
	transition: all .5s;
}
}

/* Header Contents / ヘッダーメイン
------------------------------ */

.header_contents_wrap {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	z-index: 101;
	transition: all .5s;
}

.header_contents{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 102;
	background: #fff;
	border-bottom: solid 1px #e1e1e1;
}

.header_contents_inner {
	width: 100%;
	display: table;
	max-width: 1180px;
	margin: 0 auto;
}

.header_logo{
	display: table-cell;
	width: 50%;
	padding: 15px 0 13px 20px;
	vertical-align: middle;
	transition: all .5s;
}

.header_logo img {
	height: 35px;
	vertical-align: middle;
	transition: all .5s;
}

@media screen and (min-width: 781px) {
	
.header_contents_wrap {
	position: relative;
	display: block;
	width: 100%;
	border-bottom: solid 1px #e1e1e1;
	background: #fff;
}
	
#header.scroll .header_contents_wrap {
	position: relative;
	display: block;
	width: 100%;
	border-bottom: solid 1px #e1e1e1;
	background: #fff;
}
	
.header_contents{
	position: static;
	background: none;
	border-bottom: 0;
}


	
.header_logo{
	display: table-cell;
	width: 30%;
	padding: 15px 0 15px 0;
	vertical-align: middle;
	transition: all .5s;
}
	
.header_logo img {
	height: 50px;
	line-height: 100px;
	vertical-align: middle;
	transform: scale(1);
	transition: all .5s;
}
	
#header.scroll .header_logo img { height: 40px; transition: all .5s;}
#header.scroll .header_logo {
	display: table-cell;
	width: 30%;
	padding: 5px 0 5px 0;
	vertical-align: middle;
	transition: all .5s;
}	
	
}

/* Navigation Toggle / メニューボタン
------------------------------ */

.g_nav_toggle{
	position: relative;
	display: table-cell;
	width: 50%;
	vertical-align: middle;
	z-index: 101;
}

@media screen and (min-width: 781px) { .g_nav_toggle{display: none;} }

a.menu-trigger {
	position: absolute;
	top: 22px;
	right: 25px;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	top: 0;
	width: 25px;
	height: 21px;
}

.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #344055;
	border-radius: 3px;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;	
}
.menu-trigger span:nth-of-type(1) { top: 0; }
.menu-trigger span:nth-of-type(2) { top: 9px; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }

.g_nav_toggle.active .menu-trigger{
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

.g_nav_toggle.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
.g_nav_toggle.active .menu-trigger span:nth-of-type(2) {
	-webkit-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}
.g_nav_toggle.active .menu-trigger span:nth-of-type(3) { opacity: 0; }


/* Grobal Navigation / グローバルナビ
------------------------------ */

.g_nav_wrap{
	position: fixed;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 100%;
	background: #fff;
	overflow-y: scroll;
	visibility: hidden;
	transition: all .5s cubic-bezier(.19, 1, .22, 1) .25s;
	z-index: 100;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;	
}

.g_nav_wrap.active{
	top: 0;
	left: 0;
	visibility: visible;
	transition: all 1.5s cubic-bezier(.19, 1, .22, 1) .25s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;	
}

.g_nav_inner {
	padding: 30px 20px 40px;
}

.g_nav_inner h2{
	position: relative;
	top: 0;
	left: 50%;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	opacity: 0;
	transition: all 1s cubic-bezier(.19, 1, .22, 1) .5s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;	
}

.g_nav_wrap.active .g_nav_inner h2{
	top: 0;
	left: 0;
	opacity: 1;
	transition: all 2s cubic-bezier(.19, 1, .22, 1) .5s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}

#g_nav {}
#g_nav ul{ margin-bottom: 20px;}

#g_nav ul li{
	position: relative;
	top: 0;
	left: 10%;
	font-weight: bold;
	opacity: 0;
	margin-top: 10px;
	transition: all 2s cubic-bezier(.19, 1, .22, 1) .5s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}

.g_nav_wrap.active #g_nav ul li:nth-child(1){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) .5s;}
.g_nav_wrap.active #g_nav ul li:nth-child(2){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) .6s;}
.g_nav_wrap.active #g_nav ul li:nth-child(3){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) .7s;}
.g_nav_wrap.active #g_nav ul li:nth-child(4){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) .8s;}
.g_nav_wrap.active #g_nav ul li:nth-child(5){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) .9s;}

.g_nav_wrap.active #g_nav ul ul li:nth-child(1){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) .9s;}
.g_nav_wrap.active #g_nav ul ul li:nth-child(2){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) 1s;}
.g_nav_wrap.active #g_nav ul ul li:nth-child(3){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) 1.1s;}
.g_nav_wrap.active #g_nav ul ul li:nth-child(4){ top: 0; left: 0; opacity: 1; transition: all 2s cubic-bezier(.19, 1, .22, 1) 1.2s;}

#g_nav ul .g_nav_about a::before,
#g_nav ul .g_nav_service a::before,
#g_nav ul .g_nav_internship a::before,
#g_nav ul .g_nav_topics a::before,
#g_nav ul .g_nav_method a::before {
	content: '';
	display: inline-block;
	width: 28px;
	height: 28px;
	background-size: cover;
	background-position: center center;
	vertical-align: bottom;
	margin-right: 3px;
}

#g_nav ul li a {
	text-decoration: none;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 28px;
	vertical-align: bottom;
}

#g_nav ul li a span{
	display: inline;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin-left: 5px;
	line-height: 28px;
	vertical-align: bottom;
}

#g_nav ul li a span::before { content: '/'; margin-right: 5px;}

#g_nav ul .g_nav_about a { color: #509798;}
#g_nav ul .g_nav_service a { color: #e8b53a;}
#g_nav ul .g_nav_internship a { color: #7ecaea;}
#g_nav ul .g_nav_topics a { color: #e73b55;}
#g_nav ul .g_nav_method a { color: #344055;}

#g_nav ul .g_nav_about a::before { background: url(./img/icon/about_icon.svg);}
#g_nav ul .g_nav_service a::before { background: url(./img/icon/service_icon.svg);}
#g_nav ul .g_nav_internship a::before { background: url(img/icon/internship_icon.svg);}
#g_nav ul .g_nav_topics a::before { background: url(./img/icon/topics_icon.svg);}
#g_nav ul .g_nav_method a::before { background: url(./img/icon/method_icon.svg);}

#g_nav ul ul {
	margin-left: 18px;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
}

#g_nav ul ul li { position: relative; margin-top: 7px;}
#g_nav ul ul li:first-child { margin-top: 10px;}

#g_nav ul ul li a {
	text-decoration: none;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: normal;
}

#g_nav ul ul li a span{
	line-height: normal;
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
}

#g_nav ul ul li a::before { }

#g_nav ul .g_nav_about ul li a,
#g_nav ul .g_nav_service ul li a,
#g_nav ul .g_nav_internship ul li a,
#g_nav ul .g_nav_topics ul li a,
#g_nav ul .g_nav_method ul li a { color: #344055;}

#g_nav ul .g_nav_about ul li a::before,
#g_nav ul .g_nav_service ul li a::before,
#g_nav ul .g_nav_internship ul li a::before,
#g_nav ul .g_nav_topics ul li a::before,
#g_nav ul .g_nav_method ul li a::before {
	content: '-';
	display: inline-block;
	width: auto;
	height: auto;
	background: none;
	background-size: auto;
	background-position: center center;
	vertical-align: inherit;
	margin-right: 5px;
}

@media screen and (min-width: 781px) {
	
.g_nav_wrap{
	display: table-cell;
	position: relative;
	width: 70%;
	height: auto;
	top: 0;
	left: 0;
	background: #fff;
	overflow-y: inherit;
	visibility: visible;
}
	
.g_nav_inner { padding: 0;}
	
#g_nav { position: relative; border-bottom: none; z-index: 100;}
#g_nav ul{
	display: table;
	height: 100px;
	text-align: center;	
	margin-left: auto;
	margin-right: 0;
	margin-bottom: 0;
	transition: all .5s;
}

#header.scroll #g_nav ul { height: auto; transition: all .5s;}
	
#g_nav ul li{
	position: relative;
	width: 150px;
	height: 100%;
	display: table-cell;
	vertical-align: middle;
	top: 0;
	left: 0;
	opacity: 1;
	margin-top: 0;
	background: #fff;
	border-left: solid 1px #fafafa;
	transition: all .5s;
}
			
#g_nav ul li:last-child{ border-right: solid 1px #fafafa;}

#g_nav ul .g_nav_about a::before,
#g_nav ul .g_nav_service a::before,
#g_nav ul .g_nav_internship a::before,
#g_nav ul .g_nav_topics a::before,
#g_nav ul .g_nav_method a::before {
	position: relative;
	content: '';
	display: block;
	width: 40px;
	height: 40px;
	background-size: cover;
	background-position: center center;
	vertical-align: baseline;
	margin-right: 0;
	margin: 0 auto;
	transition: all .5s;
	z-index: 5;
}
	
#header.scroll #g_nav ul .g_nav_about a::before,
#header.scroll #g_nav ul .g_nav_service a::before,
#header.scroll #g_nav ul .g_nav_internship a::before,
#header.scroll #g_nav ul .g_nav_topics a::before,
#header.scroll #g_nav ul .g_nav_method a::before { width: 0; height: 0; transition: all .5s;}

#g_nav ul li > a {
	display: block;
	text-decoration: none;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	vertical-align: baseline;
	padding: 15px 0;
	transition: all .5s;
}
	
#header.scroll #g_nav ul li a {
	font-size: 18px;
	font-size: 1.8rem;
	transition: all .5s;
}
	
#g_nav ul .g_nav_about a,
#g_nav ul .g_nav_service a,
#g_nav ul .g_nav_internship a,
#g_nav ul .g_nav_topics a,
#g_nav ul .g_nav_method a { color: #344055;}
	
#g_nav ul li:hover > a{ color: #fff; background: #e73b55; transition: all .5s;}
		
#g_nav ul .g_nav_about:hover a::before { background: url(./img/icon/about_w_icon.svg); transition: all .5s;}
#g_nav ul .g_nav_service:hover a::before { background: url(./img/icon/service_w_icon.svg); transition: all .5s;}
#g_nav ul .g_nav_internship:hover a::before { background: url(img/icon/internship_w_icon.svg); transition: all .5s;}
#g_nav ul .g_nav_topics:hover a::before { background: url(./img/icon/topics_w_icon.svg); transition: all .5s;}
#g_nav ul .g_nav_method:hover a::before { background: url(./img/icon/method_w_icon.svg); transition: all .5s;}
	
#g_nav ul .g_nav_about:hover a::before,
#g_nav ul .g_nav_service:hover a::before,
#g_nav ul .g_nav_internship:hover a::before,
#g_nav ul .g_nav_topics:hover a::before,
#g_nav ul .g_nav_method:hover a::before { transform: rotateY(360deg);}
	
#g_nav ul li > a.current { color: #fff;}
#g_nav ul li.g_nav_about > a.current { background: #509798;}
#g_nav ul li.g_nav_service > a.current { background: #e8b53a;}
#g_nav ul li.g_nav_internship > a.current { background: #7ecaea;}
#g_nav ul li.g_nav_topics > a.current { background: #e73b55;}
#g_nav ul li.g_nav_method > a.current { background: #344055;}

#g_nav ul li.g_nav_about > a.current::before { background: url(./img/icon/about_w_icon.svg);}
#g_nav ul li.g_nav_service > a.current::before { background: url(./img/icon/service_w_icon.svg);}
#g_nav ul li.g_nav_internship > a.current::before { background: url(img/icon/internship_w_icon.svg);}
#g_nav ul li.g_nav_topics > a.current::before { background: url(./img/icon/topics_w_icon.svg);}
#g_nav ul li.g_nav_method > a.current::before { background: url(./img/icon/method_w_icon.svg);}
	
	
#g_nav ul li a span{
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	margin-left: 0;
	margin-top: 3px;
	vertical-align: baseline;
}
	
#g_nav ul li a span::before { content: ''; margin-right: 0;}	
	
#g_nav ul ul {
	width: 150%;
	height: auto;
	position: absolute;
	margin-left: 0;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	background: #fff;
	border-right: solid 1px #e1e1e1;
	border-left: solid 1px #e1e1e1;
	border-bottom: solid 1px #e1e1e1;
	visibility: hidden;
	top: 110%;
	right: -25%;
	opacity: 0;
	margin: 1px 0 0;
	padding: 0;
	z-index: 0;
	transition: all .5s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;	
}
			
#g_nav ul li:hover ul {
	visibility: visible;
	top: 100%;
	opacity: 1;
	transition: all .5s;
	z-index: 100;
}

#g_nav ul ul li {
	width: auto;
	margin-top: 0;
	display: block;
	border-bottom: solid 1px #e1e1e1;
	border-left: 0;
	}
	
#g_nav ul ul li:first-child { margin: 0; padding: 0;}
#g_nav ul ul li:last-child { margin: 0; padding: 0; border: 0; }

#g_nav ul ul li > a {
	display: block;
	text-decoration: none;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #344055;
	background: #fff;
	letter-spacing: normal;
	line-height: 1;
	padding: 15px 0;
}
	
#g_nav ul ul li a:hover { color: #fff; background: #e73b55;}
	
#g_nav ul .g_nav_about ul li a::before,
#g_nav ul .g_nav_service ul li a::before,
#g_nav ul .g_nav_internship ul li a::before,
#g_nav ul .g_nav_topics ul li a::before,
#g_nav ul .g_nav_method ul li a::before { content: none;}
	
#header.scroll #g_nav ul ul li a{
	font-size: 14px;
	font-size: 1.4rem;
}

#g_nav ul ul li a span{
	line-height: 1;
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
}

#g_nav ul ul li a::before { content: ''; margin-right: 0;}
	
}

.g_nav_sub_contents {
	width: 100%;
	position: relative;
	left: 0;
	top: 100px;
	opacity: 0;
	transition: all 1s cubic-bezier(.19, 1, .22, 1) .5s;
}

.g_nav_wrap.active .g_nav_sub_contents {
	left: 0;
	top: 0;
	opacity: 1;
	transition: all 2.5s cubic-bezier(.19, 1, .22, 1) 1.25s;
}

.g_nav_sub_contents_inner {
	display: table;
	width: 100%;
	padding: 7px 0;
	border-bottom: solid 1px #e1e1e1;
	border-top: solid 1px #e1e1e1;
}

.g_nav_sub_contents_inner .request,
.g_nav_sub_contents_inner .contact,
.g_nav_sub_contents_inner .sitemap {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 30%;
}

.g_nav_sub_contents_inner .request,
.g_nav_sub_contents_inner .contact {
	border-right: solid 1px #e1e1e1;
}

.g_nav_sub_contents_inner {display: table; width: 100%;}
.g_nav_sub_contents_inner .request img,
.g_nav_sub_contents_inner .contact img,
.g_nav_sub_contents_inner .sitemap img{
	display: inline-block;
	float: left;
	height: 25px;
}

.g_nav_sub_contents_inner .request a,
.g_nav_sub_contents_inner .contact a,
.g_nav_sub_contents_inner .sitemap a {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 27px;
}

.g_nav_sub_contents ul.sns_lsit { width: 100%; text-align: center; padding: 10px 0;}
.g_nav_sub_contents ul.sns_lsit li{ display: inline-block; padding: 0 5px;}
.g_nav_sub_contents ul.sns_lsit li img{ height: 35px;}


/* ==========
	Main Contents Style / メインコンテンツ
=================================== */

#container{ width: 100%; height: auto;}
.main_contents{ position: relative;}
.main_contents_inner{ position: relative;}

/* ==========
	Visual Contents Style / ヴィジュアルコンテンツ
=================================== */

.top_visual_wrap{ position: relative; z-index: 0;}
.top_visual_contents{ padding-top: 60px;}
.top_visual_slide{ position: relative; height: 47vh; width: 100vw;}

.top_visual_inner{
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.top_visual_inner img{
	width: 175px;
	height: auto;
	animation: jump 3s ease infinite;
}

@keyframes jump {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-5px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-5px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

@media screen and (min-width: 781px) {
.top_visual_contents{ padding-top: 0;}
.top_visual_slide{ position: relative; height: 100vh; width: 100vw;}
.top_visual_inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}	
.top_visual_inner img{
	width: 300px;
	height: auto;
}
}

/* Top Pick Up News / トップピックアップニュース
------------------------------ */

.top_pickup_news_wrap{ position: absolute; width: 100%; bottom: 0; left: 0;}
.pickup_news_list{ width: 100%; height: auto;}

.pickup_news_list li {
	display: block;
	position: relative;
	width: 100%;
	height: 40px;
	background: rgba(231,59,85,.75);
	transition: all .3s;
}

.pickup_news_list li a {
	display: block;
	padding: 0 10px;
	color: #fff;
	text-decoration: none;
}

.pickup_news_list li .date,
.pickup_news_list li .cat,
.pickup_news_list li h1,
.pickup_news_list li .more {
	width: auto;
	display: table-cell;
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 40px;
	margin: 0;
	padding: 0;
}

.pickup_news_list li h1 {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.pickup_news_list li .date { padding-right: 5px;}
.pickup_news_list li .cat {
	min-width: 70px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0;
}

.pickup_news_list li .cat span {
	border: solid 1px #fff;
	padding: 1px 3px 1px 3px;
}

.pickup_news_list li .more {
	text-align: center;
	position: absolute;
	width: 40px;
	right: 0;
	top: 0;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 400;
	background: #e73b55;
}

@media screen and (min-width: 781px) {
	
.pickup_news_list li { padding: 0 20px;}
.pickup_news_list li:hover { background: rgba(231,59,85,1); transition: all .3s;}
	
.pickup_news_list li .date,
.pickup_news_list li .cat,
.pickup_news_list li h1,
.pickup_news_list li .more {
	display: table-cell;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 40px;
	margin: 0;
	padding: 0;
}

.pickup_news_list li .date { padding-right: 10px;}
.pickup_news_list li .cat {
	font-size: 12px;
	font-size: 1.2rem;
	padding-right: 10px;
	line-height: 1;
	font-weight: 500;
}

.pickup_news_list li .cat span {
	border: solid 1px #fff;
	padding: 1px 5px 1px 5px;
}
	
.pickup_news_list li .more {
	text-align: center;
	position: absolute;
	width: 40px;
	right: 0;
	top: 0;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 400;
	background: #e73b55;
}
	
.pickup_news_list li:hover .more { background: #344055; transition: all .3s;}
	
}

/* Section / セクション共通
------------------------------ */
.sec_inner{}

.section_head_wrap { width: 100%; position: relative; text-align: center;}

.section_head_sub {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 5px;
}

.section_head_sub::before {
	display: block;
	content: '';
	width: 50px;
	height: 50px;
	margin: 0 auto;
}

.section_head { display: table; width: 100%;}
.border_l, 
.border_r { display: table-cell; vertical-align: middle;}

.border_l span, 
.border_r span{
	display: block;
	height: 20px;
	width: 100%;
	background-size: 25px;
	background-position: center center;
}

.section_head h1{
	display: table-cell;
	width: 5%;
	padding: 0 15px;
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1;
}

/* Service Section for SP / サービスセクション SP
------------------------------ */

.service_sec { position: relative; width: 100%; height: auto; background: #344055;}

.service_sec .sec_inner {}

.service_sec .section_head_wrap {
	padding: 10px 0;
}

.service_sec .section_head_sub::before { content: none; background-image: url(./img/icon/service_w_icon.svg);}

.service_sec .border_l span, .service_sec .border_r span { background-image: url(./img/pattern/dott_pattern_w.svg);}

.service_sec .section_head_sub { font-size: 12px; font-size: 1.2rem; color: #fff; margin-bottom: 5px;}
.service_sec .section_head h1 { font-size: 20px; font-size: 2rem; color: #fff;}

.service_sec .list{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.service_sec .list li {
	width: 50%;
}

.service_sec .list li:first-child {
	width: 100%;
}

.service_sec .list .company {
	border-right: solid 1px #fff;
}

.service_sec .list dl {
	display: block;
	width: 100%;
	margin-bottom: 0;
}

.service_sec .list dd {
	width: 100%;
	padding: 10px 0;
	text-align: center;
	background-image: url(./img/deco/corner_b_r_w.svg);
	background-repeat: no-repeat;
	background-position: right 5px bottom 5px;
	background-size: 10px 10px;
}

.service_sec .list dt {
	width: 100%;
	height: 100%;
	position: relative;
	height: 100px;
	overflow: hidden;
	transition: all .3s;
}

.service_sec .list dt img{
	position: absolute;
	width: 100%;
	max-width: none;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%) scale(1);
	transition: all .3s;
}

.service_sec .list dd h2 {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
}

.service_sec .list dd h2 span {
	display: block;
	color: #fff;
	font-size: 1px;
	font-size: 1rem;
	font-weight: 700;
}

.service_sec .company dd { background-color: rgba(126,202,234,1);}
.service_sec .education dd { background-color: rgba(232,181,58,1);}

.service_sec .list li a{ display: block; text-decoration: none; transition: all .3s;}


/* Service Section for PC / サービスセクション PC
------------------------------ */

@media screen and (min-width: 781px) {

.service_sec {
	position: absolute;
	bottom: 50px;
	width: 100%;
	height: auto;
	background: none;
}
	
.service_sec .sec_inner {
	margin: 0 auto;
	padding: 0 20px;
}
	
.service_sec .section_head_wrap {
	padding: 0;
}

.service_sec .section_head { margin-bottom: 10px;}
	
.service_sec .section_head_sub::before { content: none;}
.service_sec .border_l span, .service_sec .border_r span { background-image: url(./img/pattern/dott_pattern_w.svg);}
.service_sec .section_head_sub { font-size: 14px; font-size: 1.4rem; color: #fff;}
.service_sec .section_head h1{ font-size: 28px; font-size: 2.8rem; color: #fff;}

.service_sec .list{ width: 100%;}
	
.service_sec .list .company {
	border-right: 0;
}
	
.service_sec .list li:first-child {
	width: 33.33333%;
}

.service_sec .list li { width: 33.33333%; padding: 0 10px;}

.service_sec .list dl,
.service_sec .list dt,
.service_sec .list dd { margin: 0; padding: 0;}

.service_sec .list dl {
	display: table;
	width: 100%;
	border: none;
	margin-bottom: 0;
}
	
.service_sec .list dt {
	display: table-cell;
	width: 40%;
	height: 140px;
}
	
.service_sec .list dd {
	display: table-cell;
	width: 60%;
	height: 80px;
	padding: 0;
	vertical-align: middle;
	background-image: url(./img/deco/corner_b_r_w.svg);
	background-color: rgba(232,181,58,.85);
	background-size: 20px 20px;
	transition: all .3s;
}

.service_sec .list dt {}
	
.service_sec .list dt img{
	width: auto;
	height: 100%;
	transition: all .3s;
}

.service_sec .list dd h2 { font-size: 18px; font-size: 1.8rem;}
.service_sec .list dd h2 span { font-size: 12px; font-size: 1.2rem; }
.service_sec .company dd { background-color: rgba(126,202,234,.85);}
.service_sec .education dd { background-color: rgba(232,181,58,.85);}

.service_sec .list li a{}
.service_sec .list .company a:hover dt { transition: all .3s;}
.service_sec .list li a:hover dt img { transform: translate(-50%,-50%) scale(1.1); transition: all .3s;}
.service_sec .list li a:hover dd { background-color: #344055; transition: all .3s;}
}

/* About Section / アバウトセクション
------------------------------ */

.about_sec { position: relative; width: 100%; height: auto; padding: 50px 5px; background: #509798;}
.about_sec .sec_inner { padding: 40px 20px; background: #fff; max-width: 1180px; margin: 0 auto; border-radius: 3px;}

.about_sec .section_head { margin-bottom: 40px;}
.about_sec .section_head_sub::before { background-image: url(./img/icon/about_icon.svg);}
.about_sec .border_l span, .about_sec .border_r span { background-image: url(./img/pattern/dott_pattern_g.svg);}
.about_sec .section_head_sub { color: #509798;}
.about_sec .section_head h1{ color: #509798;}

.about_sec p { text-align: center;}

.about_sec h2 { font-size: 20px; font-size: 2rem; color: #509798; text-align: center; margin-bottom: 20px;}
.about_sec h2 + p { text-align: left; font-weight: 700;}

@media screen and (min-width: 781px) {
.about_sec { padding: 50px 0;}
.about_sec h2 { font-size: 28px; font-size: 2.8rem;}
.about_sec h2 + p { text-align: center;}
}


/* Column Section / コラムセクション
------------------------------ */

.column_sec { width: 100%; height: auto; background: #fff; padding: 40px 10px;}
.column_sec .sec_inner { max-width: 1180px; margin: 0 auto;}

.column_sec .section_head { margin-bottom: 40px;}
.column_sec .section_head_sub::before { background-image: url(./img/icon/topics_icon.svg);}
.column_sec .border_l span, .column_sec .border_r span { background-image: url(./img/pattern/dott_pattern_r.svg);}
.column_sec .section_head_sub { color: #e73b55;}
.column_sec .section_head h1{ color: #e73b55;}

.column_list_wrap {
	width: 100%;
}

.column_list_wrap .inner:not(:last-child) {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: solid 1px #e1e1e1;
}

ul.column_list { width: 100%;}

ul.column_list li {
	position: relative;
	width: 100%;
	margin-bottom: 10px;
	padding: 5px;
	border: solid 1px #e1e1e1;
	border-radius: 3px;
	transition: all .3s;
}
ul.column_list li:last-child { margin-bottom: 0;}

ul.column_list li a { display: block; text-decoration: none;}

ul.column_list li .thumbnail {
	float: left;
	position: relative;
	width: 140px;
	height: 100px;
	overflow: hidden;
	margin-right: 10px;
}
	
ul.column_list li .thumbnail img {
	position: absolute;
	height: 110%;
	width: auto;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1); transition: all .3s;
}

ul.column_list li .post_detail { padding-top: 5px;}
ul.column_list li .post_detail .cat{ display: block; margin-bottom: 5px;}	
ul.column_list li .post_detail .cat span{
	display: inline-block;
	color: #fff;
	font-size: 10px;
	font-size: 1rem;
	font-weight: bold;
	padding: 4px 10px 2px;
	background: #e73b55;
	border-radius: 3px;
}	

ul.column_list li .post_detail h2 { font-size: 14px; font-size: 1.4rem; text-align: left;}
ul.column_list li .post_detail .date {
	position: absolute;
	display: block;
	text-align: right;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	bottom: 5px;
	right: 5px;
}
	
ul.column_list li .post_detail .more{ display: none;}	

@media screen and (min-width: 781px) {
	
.column_sec { padding: 100px 0;}
	
.column_list_wrap {
	display: flex;
}
	
.column_list_wrap .inner {
	width: 50%;
	border-right: solid 1px #e1e1e1;
}

.column_list_wrap .inner:last-child {
	border-right: 0;
}

.column_list_wrap .inner,
.column_list_wrap .inner:not(:last-child) {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
	
ul.column_list {
	display: flex;
}
	
ul.column_list li {
	width: 50%;
	height: auto;
	margin: 0 10px;
	padding-bottom: 0;
	background: #fff;
	border: solid 1px #e1e1e1;
	box-shadow:none;
	transition: all .3s;
}
	
ul.column_list li:hover { left: -3px; top: -3px; box-shadow:5px 5px 0px 0px #fafafa; transition: all .3s;}
		

ul.column_list li .thumbnail {
	float: none;
	margin-right: 0;
	position: relative;
	width: auto;
	height: 175px;
	overflow: hidden;
}
	
ul.column_list li .thumbnail img {
	position: absolute;
	height: 110%;
	width: auto;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1); transition: all .3s;
}

ul.column_list li .post_detail { position: relative; padding: 15px 15px;}
ul.column_list li .post_detail h2{
	display: block;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: left;
	min-height: 150px;
	transition: all .3s;
	padding: 0;
	margin-bottom: 25px;
}
	
ul.column_list li .post_detail .date {
	position: absolute;
	left: 15px;
	bottom: 15px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: left;
	margin-top: 0;
}
	
ul.column_list li .post_detail .cat {
	position: absolute;
	display: block;
	right: 15px;
	bottom: 15px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	background: #e73b55;
	border-radius: 3px;
	transition: all .3s;
}
	
ul.column_list li .post_detail .cat span{
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 4px 10px 4px;
	background: #e73b55;
	border-radius: 3px;
}	

ul.column_list li a:hover .thumbnail img { transform: translate(-50%,-50%) scale(1.1); transition: all .3s;}	
ul.column_list li a:hover .post_detail h2 { color: #e8b53a; transition: all .3s;}	
ul.column_list li a:hover .post_detail .more { background: #e8b53a; transition: all .3s;}	

}

/* Method Section / メソッドセクション
------------------------------ */

.method_sec { position: relative; width: 100%; height: auto; padding: 40px 10px; background: #e8b53a;}
.method_sec .sec_inner { max-width: 1180px; margin: 0 auto;}

.method_sec .section_head { margin-bottom: 40px;}
.method_sec .section_head_sub::before { background-image: url(./img/icon/method_icon.svg);}
.method_sec .border_l span, .method_sec .border_r span { background-image: url(./img/pattern/dott_pattern_n.svg);}
.method_sec .section_head_sub { color: #344055;}
.method_sec .section_head h1{ color: #344055;}

.method_sec h2 { font-size: 20px; font-size: 2rem; color: #344055; text-align: center; margin-bottom: 20px;}
.method_sec h2 + p { text-align: left; font-weight: 700;}

@media screen and (min-width: 781px) {
.method_sec { padding: 100px 0;}
.method_sec h2 { font-size: 28px; font-size: 2.8rem;}
.method_sec h2 + p { text-align: center;}
}


/* Works Section / 実績セクション
------------------------------ */

.internship_sec {
	width: 100%;
	height: auto;
	padding: 40px 10px;
	background: url(./img/photo/internship/internship_01_sp.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.internship_sec .sec_inner { max-width: 1180px; margin: 0 auto;}

.internship_sec .section_head { margin-bottom: 20px;}
.internship_sec .section_head_sub::before { background-image: url(img/icon/internship_w_icon.svg);}
.internship_sec .border_l span, .internship_sec .border_r span { background-image: url(./img/pattern/dott_pattern_w.svg);}
.internship_sec .section_head_sub { color: #fff;}
.internship_sec .section_head h1{ color: #fff;}

ul.internship_list { width: 100%;}

ul.internship_list li {
	width: 100%;
	margin-bottom: 10px;
	background-color: #fff;
	border: solid 1px #344055;
	border-radius: 3px;
	transition: all .3s;
}
ul.internship_list li:last-child { margin-bottom: 0;}
ul.internship_list li a { display: block; text-decoration: none; color: #344055; padding: 10px;}

ul.internship_list li .post_content {
	width: 100%;
	display: table;
	margin-bottom: 10px;
}

ul.internship_list li .thumbnail {
	display: table-cell;
	position: relative;
	max-width: 100%;
	width: 140px;
	height: 100px;
	overflow: hidden;
	margin-right: 10px;
}
	
ul.internship_list li .thumbnail img {
	position: absolute;
	height: 110%;
	width: auto;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1); transition: all .3s;
}

ul.internship_list li .post_content h2 { font-size: 16px; font-size: 1.6rem; text-align: left;}
ul.internship_list li .post_data { width: auto; display: table-cell; padding-left: 10px;}
ul.internship_list li .post_info { width: 100%;}
ul.internship_list li .post_info .industry,
ul.internship_list li .post_info .area {
	width: 48%;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	padding: 3px 5px 2px;
	border-radius: 3px;
}

ul.internship_list li .post_info .industry { float: left; background: #344055; color: #fff;}
ul.internship_list li .post_info .area { float: right; background: #fff; border: solid 1px #344055; color: #344055;}

@media screen and (min-width: 781px) {
	
.internship_sec { padding: 100px 0; background: url(./img/photo/internship/internship_01.jpg); background-attachment: fixed;}
	
ul.internship_list li {
	position: relative;
	left: 0;
	top: 0;
	width: 23.728813559322035%;
	height: auto;
	float: left;
	margin-right: 1.694915254237288%;
	margin-bottom: 0;
	transition: all .3s;
}
ul.internship_list li a { padding: 15px;}	
ul.internship_list li:last-child { margin-right: 0;}
ul.internship_list li:hover {
	background-color: #7ecaea;
	color: #fff;
	transition: all .3s;
}

ul.internship_list li .post_content { display: block; margin-bottom: 0;}

ul.internship_list li .thumbnail {
	display: block;
	margin-right: 0;
	margin-bottom: 10px;
	position: relative;
	width: 100%;
	height: 150px;
	overflow: hidden;
}
	
ul.internship_list li .thumbnail img {
	position: absolute;
	height: 110%;
	width: auto;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1); transition: all .3s;
}
ul.internship_list li .post_data { padding-left: 0;}
ul.internship_list li .post_content h2{ font-size: 18px; font-size: 1.8rem; text-align: left; margin-bottom: 10px; }
	
ul.internship_list li .post_info .area {　font-size: 14px; font-size: 1.4rem;}

ul.internship_list li a:hover .thumbnail img { transform: translate(-50%,-50%) scale(1.1); transition: all .3s;}	
ul.internship_list li a:hover .post_detail h2 { color: #e8b53a; transition: all .3s;}	
ul.internship_list li a:hover .post_detail .client { background: #e8b53a; transition: all .3s;}	

}

/* Post Section / 記事セクション
------------------------------ */

.post_sec {
	position: relative;
	width: 100%;
	height: auto;
	background: #fff;
	padding: 20px 10px 30px;
}

.post_sec .sec_inner { max-width: 1180px; margin: 0 auto;}

.post_sec .events_sec { width: 100%; padding-bottom: 30px; border-bottom: solid 1px #e1e1e1;}

.post_sec .news_sec { width: 100%; padding: 30px 0 0;}

.events_sec h1.section_head,
.news_sec h1.section_head {
	display: inline-block;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.8;
	text-align: left;
	color: #e8b53a;
	margin-bottom: 20px;
}

.events_sec h1.section_head { color: #e8b53a; border-bottom: solid 3px #e8b53a;}
.news_sec h1.section_head { color: #7ecaea; border-bottom: solid 3px #7ecaea;}

.events_sec h1.section_head span,
.news_sec h1.section_head span {
	font-size: 12px;
	font-size: 1.2rem;
}

.events_sec h1.section_head::before {
	display: inline-block;
	vertical-align: top;
	content: '';
	width: 35px;
	height: 35px;
	background-image: url(./img/icon/events_icon.svg);
	background-repeat: no-repeat;
	background-size: cover;
}

.news_sec h1.section_head::before {
	display: inline-block;
	vertical-align: top;
	content: '';
	width: 35px;
	height: 35px;
	background-image: url(./img/icon/news_icon.svg);
	background-repeat: no-repeat;
	background-size: cover;
}

.post_sec .post_list li {
	width: 100%;
	margin-bottom: 15px;
	padding: 0 10px 15px;
	border-bottom: solid 1px #e1e1e1;
}

.post_sec .post_list li .date {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 5px;
}

.post_sec .post_list li h2 {
	font-size: 14px;
	font-size: 1.4rem;
}

.post_sec .post_list li h2 a{ text-decoration: none;}

.post_sec .more {
	text-align: center;
	margin-top: 30px;
}

.post_sec .more a {
	display: inline-block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	padding: 10px 20px;
	border-radius: 3px;
	transition: all .3s;
}

.post_sec .more a span{
	display: block;
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 3px;
}

.events_sec .more a { background: #e8b53a;}
.news_sec .more a { background: #7ecaea;}


@media screen and (min-width: 781px) {
	
.post_sec { padding: 60px 0;}
.post_sec .events_sec { width: 50%; float: left; padding: 20px; border-bottom: 0;}
.post_sec .news_sec { width: 50%; float: right; padding: 20px;}
	
.post_sec .post_list li {
	display: table;
	width: 100%;
}

.post_sec .post_list li .date {
	display: table-cell;
	width: 100px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
}

.post_sec .post_list li h2 {
	display: table-cell;
	font-size: 14px;
	font-size: 1.4rem;
}
	
.post_sec .post_list li h2 a {
	font-size: 14px;
	font-size: 1.4rem;
	color: #344055;
	text-decoration: none;
}
	
.post_sec .events_sec ul li h2 a:hover { color: #e8b53a; transition: all .3s;}
.post_sec .news_sec ul li h2 a:hover { color: #7ecaea; transition: all .3s;}
	
.post_sec .more a:hover {
	color: #fff;
	background: #344055;
	transition: all .3s;
}

	
}

/* ==========
	Page Contents Style / ページコンテンツ
=================================== */

/* Page Visual / ページビジュアル
------------------------------ */

.page_visual_wrap { width: 100%; height: auto; position: relative;}

.page_visual_contents {
	position: relative;
	width: 100%;
	height: 275px;
	margin-top: 60px;
	background: url(./img/pattern/line_g_pattern.jpg);
}

@media screen and (min-width: 781px) {

.page_visual_contents { position: relative; width: 100%; height: 400px; margin-top: 136px;}
	
}

/* Page Head / ページ見出し
------------------------------ */

.page_head {
	position: relative;
	width: 200px;
	height: 175px;
	top: 25px;
	left: 50%;
	background-image:url(./img/icon/page_head_bg.svg);
	background-repeat: no-repeat;
	background-position: top 10% right 10%;
	background-size: 50px 50px;
	transform: translateX(-50%);
	text-align: center;
	border-radius: 3px;
	animation-fill-mode:both;
	animation-duration:1s;
	animation-delay: .5s;
	animation-name: titleIn;	
}

.page_head::after {
	content: '';
	position: absolute;
	width: 94%;
	height: 92%;
	top: 4%;
	left: 3%;
	border: solid 2px #fff;
	border-radius: 3px;
}

.page_head_inner {
	position: absolute;
	width: 100%;
	padding: 0 20px;
	top: 47%;
	left: 50%;
	transform: translate(-50%, -50%);
}


.page_head h1 {
	margin: 0;
	padding: 0;
	line-height: 1;
	font-size: 24px;
	font-size: 2.4rem;
	animation-fill-mode:both;
	animation-duration:.5s;
	animation-delay: 1.25s;
	animation-name: titleIn2;
}

.page_head h1::before { 
	display: block;
	content: '';
	width: 50px;
	height: 50px;
	margin: 0 auto;
	animation-fill-mode:both;
	animation-duration:.75s;
	animation-delay: 1.75s;
	animation-name: titleIn2;
}

.page_head span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 7px;
	animation-fill-mode:both;
	animation-duration:.5s;
	animation-delay: 1.5s;
	animation-name: titleIn2;
}

.page_contents_head {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: solid 1px #e1e1e1;
}

.page_contents_head h2{
	position: relative;
	font-size: 20px;
	font-size: 2rem;
	text-align: center;
	margin: 0 0 20px;
}

.page_contents_head img { width: 75px;  margin: 0 auto 10px;}

.page_contents_head h2 + p { text-align: left;}

@media screen and (min-width: 781px) {

.page_head { width: 200px; height: 200px; top: 50px;}
	
.page_contents_head { padding-bottom: 60px; margin-bottom: 60px;}
.page_contents_head h2 { font-size: 28px; font-size: 2.8rem; text-align: center; margin-bottom: 40px;}
.page_contents_head h2 + p{ text-align: center;}
	
}

/* Page Contets / ページ内容
------------------------------ */

.page_contents_wrap {
	position: relative;
	height: auto;
	padding: 0 5px 60px;
	animation-fill-mode:both;
	animation-duration: 1s;
	animation-delay: 1.75s;
	animation-name: contentsIn;
}

.page_contents {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 1180px;
	margin: 0 auto;
	top: -50px;
}

.page_contents_inner{
	position: relative;
	padding: 20px 20px 50px;
	background: #fff;
}

@media screen and (min-width: 781px) {

.page_contents_wrap { position: relative; height: auto; padding: 0 20px 60px; box-sizing: content-box;}
	
.page_contents {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 1180px;
	margin: 0 auto;
}
	
.page_contents_inner{
	position: relative;
	padding: 40px 20px 50px;
	background: #fff;
}
	
.page_contents { top: -100px;}	

}

/* ==========
	Entry Page Style / 投稿ページコンテンツ
=================================== */

/* Entry Page Visual / 投稿ページビジュアル
------------------------------ */

.entry.page_visual_wrap { width: 100%; height: auto; position: relative;}

.entry .page_visual_contents {
	position: relative;
	width: 100%;
	height: 275px;
	margin-top: 60px;
	background: url(./img/pattern/line_n_pattern.jpg);
}

@media screen and (min-width: 781px) {

.entry .page_visual_contents { position: relative; width: 100%; height: 400px; margin-top: 136px;}
	
}

/* Page Head / ページ見出し
------------------------------ */

.entry .page_head { color: #fff; background-color: #344055;}
.entry .page_head h1::before { background: url(./img/logo/logo_icon_w.svg);}


/* Page Contets / ページ内容
------------------------------ */

.page_contents_wrap.entry {
	padding: 0 20px 60px;
	background: #fafafa;
}

.entry .page_contents_inner { padding: 20px 20px 50px; background: #fff; border-top: solid 14px #344055; }
.entry .page_contents_head h2 { margin: 20px 0 0;}
.entry .page_contents_inner .entry_box { max-width: 800px; margin: 0 auto;}

@media screen and (min-width: 781px) {

.entry .page_contents_wrap { position: relative; height: auto; padding: 0 20px 60px; box-sizing: content-box;}
	
.entry .page_contents {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 1180px;
	margin: 0 auto;
}
	
.entry .page_contents_inner{
	position: relative;
	padding: 40px 20px 50px;
	background: #fff;
}
	
.entry .page_contents { top: -100px;}	

}

/* ==========
	Child Page Contents Style / 子ページコンテンツ
=================================== */

/* Child Page Visual / 子ページビジュアル
------------------------------ */

.page_child_visual_contents {
	position: relative;
	width: 100%;
	height: 150px;
	margin-top: 60px;
	background: url(./img/pattern/line_g_pattern.jpg);
}


@media screen and (min-width: 781px) {
	
.page_child_visual_contents { position: relative; width: 100%; height: 300px; margin-top: 136px;}
	
}

/* Child Page Head  / 子ページ見出し
------------------------------ */

.page_child_head {
	display: inline-block;
	position: absolute;
	width: 90%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	background: #fafafa;
	padding: 25px 20px;
	border-radius: 3px;
	animation-fill-mode:both;
	animation-duration:1s;
	animation-delay: .5s;
	animation-name: titleIn3;	
}

.page_child_head::before {
	display: block;
	position: absolute;
	content: '';
	width: 94%;
	height: 76%;
	top: 12%;
	left: 3%;
	border-top: solid 2px #fff;
	border-bottom: solid 2px #fff;
	transform-origin: center center;
	animation-fill-mode:both;
	animation-duration:1s;
	animation-delay: 1.25s;
}

.page_child_head h1 {
	display: inline-block;
	font-size: 20px;
	font-size: 2rem;
	color: #fff;
	margin: 0;
	padding: 0;
	line-height: 1;
	animation-fill-mode:both;
	animation-duration:.5s;
	animation-delay: .75s;
	animation-name: titleIn5;	
}

.page_child_head span{
	display: inline-block;
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	font-weight: 700;
	margin-top: 7px;
	animation-fill-mode:both;
	animation-duration:.5s;
	animation-delay: 1s;
	animation-name: titleIn5;	
}

.page_child_contents_head {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: solid 1px #e1e1e1;
}

.page_child_contents_head h2{ font-size: 24px; font-size: 2.4rem; text-align: center; margin-bottom: 40px;}
.page_child_contents_head h2 + p{ text-align: left;}

@media screen and (min-width: 781px) {

.page_child_head { width: auto; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.page_child_head h1 { font-size: 28px; font-size: 2.8rem;}

.page_child_contents_head { padding-bottom: 60px; margin-bottom: 60px;}
.page_child_contents_head h2{ font-size: 28px; font-size: 2.8rem;}
.page_child_contents_head h2 + p{ text-align: center;}

}

/* Child Page Contets / 子ページ内容
------------------------------ */

.page_child_contents_side_wrap {
	width: 100%;
	height: auto;
	padding: 40px 5px 100px;
	animation-fill-mode:both;
	animation-duration: 1s;
	animation-delay: 1.75s;
	animation-name: contentsIn;
}

.page_child_contents_side_wrap.news{ animation-delay: 1s;}

.page_child_contents_side { width: 100%; height: auto; max-width: 1180px; margin: 0 auto;}
.page_child_contents_side_wrap .page_child_contents_wrap { width: 100%; height: auto;}

.page_child_contents_side_wrap .side { width: 100%; height: auto;}

.page_child_contents_wrap {
	width: 100%;
	height: auto;
	margin-bottom: 40px;
	animation-fill-mode:both;
	animation-duration: 1s;
	animation-delay: 1s;
	animation-name: contentsIn;
}

.page_child_contents {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 1180px;
	margin: 0 auto;
}

.page_child_contents_inner{
	position: relative;
	padding: 70px 20px 70px;
	background: #fff;
	border-radius: 3px;
}


@media screen and (min-width: 781px) {
	
.page_child_contents_side_wrap { width: 100%; height: auto; padding: 40px 20px 100px;}
.page_child_contents_side { width: 100%; height: auto;}
.page_child_contents_side .page_child_contents_wrap { float: right; width: 74.57627118644068%;}
.page_child_contents_side .side { float: left; width: 23.728813559322035%;}

.page_child_contents_wrap { margin-bottom: 0;}
	
.page_child_contents {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 1180px;
	margin: 0 auto;
}

.page_child_contents_inner{
	position: relative;
	padding: 70px 40px 70px;
	background: #fff;
}
}

/* ==========
	About Page　Style / アバウトページコンテンツ
=================================== */

/* About Page / アバウトページ
------------------------------ */

.about .page_visual_contents {background: url(./img/pattern/line_g_pattern.jpg);}
.about .page_head { background-color: #509798; color: #fff;}
.about .page_head h1::before { background-image: url(./img/icon/about_w_icon.svg);}

.page_contents_wrap.about { background: #fafafa;}

.about .page_contents_inner{ position: relative; border-top: solid 14px #509798;}

.about .page_contents_inner h2::before { background:url(./img/logo/logo_icon_g.svg);}
.about .page_contents_inner h2 { color:#509798;}

.about .page_contents_inner .page_child_list { width: 100%; max-width: 900px; margin: 0 auto;}
.about .page_contents_inner .page_child_list li{ float: left; width: 100%; margin-bottom: 20px;}

.about .page_contents_inner .page_child_list li:nth-child(2n){ margin-right: 0;}
.about .page_contents_inner .page_child_list li:nth-child(4) { margin-bottom: 0;}

.about .page_contents_inner .page_child_list li a {
	display: block;
	text-decoration: none;
	color: #fff;
	border: solid 3px #509798;
	background: #509798;
	border-radius: 3px;
	transition: all .3s;
}

.about .page_contents_inner .page_child_list li .thumbnail { position: relative; overflow: hidden; height: 150px;}
.about .page_contents_inner .page_child_list li .thumbnail img {
	position: absolute;
	width: 100%;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1);
	transition: all .3s;
	max-width: none;
}

.about .page_contents_inner .page_child_list li .detail {
	padding: 10px 20px;
	background-image:url(./img/deco/corner_b_r_w.svg);
	background-repeat: no-repeat;
	background-position: bottom 5px right 5px;
	background-size: 20px 20px;
	text-align: center;
}

.about .page_contents_inner .page_child_list li h3 { font-size: 18px; font-size: 1.8rem;}
.about .page_contents_inner .page_child_list li span { font-size: 10px; font-size: 1rem;}


@media screen and (min-width: 781px) {

.about .page_contents_inner .page_child_list li{
	float: left;
	width: 47.77777777777778%;
	margin-right: 4.444444444444445%;
	margin-bottom: 40px;
}
	
.about .page_contents_inner .page_child_list li:nth-child(3), .about .page_contents_inner .page_child_list li:nth-child(4) { margin-bottom: 0;}

.about .page_contents_inner .page_child_list li a:hover {
	border: solid 3px #344055;
	background: #344055;
	transition: all .3s;
}

.about .page_contents_inner .page_child_list li a:hover .thumbnail img {
	transform: translate(-50%, -50%) scale(1.2);
	transition: all 5s;
}
	
.about .page_contents_inner .page_child_list li h3 { font-size: 20px; font-size: 2rem;}
.about .page_contents_inner .page_child_list li span { font-size: 12px; font-size: 1.2rem;}
	
}

/* About Child Page / アバウト子ページ
------------------------------ */

.page_child_visual_contents { background: url(./img/pattern/line_g_pattern.jpg);}
.about .page_child_head { background: #509798;}
.about .page_child_head h1, .about .page_child_head span { color: #fff;}

.page_child_contents_side_wrap.about { background: #509798;}

.about .page_child_content{ width: 100%; max-width: 600px; margin: 0 auto;}

.about .page_child_contents_head h2 { color: #509798; margin-bottom: 0;}
.about .page_child_contents_head img { height: 75px; width: auto; margin: 0 auto;}

.about div.person { width: 100%; text-align: center; margin-bottom: 40px}
.about .person div { width: 100%;}
.about .person .detail { background: #509798; padding: 20px 10px; margin-bottom: 20px;}
.about .person .photo {}

.about .person span.logo,
.about .person span.position,
.about .person span.name,
.about .person span.name_en { display: block; color: #fff; font-weight: 400; margin-bottom: 10px;}

.about .person span.logo img{ height: 75px; width: auto; margin: 0 auto;}
.about .person span.position { font-size: 16px; font-size: 1.6rem;}
.about .person span.name { font-size: 32px; font-size: 3.2rem;}
.about .person span.name_en { font-size: 14px; font-size: 1.4rem;}

.about .person .photo img {}


.page_child_content_head1{ position: relative; z-index: 1;}
.about .page_child_content { text-align: left;}
.about .page_child_content p { margin-bottom: 40px;}
.about .page_child_content .button_01 { padding: 0; margin-bottom: 60px;}

.about .page_child_content h3 { font-size: 20px; font-size: 2rem; color: #509798; margin-bottom: 40px; text-align: center;}

.about .page_child_content_head1 { margin: 40px 0 0; text-align: center;}
.about .page_child_content_head1 h3 {
	display: inline-block;
	position: relative;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	height: 60px;
	width: 220px;
	padding-top: 10px;
	margin-bottom: 0;
	background: #509798;
	border-radius: 3px;
	color: #fff;
}

.about .page_child_content_head1 + .head_detail {
	position: relative;
	top: -25px;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	padding: 40px 20px 20px;
	border: solid 2px #344055;
	z-index: 0;
	background-image: url(./img/icon/page_head_n_bg.svg);
	background-repeat: no-repeat;
	background-size: 50px 50px;
	background-position: right 5px top 5px;
	margin-bottom: 40px;
}

.about .page_child_content h3 span { display: block; font-size: 12px; font-size: 1.2rem; margin-top: 5px;}

.about .page_child_content ul { text-align: left; font-size: 16px; font-size: 1.6rem; font-weight: 700; margin-bottom: 40px;}
.about .page_child_content li { padding: 10px 0; padding-left: 1.5em; text-indent: -1.5em; line-height: 1.6;}
.about .page_child_content li::before {
	content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 7px;
    background: #509798;
    transform: rotate(45deg);
}

.about .table {}
.about .table table { box-shadow: none; margin-top: 20px; margin-bottom: 0;}
.about .table h2 {
	color: #344055;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	margin-top: 60px;
	text-align: center;
}

.about .table tr {}
.about .table th {
	width: 80px;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	padding: 20px 5px;
	background: #509798;
	border-right: solid 1px #e1e1e1;
	vertical-align: middle;
}

.about .table td {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #344055;
	text-align: left;
	line-height: 1.6;
	padding: 20px 15px;
}

.about .table td span{
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	margin-top: 10px;
	line-height: 1.6;
	color: #344055;
	text-align: left;
}

.about .side .page_child_list {}
.about .side .page_child_list li {
	position: relative;
	margin-bottom: 10px;
}

.about .side .page_child_list li:last-child { margin-bottom: 0;}

.about .side .page_child_list li a {
	position: relative;
	display: block;
	overflow: hidden;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	background: #fff;
	text-decoration: none;
	padding: 15px 20px;
	border-radius: 3px;
	transition: all .3s;
}

.about .side .page_child_list li a::before {
	content: '';
	position: absolute;
	display: block;
	width: 7px;
	height: 7px;
	top: 50%;
	left: -15px;
	border-top: solid 2px #344055;
	border-right: solid 2px #344055;
	transform: rotate(45deg);
	margin-top: -3px;
	margin-right: 10px;
	transition: all .3s;
}
.about .side .page_child_list li a.current { color: #fff; background: #344055; padding: 15px 20px 15px 35px;}
.about .side .page_child_list li a.current::before { left: 15px;	border-top: solid 2px #fff; border-right: solid 2px #fff;}
.about .side .page_child_list li a span{
	display: block;
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 5px;
}

@media screen and (min-width: 781px) {
	
.about div.person { width: 100%; display: table; text-align: center;}
.about .person div { width: 50%; display: table-cell; vertical-align: middle;}
.about .person .detail { background: #509798; padding: 20px 10px; margin-bottom: 0;}
.about .person .photo { position: relative; overflow: hidden;}

.about .person span.position { font-size: 16px; font-size: 1.6rem;}
.about .person span.name { font-size: 32px; font-size: 3.2rem;}
.about .person span.name_en { margin-bottom: 0;}
	
.about .person .photo img {
	position: absolute;
	width: auto;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
}
	
.about .side .page_child_list li a { font-size: 16px; font-size: 1.6rem;}
.about .side .page_child_list li a:hover { color: #fff; background: #344055; padding: 15px 20px 15px 35px; transition: all .3s;}
.about .side .page_child_list li a:hover::before { left: 15px;	border-top: solid 2px #fff; border-right: solid 2px #fff; transition: all .3s;}
	
}

/* ==========
	Service Page　Style / サービスページコンテンツ
=================================== */

/* Service Page / サービスページ
------------------------------ */

.service .page_visual_contents { height: 225px; background: url(./img/pattern/line_y_pattern2.jpg);}
.service .page_head { background-color: #e8b53a; color: #fff;}
.service .page_head h1::before { background-image: url(./img/icon/service_w_icon.svg);}

.page_contents_wrap.service { background: #fff;}

.service .page_contents { top: 0;}
.service .page_contents_inner{
	position: relative;
	background: none;
	padding: 20px 0 60px;
	top: 0;
}

.service .service_company_wrap, .service_education_wrap { width: 100%; position: relative;}
.service .service_company_wrap { border-bottom: 1px solid #fafafa;}
	
.service .service_image { position: relative; width: 100%; height: 350px; overflow: hidden;}
.service .service_image img {
	position: absolute;
	width: auto;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.service .service_detail {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	text-align: center;
	padding: 40px 10px;
	transform: translateY(-50%);
	background: rgba( 52, 64, 85, .5);
}

.service .service_company_wrap .service_detail { background: rgba( 126, 202, 234, .5);}
.service .service_education_wrap .service_detail { background: rgba( 232, 181, 58, .5);}
	
.service .service_detail h2 {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-size: 24px;
	font-size: 2.4rem;
	color: #fff;
}
	
.service .service_detail span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 15px;
	color: #fff;
}
	
.service .service_detail hr {
	content: '';
	height: 2px;
	width: 75%;
	background: #fff;
	border: none;
	margin: 10px auto 15px;
}
	
.service .service_detail h3 {
	display: inline-block;
	margin: 0;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1;
	background: #fff;
	padding: 7px 10px 5px;
	margin-bottom: 10px;
}
	
.service .service_company_wrap .service_detail h3 { color: #7ecaea;}
.service .service_education_wrap .service_detail h3 { color: #e8b53a;}

.service .service_detail h3 + span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 0;
}

.service .service_detail .more { display: inline-block; width: 200px; margin-top: 40px;}
	
.service .service_detail .more a {
	position: relative;
	display: block;
	overflow: hidden;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	border: solid 2px #fff;
	text-decoration: none;
	padding: 10px 20px;
	border-radius: 3px;
	transition: all .3s;
}

.service .service_detail .more a::before {
	content: '';
	position: absolute;
	display: block;
	width: 7px;
	height: 7px;
	top: 50%;
	left: -15px;
	transform: rotate(45deg);
	margin-top: -3px;
	margin-right: 10px;
	transition: all .3s;
}
	
.service .service_company_wrap .service_detail .more a::before { border-top: solid 2px  #7ecaea; border-right: solid 2px #7ecaea;}
.service .service_education_wrap .service_detail .more a::before { border-top: solid 2px #e8b53a; border-right: solid 2px #e8b53a;}

@media screen and (min-width: 781px) {
	
.service .page_visual_contents { height: 300px;}
.service .page_contents_inner { position: relative; background: none; padding: 20px 0 60px; top: 0;}
	
.service .service_company_wrap, .service_education_wrap { width: 100%; display: table;}
.service .service_company_wrap { border-bottom: 1px solid #fafafa;}
	
.service .service_image { display: table-cell; position: relative; width: 50%; height: 400px; vertical-align: middle; overflow: hidden;}
.service .service_image img {
	position: absolute;
	width: 100%;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	vertical-align: middle;
}
	
.service .service_detail {
	position: static;
	display: table-cell;
	width: 50%;
	text-align: center;
	vertical-align: middle;
	padding: 20px 20px;
	transform: translateY(0);
}

.service .service_company_wrap .service_detail { background: #7ecaea;}
.service .service_education_wrap .service_detail { background: #e8b53a;}
	
.service .service_detail h2 {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-size: 24px;
	font-size: 2.4rem;
	color: #fff;
}
	
.service .service_detail span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 15px;
	color: #fff;
}
	
.service .service_detail hr {
	content: '';
	height: 2px;
	width: 75%;
	background: #fff;
	border: none;
	margin: 10px auto 15px;
}
	
.service .service_detail h3 {
	display: inline-block;
	margin: 0;
	font-size: 2px;
	font-size: 2rem;
	line-height: 1;
	background: #fff;
	padding: 7px 10px 5px;
	margin-bottom: 10px;
	border-radius: 3px;
}
	
.service .service_company_wrap .service_detail h3 { color: #7ecaea;}
.service .service_education_wrap .service_detail h3 { color: #e8b53a;}

.service .service_detail h3 + span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 0;
}

.service .service_detail .more { display: inline-block; width: 200px; margin-top: 40px;}
	
.service .service_detail .more a {
	position: relative;
	display: block;
	overflow: hidden;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	border: solid 2px #fff;
	text-decoration: none;
	padding: 10px 20px;
	transition: all .3s;
}

.service .service_detail .more a::before {
	content: '';
	position: absolute;
	display: block;
	width: 7px;
	height: 7px;
	top: 50%;
	left: -15px;
	transform: rotate(45deg);
	margin-top: -3px;
	margin-right: 10px;
	transition: all .3s;
}
	
.service .service_company_wrap .service_detail .more a::before { border-top: solid 2px  #7ecaea; border-right: solid 2px #7ecaea;}
.service .service_education_wrap .service_detail .more a::before { border-top: solid 2px #e8b53a; border-right: solid 2px #e8b53a;}

.service .service_company_wrap .service_detail .more a:hover { color: #7ecaea;}
.service .service_education_wrap .service_detail .more a:hover { color: #e8b53a;}

.service .service_detail .more a:hover{ background: #fff; padding: 10px 20px 10px 35px; transition: all .3s;}
.service .service_detail .more a:hover::before { left: 15px; transition: all .3s;}
	
}


/* ==========
	Service Landing Page / サービスランディングページ
=================================== */

/* Service Landing Page Visual / サービスランディングページビジュアル
------------------------------ */

.service_visual_wrap { width: 100%; height: auto; position: relative;}

.service_visual_contents {
	position: relative;
	width: 100%;
	height: 300px;
	margin-top: 60px;
}

.service_visual_contents.company {
	background: url(./img/photo/service/service_company_head.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.service_visual_contents.education {
	background: url(./img/photo/service/service_education_head.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.service_visual_contents::before {
	z-index: 0;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color:rgba(0, 0, 0, .15);
}

@media screen and (min-width: 781px) {

.service_visual_contents { position: relative; width: 100%; height: 400px; margin-top: 136px;}
.service_visual_contents.company, .service_visual_contents.education { background-attachment: fixed;}	
}

/* Service Landinf Page Head / サービスランディングページ見出し
------------------------------ */

.service_head {
	width: 100%;
	height: 100%;
	position: relative;
	text-align: center;
}

.service_head_inner {
	position: absolute;
	width: 85%;
	top: 50%;
	left: 50%;
	color: #fff;
	transform: translate(-50%, -50%);
}

.service_head span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 15px;
	animation-fill-mode:both;
	animation-duration: 1s;
	animation-delay: 1s;
	animation-name: titleIn6;
}

.service_head h1 {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1.5;
	font-size: 24px;
	font-size: 2.4rem;
	animation-fill-mode:both;
	animation-duration: 1s;
	animation-delay: .75s;
	animation-name: titleIn8;
}

.service_head hr {
	content: '';
	height: 2px;
	width: auto;
	background: #fff;
	border: none;
	margin: 10px 0 15px 0;
	animation-fill-mode:both;
	animation-duration: 1s;
	animation-delay: .25s;
	animation-name: titleIn7;
}

.service_head hr + span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 0;
	animation-fill-mode:both;
	animation-duration: 1s;
	animation-delay: 1.5s;
	animation-name: titleIn9;
}

@media screen and (min-width: 781px) {

.service_head_inner { width: auto; padding: 20px 40px;}
.service_head span { font-size: 14px; font-size: 1.4rem;letter-spacing: .1em;}
.service_head h1 { font-size: 28px; font-size: 2.8rem; letter-spacing: .15em;}
.service_head hr {}
.service_head hr + span { font-size: 14px; font-size: 1.4rem;letter-spacing: .1em;}
	
}


.page_contents_wrap.service { background: #fff; padding: 0;}

.service .page_contents { top: 0; max-width: 100%; padding: 0;}
.service .page_contents_inner{
	max-width: 100%;
	position: relative;
	background: #fff;
	padding: 0 0 60px;
	top: 0;
}

/* Service Page Contents / サービスページコンテンツ
------------------------------ */

.page_contents_wrap.service .page_contents_inner .inner{
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 10px;
}

.page_contents_wrap.service .landing_section_head {
	position: relative;
	width: 100%;
	height: 200px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.page_contents_wrap.service .landing_section_head::before {
	z-index: 0;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color:rgba(0, 0, 0, .15);
}

.page_contents_wrap.service .landing_section_head_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	text-align: center;
	transform: translate(-50%, -50%);
}

.page_contents_wrap.service .landing_section_head_inner h1 {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-size: 24px;
	font-size: 2.4rem;
}

.page_contents_wrap.service .landing_section_head_inner hr {
	content: '';
	height: 2px;
	width: auto;
	background: #fff;
	border: none;
	margin: 10px 0 10px 0;
}

.page_contents_wrap.service .landing_section_head_inner hr + span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
}

@media screen and (min-width: 781px) {

.page_contents_wrap.service .page_contents_inner .inner{ padding: 0 0;}
.page_contents_wrap.service .landing_section_head { height: 300px; background-attachment: fixed;}
.page_contents_wrap.service .landing_section_head_inner h1 { font-size: 28px; font-size: 2.8rem;}
.page_contents_wrap.service .landing_section_head_inner hr + span { font-size: 14px; font-size: 1.4rem;}

}

/* Landing Preface Section / 問題提起セクション
------------------------------ */

.landing_preface { width: 100%; height: auto;}
.landing_preface .qa { 
	padding: 60px 0;
	color: #fff;
	background: #344055;
	text-align: center;
}

.landing_preface .qa .qa_head {
	margin: 0 0 20px;
	padding: 0;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	color: #e73b55;
}

.landing_preface .qa .qa_head span {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
}

.landing_preface .qa h1 { margin: 0; padding: 0; font-size: 20px; font-size: 2rem;}

.landing_preface .preface_1 {
	padding: 60px 0;
	background: #fff;
	text-align: center;
}

.landing_preface .preface_1 h2 {
	color: #e73b55;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 40px;
}

.landing_preface .preface_1 h3 {
	width: 100%;
	color: #344055;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 1.8;
}

.landing_preface .preface_1 h3 + p,
.landing_preface .preface_1 h3 + h2 {
	margin-top: 40px;
}

.landing_preface .preface_2 {
	position: relative;
	padding: 80px 0 60px;
	background: #e8b53a;
	text-align: center;
}

.landing_preface .preface_2 .bg_arrow {
	position: absolute;
	width: 0;
	height: 0;
	border-top: 40px solid #fff;
	border-right: 100px solid transparent;
	border-bottom: 40px solid transparent;
	border-left: 100px solid transparent;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.landing_preface .preface_2 h2 {
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 40px;
}

.landing_preface .preface_2 h3 {
	width: 100%;
	color: #344055;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 1.8;
}

.landing_preface .preface_2 h3 + p,
.landing_preface .preface_2 h3 + h2 {
	margin-top: 40px;
}

.landing .landing_preface .comments {
	border: double 4px #fff;
	color: #fff;
	max-width: 800px;
	padding: 20px;
	margin: 0 auto;
	text-align: left;
	border-radius: 3px;
}


@media screen and (min-width: 781px) {

.landing_preface .qa .qa_head { font-size: 24px; font-size: 2.4rem;}
.landing_preface .qa .qa_head span { font-size: 16px; font-size: 1.6rem;}
.landing_preface .qa h1 { font-size: 28px; font-size: 2.8rem;}

.landing_preface .preface_1 h2,
.landing_preface .preface_1 p,
.landing_preface .preface_2 h2,
.landing_preface .preface_2 p { font-size: 20px; font-size: 2rem;}
.landing_preface .preface_1 h3,
.landing_preface .preface_2 h3 { font-size: 24px; font-size: 2.4rem;}
	
.landing .landing_preface .comments { text-align: center;}


}

/* Landing Service Section / ランディングサービスセクション
------------------------------ */

.page_contents_wrap.service .landing_section_head.service.company {
	background: url(./img/photo/service/service_company.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.page_contents_wrap.service .landing_section_head.service.education {
	background: url(./img/photo/service/service_education.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.landing .service_contents_wrap { border-bottom: solid 1px #e1e1e1;}

.landing .service_contents_head {
	padding: 20px 20px;
	color: #fff;
	text-align: center;
	background-image: url(./img/icon/page_head_bg.svg);
	background-repeat: no-repeat;
	background-size: 50px 50px;
	background-position: right 10px top 10px;
}

.landing .service_contents_wrap.program_1 { padding: 40px 0 40px; background: rgba(231, 59, 85, .25);}
.landing .service_contents_wrap.program_2 { padding: 40px 0 40px; background: rgba(232, 181, 58, .25);}
.landing .service_contents_wrap.program_3 { padding: 40px 0 40px; background: rgba(126, 202, 234, .25);}
.landing .service_contents_wrap.program_4 { padding: 40px 0 40px; background: rgba(231, 59, 85, .25);}
.landing .service_contents_wrap.program_5 { padding: 40px 0 40px; background: rgba(52, 64, 85, .25);}
.landing .program_1 .service_contents_head { background-color: #e73b55;}
.landing .program_2 .service_contents_head { background-color: #e8b53a;}
.landing .program_3 .service_contents_head { background-color: #7ecaea;}
.landing .program_4 .service_contents_head { background-color: #e73b55;}
.landing .program_5 .service_contents_head { background-color: #344055;}

.landing .service_contents_head .number {
	font-size: 42px;
	font-size: 4.2rem;
	font-weight: 700;
}

.landing .service_contents_head .number + hr {
	content: '';
	height: 2px;
	width: 75px;
	background: #fff;
	border: none;
	margin: 5px auto 10px;
}

.landing .service_contents_head h2 {
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
}

.landing .service_content { margin-top: 20px;}
.landing .program_2 .service_content { margin-top: 0;}
.landing .program_3 .service_content { margin-top: 0;}
.landing .program_4 .service_content { margin-top: 0;}
.landing .program_5 .service_content { margin-top: 0;}

.landing .service_content .service_name { padding: 40px 20px;}
.landing .program_1 .service_name { border: solid 15px #e73b55; color: #e73b55; background: #fff;}

.landing .program_1 .service_name span {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 10px;
	text-align: center;
}

.landing .program_1 .service_name h3 {
	display: block;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	padding: 5px 0;
	margin-bottom: 10px;
	border-top: solid 2px #e73b55;
	border-bottom: solid 2px #e73b55;
}

.landing .program_1 .service_name p { color: #344055; text-align: left;}

.landing .service_detail_box_1col { width: 100%; height: auto; padding: 20px 20px; border: solid 1px #e1e1e1; background: #fff;}

.landing ul.service_step { width: 100%; height: auto;}
.landing ul.service_step li { margin-bottom: 20px;}
.landing ul.service_step li:last-child { margin-bottom: 0;}

.landing ul.service_step .service_step_head { position: relative; display: table; width: 100%;}
.landing ul.service_step .step_icon { display: table-cell; width: 75px; vertical-align: middle;}
.landing ul.service_step .step_title {
	display: table-cell;
	width: auto;
	text-align: left;
	vertical-align: middle;
	padding: 0 40px 0 10px;
	border: solid 4px #e73b55;
	cursor: pointer;
}

.landing ul.service_step .step_title span{ display: block; font-size: 14px; font-size: 1.4rem; font-weight: 700; margin-bottom: 5px;}
.landing ul.service_step .step_title h4{ font-size: 18px; font-size: 1.8rem; font-weight: 700; line-height: 1;}

.landing ul.service_step .toggle_icon {
	position: absolute;
	display: block;
	text-align: center;
	right: 2px;
	bottom: 0;
	height: 30px;
	width: 30px;
	color: #fff;
	background: #e73b55;
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 23px;
}

.landing ul.service_step .step_detail{ display: none; padding: 15px; border: solid 1px #e1e1e1;}

.landing .service_detail_box_2col { width: 100%; height: auto;}
.landing .service_detail_box_2col .box {
	width: 100%;
	padding: 40px 20px;
	border-left: solid 1px #e1e1e1;
	border-right: solid 1px #e1e1e1;
	border-bottom: solid 1px #e1e1e1;
	background: #fff;
}

.landing .service_detail_box_2col .box .sub {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 3px;
	text-align: center;
}

.landing .service_detail_box_2col .box .box_head {
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	position: relative;
	text-align: center;
	margin-bottom: 20px;
}

.landing .service_detail_box_2col .box .box_head::before {
    border-top: solid 4px #344055;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
}

.landing .service_detail_box_2col .box .box_head span {
	position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 0 10px;
}

.landing .box ul {
	text-align: left;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.65;
	padding-left: 1em;
}

.landing .box ul li{
	padding-left:1em;
	text-indent:-1em;
	margin-bottom: 10px;
}

.landing .box ul > li:before{
	content: '▶︎';
	display: inline-block;
	margin-right: 1em;
}

.landing .box ul li:last-child { margin-bottom: 0;}

.landing .box dl {
	display: table;
	width: 100%;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 20px;
}

.landing .box dt { display: table-cell; width: 90px;}
.landing .box dd { display: table-cell; width: auto;}
.landing .box .note { display: block; text-align: right; font-size: 12px; font-size: 1.2rem; font-weight: 700;}



/* 背景白パターン */
.landing .service_detail_box_2col .box.pat_01,
.landing .service_detail_box_2col .box.pat_02,
.landing .service_detail_box_2col .box.pat_03,
.landing .service_detail_box_2col .box.pat_04 {
	color: #344055;
	border-left: solid 1px #e1e1e1;
	border-right: solid 1px #e1e1e1;
	border-bottom: solid 1px #e1e1e1;
}

.landing .service_detail_box_2col .box.pat_02 .sub { color: #e73b55;}
.landing .service_detail_box_2col .box.pat_02 .box_head { color: #e73b55;}
.landing .service_detail_box_2col .box.pat_02 .box_head::before { border-top: solid 4px #e73b55;}
.landing .service_detail_box_2col .box.pat_02 dt { color: #e73b55;}

.landing .service_detail_box_2col .box.pat_03 .sub { color: #e8b53a;}
.landing .service_detail_box_2col .box.pat_03 .box_head { color: #e8b53a;}
.landing .service_detail_box_2col .box.pat_03 .box_head::before { border-top: solid 4px #e8b53a;}
.landing .service_detail_box_2col .box.pat_03 dt { color: #e8b53a;}

.landing .service_detail_box_2col .box.pat_04 .sub { color: #7ecaea;}
.landing .service_detail_box_2col .box.pat_04 .box_head { color: #7ecaea;}
.landing .service_detail_box_2col .box.pat_04 .box_head::before { border-top: solid 4px #7ecaea;}
.landing .service_detail_box_2col .box.pat_04 dt { color: #7ecaea;}


/* 背景ネイビーパターン */
.landing .service_detail_box_2col .box.pat_05 {
	color: #fff;
	background: #344055;
	border: 0;
}

.landing .service_detail_box_2col .box.pat_05 .box_head::before { border-top: solid 4px #fff;}
.landing .service_detail_box_2col .box.pat_05 .box_head span { background-color: #344055;}

/* 背景黄色パターン */
.landing .service_detail_box_2col .box.pat_06 {
	color: #344055;
	background: #e8b53a;
	text-align: center;
	border: 0;
}

.landing .service_detail_box_2col .box.pat_06 .box_head::before { border-top: solid 4px #344055;}
.landing .service_detail_box_2col .box.pat_06 .box_head span { background-color: #e8b53a;}


/* サービスインデックス */
.service_index { width: 100%; height: auto; background: #fafafa; padding: 20px 10px;}
.service_index .head {
	display: block;
	color: #344055;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
}

.service_index .head span{ display: block; font-size: 10px; font-size: 1rem; margin-top: 5px;}

.service_index ul { width: 100%;}

.service_index ul.company_index,
.service_index ul.education_index { width: 100%;}

.service_index ul li { width: 100%; text-align: center; margin-bottom: 10px;}
.service_index ul li a { opacity: 1; transition: all .3s;}

.service_index ul.company_index li a,
.service_index ul.education_index li a{
	display: block;
	color: #344055;
	line-height: 1.5;
}

.service_index ul li .name01 a,
.service_index ul li .name02 a,
.service_index ul li .name03 a,
.service_index ul li .name04 a{
	display: block;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 10px;
	border-radius: 3px;
	transition: all .3s;
}

.service_index ul.company_index li .name01 a { background: #e73b55;}
.service_index ul.company_index li .name02 a { background: #e8b53a;}
.service_index ul.company_index li .name03 a { background: #7ecaea;}

.service_index ul.education_index li .name01 a { background: #e73b55;}
.service_index ul.education_index li .name02 a { background: #e8b53a;}
.service_index ul.education_index li .name03 a { background: #7ecaea;}
.service_index ul.education_index li .name04 a { background: #344055;}

.service_index ul.company_index li .sub { width: 100%; display: table; margin-top: 10px;}
.service_index ul.company_index li .sub div { width: 50%; display: table-cell;}
.service_index ul.company_index li .sub div:nth-child(1) { padding-right: 5px;}
.service_index ul.company_index li .sub div:nth-child(2) { padding-left: 5px;}

.service_index ul.company_index li .sub div a {
	display: block;
	color: #344055;
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
	padding: 10px 10px;
	background: #fff;
	border: solid 1px #e1e1e1;
	text-decoration: none;
	border-radius: 3px;
	transition: all .3s;
}

.back_to_list { margin-top: 20px; text-align: right;}
.back_to_list a { font-size: 12px; font-size: 1.2rem; font-weight: 700; text-decoration: none; opacity: 1; transition: all .3s;}

@media screen and (min-width: 781px) {

.page_contents_wrap.service .landing_section_head.service.company,
.page_contents_wrap.service .landing_section_head.service.education { background-attachment: fixed;}

.landing .service_contents_head { background-size: 75px 75px;}
.landing .service_contents_head .number { font-size: 64px; font-size: 6.4rem;}
.landing .service_contents_head .number + hr { width: 100px;}
.landing .service_contents_head h2 { font-size: 28px; font-size: 2.8rem;}
	
.landing .service_content { margin-top: 40px;}
	
.landing .program_1 .service_name span { font-size: 20px; font-size: 2rem;}
.landing .program_1 .service_name h3 { font-size: 28px; font-size: 2.8rem;}


.landing ul.service_step li { width: 33.33333%; margin-bottom: 0; padding: 10px; float: left;}

.landing ul.service_step .step_title { text-align: center;}
	
.landing ul.service_step .step_title span{ display: block; font-size: 14px; font-size: 1.4rem; font-weight: 700; margin-bottom: 5px;}
.landing ul.service_step .step_title h4{ font-size: 20px; font-size: 2rem; font-weight: 700; line-height: 1;}

.landing ul.service_step .toggle_icon {
	position: absolute;
	display: block;
	text-align: center;
	right: 3px;
	bottom: 3px;
	height: 30px;
	width: 30px;
	color: #fff;
	background: #e73b55;
}

.landing ul.service_step .toggle_icon {
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 30px;
}

.landing ul.service_step .step_detail{ padding: 15px; border: solid 1px #e1e1e1; }
	
.landing .service_detail_box_2col { width: 100%; height: auto; display: table;}
.landing .service_detail_box_2col .box {
	width: 50%;
	display: table-cell;
	vertical-align: top;
	padding: 40px 40px;
	border-left: solid 1px #e1e1e1;
	border-right: solid 1px #e1e1e1;
	border-bottom: solid 1px #e1e1e1;
}

.landing .service_detail_box_2col .box:first-child { border-right: 0;}

.landing .service_detail_box_2col .box .sub { font-size: 16px; font-size: 1.6rem;}
.landing .service_detail_box_2col .box .box_head { font-size: 24px; font-size: 2.4rem;}
	
.landing .box ul { font-size: 16px; font-size: 1.6rem;}
.landing .box dl { font-size: 16px; font-size: 1.6rem;}

	
/* サービスインデックス */
.service_index { width: 100%; height: auto; background: #fafafa; padding: 40px 20px;}
.service_index .head { margin-bottom: 20px;}

.service_index ul { width: 100%; display: table;}
.service_index ul.company_index, .service_index ul.education_index { width: 100%; margin: 0 auto;}
.service_index ul.company_index li{ display: table-cell; width: 33.33333%; text-align: center; vertical-align: top;}
.service_index ul.company_index li:nth-child(1){ padding-right: 5px;}
.service_index ul.company_index li:nth-child(2){ padding: 0 5px;}
.service_index ul.company_index li:nth-child(3){ padding-left: 5px;}
	
.service_index ul.education_index li{ display: table-cell; width: 25%; text-align: center; vertical-align: top;}
.service_index ul.education_index li:nth-child(1){ padding-right: 5px;}
.service_index ul.education_index li:nth-child(2), .service_index ul.education_index li:nth-child(3) { padding: 0 5px;}
.service_index ul.education_index li:nth-child(4){ padding-left: 5px;}
	
.service_index ul.company_index li a,
.service_index ul.education_index li a { font-size: 12px; font-size: 1.2rem;}
	
.service_index ul.company_index li .sub div a { font-size: 12px; font-size: 1.2rem;}
	
.service_index ul li .name01 a,
.service_index ul li .name02 a,
.service_index ul li .name03 a,
.service_index ul li .name04 a { font-size: 12px; font-size: 1.2rem;}

.service_index ul li a:hover { opacity: .5; transition: all .3s;}
.back_to_list a:hover { opacity: .5; transition: all .3s;}
	
}

/* Landing Feature Section / ランディング 特徴セクション
------------------------------ */

.page_contents_wrap.service .landing_section_head.feature.company {
	background: url(./img/photo/service/service_company_feature.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.page_contents_wrap.service .landing_section_head.feature.education {
	background: url(./img/photo/service/service_education_feature.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.page_contents_wrap.service .page_contents_inner .feature_contents_wrap { padding: 40px 10px; background: #509798;}
.page_contents_wrap.service .page_contents_inner .feature_contents_wrap .inner { background: #fff; padding: 0 20px;}

.landing .feature_content { padding: 40px 0; max-width: 800px; margin: 0 auto; border-bottom: solid 1px #fafafa;}
.landing .feature_content:last-child { border-bottom: 0;}

.landing .feature_content .feature_head { margin-bottom: 20px;}

.landing .feature_content .feature_head .sub {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	color: #509798;
	margin-bottom: 5px;
}

.landing .feature_content .feature_head .number {
	display: block;
	width: 50px;
	height: 50px;
	color: #fff;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: 700;
	text-align: center;
	line-height: 50px;
	background: #509798;
	margin: 0 auto 10px;
	border-radius: 3px;
}

.landing .feature_content .feature_head h2 {
	font-size: 24px;
	font-size: 2.4rem;
	color: #509798;
	text-align: center;
	padding: 5px 10px;
	border-top: solid 2px #509798;
	border-bottom: solid 2px #509798;
}

.landing .feature_content .comments { padding: 15px; background: #fafafa;}

.landing .feature_content ul.point {
	text-align: left;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.65;
	padding-left: 1em;
	margin: 20px 0 0;
	padding: 15px 15px 15px 2em;
	border: solid 1px #e1e1e1;
}

.landing .feature_content ul.point li{
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 10px;
}

.landing .feature_content ul.point li span{
	background: linear-gradient(transparent 80%, #e8b53a 80%);
}

.landing .feature_content ul.point > li:before{
	content: '▶︎';
	display: inline-block;
	color: #509798;
	margin-right: 1em;
}

.landing .feature_content ul.point li:last-child { margin-bottom: 0;}

.landing .feature_content .voice_content .voice_head { width: 100%; height: auto; color: #509798; margin: 40px 0 20px;}
.landing .feature_content .voice_content .sub {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 3px;
	text-align: center;
}

.landing .feature_content .voice_content .voice_head h3{
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	position: relative;
	text-align: center;
}

.landing .feature_content .voice_content .voice_head h3::before {
    border-top: solid 2px #509798;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
}

.landing .feature_content .voice_content .voice_head h3 span {
	position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 0 10px;
}

.landing .feature_content .voice_content .voice_pickup { width: 100%; height: auto; border: solid 1px #e1e1e1;}
.landing .feature_content .voice_content .voice_pickup .thumbnail { width: 100%;}
.landing .feature_content .voice_content .voice_pickup .detail { width: 100%; padding: 20px;}
.landing .feature_content .voice_content .voice_pickup .detail h4{
	text-align: center;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	color: #509798;
	margin-bottom: 10px;
}

.landing .feature_content .voice_content .voice_pickup .detail .user {
	display: block;
	text-align: right;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	margin-top: 20px;
}

.landing .feature_content .voice_content ul.voice_list { width: 100%;}
.landing .feature_content .voice_content ul.voice_list li {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	padding: 15px 20px;
	background: rgba( 80, 151, 152, .15);
	border-radius: 5px;
	margin-bottom: 20px;
}
.landing .feature_content .voice_content ul.voice_list li:last-child { margin-bottom: 0;}
.landing .feature_content .voice_content ul.voice_list li .user {
	display: block;
	text-align: right;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	margin-top: 10px;
}

@media screen and (min-width: 781px) {
	
.page_contents_wrap.service .landing_section_head.feature.company,
.page_contents_wrap.service .landing_section_head.feature.education { background-attachment: fixed;}
	
.feature_contents_wrap { padding: 40px 0;}
.landing .feature_content { padding: 40px 0; max-width: 800px; margin: 0 auto;}
	
.landing .feature_content ul.point { font-size: 16px; font-size: 1.6rem;}
	
.landing .feature_content .voice_content .sub { font-size: 16px; font-size: 1.6rem;}
.landing .feature_content .voice_content .voice_head h3 { font-size: 20px; font-size: 2rem;}
	
.landing .feature_content .voice_content .voice_pickup { width: 100%; height: auto;}
.landing .feature_content .voice_content .voice_pickup .thumbnail { padding: 20px 20px 0;}
.landing .feature_content .voice_content .voice_pickup .thumbnail img{ margin: 0 auto; width: 50%;}
.landing .feature_content .voice_content .voice_pickup .detail {}
.landing .feature_content .voice_content .voice_pickup .detail h4{ font-size: 20px; font-size: 2rem;}
.landing .feature_content .voice_content .voice_pickup .detail .user { font-size: 12px; font-size: 1.2rem;}
	
.landing .feature_content .voice_content ul.voice_list li { font-size: 16px; font-size: 1.6rem;}

	
}

/* Landing Summary Section / ランディングまとめセクション
------------------------------ */

.landing .landing_summary { width: 100%; height: auto; background: #fafafa; padding: 100px 0;}

.landing .landing_summary .logo{ margin-bottom: 40px;}
.landing .landing_summary .logo img { width: auto; height: 100px; margin: 0 auto;}

.landing .landing_summary h1 { font-size: 20px; font-size: 2rem; text-align: center; line-height: 1.8;}

@media screen and (min-width: 781px) {
.landing .landing_summary h1 { font-size: 24px; font-size: 2.4rem;}
}

/* Landing Cntact Section / ランディングお問合せセクション
------------------------------ */

.landing .landing_contact { width: 100%; height: auto; padding: 100px 0;}
.page_contents_wrap.service .page_contents_inner .landing_contact .inner { background: #fff; padding: 0 20px;}


.landing .landing_contact h1{ margin: 0; padding: 0; line-height: 1; font-size: 24px; font-size: 2.4rem; text-align: center;}
.landing .landing_contact h1 + hr { 
	content: '';
	height: 2px;
	width: 75px;
	background: #344055;
	border: none;
	margin: 10px auto 20px;
}

.landing .landing_contact hr + p { font-size: 14px; font-size: 1.4rem; text-align: left;}

.landing .landing_contact .contact_content { width: 100%;}
.landing .landing_contact .contact_content .box { padding: 0;}

.landing .landing_contact .contact_head { color: #e73b55; margin: 40px 0 20px;}
.landing .landing_contact .contact_head .sub{
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}

.landing .landing_contact .contact_head h2{
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	position: relative;
	text-align: center;
	margin-bottom: 20px;
}

.landing .landing_contact .contact_head h2::before {
    border-top: solid 2px #e73b55;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
}

.landing .landing_contact .contact_head h2 span {
	position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 0 10px;
}

.landing .landing_contact .detail { border: solid 1px #e1e1e1; padding: 20px 15px; border-radius: 3px;}

.landing .landing_contact .mail, .landing .landing_contact .tel {
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	color: #e8b53a;
	margin-bottom: 20px;
}

.landing .landing_contact .mail a, .landing .landing_contact .tel a{
	color: #e8b53a;
	text-decoration: none;
}

.landing .landing_contact .mail_button, .landing .landing_contact .tel_button { text-align: center;}
.landing .landing_contact .mail_button a, .landing .landing_contact .tel_button a{
	display: inline-block;
	position: relative;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	padding: 7px 14px;
	background: #344055;
	text-decoration: none;
	vertical-align: middle;
	border-radius: 3px;
	transition: all .3s;
}

.landing .landing_contact .mail_button a::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url(./img/icon/contact_link_w_icon.svg) no-repeat;
	background-size: contain;
	background-position: center center;
	vertical-align: text-bottom;
	margin-right: 5px;
}
.landing .landing_contact .tel_button a::before{
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url(./img/icon/tel_link_w_icon.svg) no-repeat;
	background-size: contain;
	background-position: center center;
	vertical-align: text-bottom;
	margin-right: 5px;
}

.landing .landing_contact .note { line-height: 1.6; margin-top: 20px; text-align: center;}


@media screen and (min-width: 781px) {

.landing .landing_contact h1{ font-size: 28px; font-size: 2.8rem;}
.landing .landing_contact hr + p { text-align: center;}
	
.landing .landing_contact .contact_content { display: table; width: 100%;}
.landing .landing_contact .contact_content .box { display: table-cell; width: 50%; padding: 20px;}
	
.landing .landing_contact .contact_head .sub{ font-size: 16px; font-size: 1.6rem;}
.landing .landing_contact .contact_head h2{ font-size: 20px; font-size: 2rem;}
	
.landing .landing_contact .mail_button a:hover, .landing .landing_contact .tel_button a:hover { background: #e8b53a; transition: all .3s;}

}

/* Service Page Design Tag / サービスページデザインタグ
------------------------------ */

.landing .text_y { color: #e8b53a;}
.landing .text_r { color: #e73b55;}
.landing .text_bg_y { color: #344055; background: #e8b53a; padding: 3px; border-radius: 3px;}
.landing .text_bg_n { color: #fff; background: #344055; padding: 3px; border-radius: 3px;}
.landing .text_bg_r { color: #fff; background: #e73b55; padding: 3px; border-radius: 3px;}

.landing .landing_preface .arrow_bottom {
	width: 0;
	height: 0;
	border-top: 20px solid #fff;
	border-right: 60px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 60px solid transparent;
	margin: 40px auto 20px;
}


@media screen and (min-width: 781px) {

.landing .landing_preface .arrow_bottom {
	width: 0;
	height: 0;
	border-top: 30px solid #fff;
	border-right: 80px solid transparent;
	border-bottom: 30px solid transparent;
	border-left: 80px solid transparent;
	margin: 40px auto 20px;
}
	
}

/* ==========
	Method Page　Style / メソッドページコンテンツ
=================================== */

/* Method Page / メソッドページ
------------------------------ */

.method .page_visual_contents { height: 225px; background: url(./img/pattern/line_y_pattern.jpg);}
.method .page_head { background-color: #344055; color: #fff;}
.method .page_head h1::before { background-image: url(./img/icon/method_w_icon.svg);}

.page_contents_wrap.method { background: #e8b53a; padding: 0 10px 60px; border-top: solid 14px #344055;}

.method .page_contents { top: 0;}
.method .page_contents_inner{
	position: relative;
	background: none;
	padding: 20px 0 60px;
	top: 0;
}

.method .page_contents_head { background: #344055; color: #fff; padding: 0 20px 40px; border-bottom: 0; border-radius: 3px;}
.method .page_contents_head h2 { color: #fff;}


.method .page_contents_inner .page_child_list { width: 100%; max-width: 900px; margin: 0 auto;}

.method .page_contents_inner .page_child_list .list_head { position: relative; width: 100%; text-align: center;}
.method .page_contents_inner .page_child_list .list_head span{
    display: inline-block;
    position: relative;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    font-size: 1.4rem;
	font-weight: 700;
    vertical-align: middle;
    text-align: center;
    padding: 0 40px;
	margin-bottom: 5px;
    background: #344055;
    color: #fff;
}

.method .page_contents_inner .page_child_list .list_head span::before,
.method .page_contents_inner .page_child_list .list_head span::after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}

.method .page_contents_inner .page_child_list .list_head span::before {
    top: 0;
    left: 0;
    border-width: 15px 0px 15px 15px;
    border-color: transparent transparent transparent #fff;
    border-style: solid;
}

.method .page_contents_inner .page_child_list .list_head span::after{
    top: 0;
    right: 0;
    border-width: 15px 15px 15px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
}

.method .page_contents_inner .page_child_list .list_head h3 {
	position: relative;
	text-align: center;
	margin-bottom: 20px;
}

.method .page_contents_inner .page_child_list .list_head h3::before {
	border-top: solid 3px #344055;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;

}
.method .page_contents_inner .page_child_list .list_head h3 span {
    display: inline-block;
    position: relative;
	color: #344055;
	font-size: 20px;
    font-size: 2rem;
	font-weight: 700;
    background: #fff;
    padding: 0 10px;
}

.method .page_contents_inner .page_child_list .list_head h3 span::before,
.method .page_contents_inner .page_child_list .list_head h3 span::after {
    border-width: 0;
    border-color: none;
    border-style: none;
}

.method .page_contents_inner .page_child_list .list_wrap{
	margin-bottom: 40px;
	padding: 40px 10px;
	border: solid 4px #344055;
	background: #fff;
	border-radius: 3px;
}
.method .page_contents_inner .page_child_list ul{ display: none; width: 100%; counter-reset: list 0;}
.method .page_contents_inner .page_child_list li{ width: 100%; margin-bottom: 20px;}
.method .page_contents_inner .page_child_list li:last-child { margin-bottom: 0;}

.method .page_contents_inner .page_child_list li a {
	position: relative;
	display: block;
	text-decoration: none;
	color: #fff;
	border: solid 3px #344055;
	background: #344055;
	background-image:url(./img/deco/corner_b_r_y.svg)!important;
	background-repeat: no-repeat!important;
	background-position: bottom 5px right 5px!important;
	background-size: 15px 15px!important;
	border-radius: 3px;
	transition: all .3s;
}

.method .page_contents_inner .page_child_list li .detail::before {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	font-size: 42px;
    font-size: 4.2rem;
	font-weight: 700;
	text-align: center;
	padding-right: 10px;
	border-right: solid 2px #fff;
	counter-increment: list 1;
	content: counter(list);
}

.method .page_contents_inner .page_child_list li .detail {
	position: relative;
	padding: 5px 10px 5px 70px;
	min-height: 60px;
	font-size: 16px;
    font-size: 1.6rem;
	font-weight: 700;
	text-align: left;
}

.method .page_contents_inner .page_child_list li .detail h4{
	position: absolute;
	left: 70px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	padding-right: 10px;
}

@media screen and (min-width: 781px) {
	
.method .page_visual_contents { height: 300px;}
.method .page_contents_inner{ position: relative; background: none; padding: 20px 0 60px; top: 0;}
	
.method .page_contents_inner .page_child_list .list_wrap { margin-bottom: 80px; padding: 40px 20px;}
	
.method .page_contents_inner .page_child_list ul{ display: block;}
.method .page_contents_inner .page_child_list li h3 { font-size: 20px; font-size: 2rem;}
.method .page_contents_inner .page_child_list li span { font-size: 12px; font-size: 1.2rem;}
	
.method .page_contents_inner .page_child_list li{
	float: left;
	width: 47.77777777777778%;
	margin-right: 4.444444444444445%;
	margin-bottom: 40px;
}
	
.method .page_contents_inner .page_child_list li:nth-child(2n) { margin-right: 0;}
.method .page_contents_inner .page_child_list li:last-child,
.method .page_contents_inner .page_child_list li:nth-last-child(2) { margin-bottom: 0;}
	
.method .page_contents_inner .page_child_list li a:hover { color: #344055; border: solid 3px #344055; background: #fff; transition: all .3s;}
.method .page_contents_inner .page_child_list li a:hover .detail::before { border-right: solid 2px #344055;}
	
.method .page_contents_inner .page_child_list li .detail h4{ font-size: 16px; font-size: 1.6rem;}
		
}

/* Method Child Page / メソッド子ページ
------------------------------ */

.method .page_child_visual_contents { background: url(./img/pattern/line_y_pattern.jpg);}
.method .page_child_head { background: #344055;}
.method .page_child_head h1 {
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
}

.method .page_child_contents_inner {
	background: #fff;
	border: solid 4px #344055;
	background-image:url(./img/icon/page_head_n_bg.svg);
	background-repeat: no-repeat;
	background-position: top 10px right 10px;
	background-size: 50px 50px;
	border-radius: 3px;
}

.method .page_child_contents_head { border-bottom: solid 4px #344055;}
.page_child_contents_side_wrap.method { background: #e8b53a; border-top: solid 14px #344055;}

.method .page_child_content { width: 100%; max-width: 900px; margin: 0 auto;}

.method .page_child_contents_head .step {
	display: block;
	text-align: center;
	margin-bottom: 20px;
	color: #e8b53a;
	font-size: 28px;
	font-size: 2.8rem;
	letter-spacing: .1em;
	font-weight: 700;
}

.method .page_child_contents_head h2 { color: #344055; margin-bottom: 0; font-size: 20px; font-size: 2rem;}

.method .page_child_content { text-align: left;}
.method .page_child_content p { max-width: 600px; margin: 0 auto 40px;}
.method .page_child_content p:last-child { margin-bottom: 0;}
.method .page_child_content a.link { color: #e8b53a;}

.method .page_child_content h3 {
	font-size: 20px;
	font-size: 2rem;
	color: #fff;
	padding: 5px 20px;
	text-align: center;
	background: #344055;
	max-width: 600px;
	margin: 0 auto 20px;
	border-radius: 3px;
}

.method .page_child_content .bg_gray {
	max-width: 600px;
	margin: 0 auto 40px;
	padding: 20px;
	background: #fafafa;
}

.method .page_child_content .bg_gray p { margin-bottom: 20px;}
.method .page_child_content .bg_gray p:last-child { margin-bottom: 0;}

.method .page_child_content ul,
.method .page_child_content ol {
	text-align: left;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	max-width: 600px;
	margin: 0 auto 40px;
	padding: 20px;
	background: #fafafa;
	border-radius: 3px;
}

.method .page_child_content ol { counter-reset: entry_ol;}

.method .page_child_content li { padding: 10px 0; padding-left: 1.5em; text-indent: -1.5em; line-height: 1.6;}
.method .page_child_content ul li::before {
	content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 10px;
    background: #344055;
    transform: rotate(45deg);
}

.method .page_child_content ol li:before{
	counter-increment: entry_ol;
	content: counter(entry_ol);
	display: inline-block;
	background: #344055;
	color: #fff;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
    margin-right: 7px;
	text-indent: 0;
	border-radius: 3px;
}

.method .page_child_content .point {
	position: relative;
	max-width: 600px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	padding: 20px 20px 20px 20px;
	border: 1px solid #e1e1e1;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
	margin: 20px auto;
	border-radius: 3px;
}

.method .page_child_content .point::before {
	content:url(./img/icon/point.svg);
	width: 30px;
	display: block;
	text-align: center;
	margin: 0 auto 10px;
}

.method .page_child_content .button_01 { padding: 0;}
.method .page_child_content .button_01 a { width: 100%;}


@media screen and (min-width: 781px) {
	
.method .page_child_content .point {
	position: relative;
	max-width: 600px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	padding: 27px 20px 20px 60px;
	border: 1px solid #e1e1e1;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
	margin: 20px auto;
}

.method .page_child_content .point::before {
	content:url(./img/icon/point.svg);
	width: 30px;
	position: absolute;
	display: inline-block;
	top: 15px;
	left: 15px;
}

}

.method .page_child_content .point ul,
.method .page_child_content .point ol {
	text-align: left;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin: 0;
	padding: 0;
	background: none;
}

.method .page_child_content .point ul li::before {
	content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 10px;
    background: #344055;
    transform: rotate(45deg);
}

.method .page_child_content .note { display: block; text-align: right; font-size: 12px; font-size: 1.2rem; line-height: 1.5;}

.method .page_child_content .col_2 { width: 100%; margin-bottom: 40px; border-bottom: solid 1px #e1e1e1;}
.method .page_child_content .col_2 div:nth-child(1),
.method .page_child_content .col_2 div:nth-child(2) { width: 100%; margin-bottom: 20px;}
.method .page_child_content .col_2 div:nth-child(2) { margin-bottom: 0;}

.method .page_child_content .col_3 { width: 100%; margin-bottom: 40px; border-bottom: solid 1px #e1e1e1;}
.method .page_child_content .col_3 img { margin: 0 auto; margin-bottom: 20px}
.method .page_child_content .col_3 div:nth-child(1),
.method .page_child_content .col_3 div:nth-child(2),
.method .page_child_content .col_3 div:nth-child(3) { width: 100%; padding: 0; margin-bottom: 20px;}
.method .page_child_content .col_3 div:nth-child(3) { margin-bottom: 0;}

.method .page_child_content .col_4 { width: 100%; margin-bottom: 40px; border-bottom: solid 1px #e1e1e1;}
.method .page_child_content .col_4 img { width: 75%; margin: 0 auto; margin-bottom: 20px}
.method .page_child_content .col_4 p { margin: 0 auto; margin-bottom: 20px}
.method .page_child_content .col_4 p:last-child { margin-bottom: 0;}
.method .page_child_content .col_4 div:nth-child(1),
.method .page_child_content .col_4 div:nth-child(2),
.method .page_child_content .col_4 div:nth-child(3),
.method .page_child_content .col_4 div:nth-child(4) { width: 100%; padding: 0; margin-bottom: 40px;}
.method .page_child_content .col_4 div:nth-child(4) { margin-bottom: 0;}

.method .page_child_content .col_3 h3,
.method .page_child_content .col_4 h3 {
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 10px;
	text-align: center;
	color: #fff;
	padding: 5px 10px;
	background: #e8b53a;
}

.method .page_child_content .col_2 p { margin-bottom: 20px;}
.method .page_child_content .col_3 p,
.method .page_child_content .col_4 p { font-size: 16px; font-size: 1.6rem;}

.method .pager { width: 100%; margin-top: 10px;}
.method .pager .prev { width: 100%; margin-top: 10px;}
.method .pager .next { width: 100%; margin-top: 10px;}

.method .pager .prev a,
.method .pager .next a{
	display: block;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.6;
	text-decoration: none;
	padding: 15px 10px;
	background: #344055;
	border-radius: 3px;
	transition: all .3s;
}

.method .pager .prev a::before { display: block; content: '◀︎ PREV METHOD'; margin-bottom: 10px;}
.method .pager .next a::before { display: block; content: 'NEXT METHOD ▶︎'; margin-bottom: 10px;}

.method .side .page_child_list .list_wrap { margin-bottom: 40px; padding: 40px 10px; border: solid 4px #344055; background: #fff; border-radius: 3px;}
.method .side .page_child_list .list_wrap:last-child { margin-bottom: 0;}

.method .side .page_child_list .list_head { position: relative; width: 100%; text-align: center;}
.method .side .page_child_list .list_head span{
    display: inline-block;
    position: relative;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    font-size: 1.4rem;
	font-weight: 700;
    vertical-align: middle;
    text-align: center;
    padding: 0 40px;
    background: #344055;
    color: #fff;
}

.method .side .page_child_list .list_head span::before,
.method .side .page_child_list .list_head span::after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}

.method .side .page_child_list .list_head span::before {
    top: 0;
    left: 0;
    border-width: 15px 0px 15px 15px;
    border-color: transparent transparent transparent #fff;
    border-style: solid;
}

.method .side .page_child_list .list_head span::after{
    top: 0;
    right: 0;
    border-width: 15px 15px 15px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
}

.method .side .page_child_list .list_head h1 {
	position: relative;
	text-align: center;
	margin-bottom: 5px;
	line-height: 1;
}

.method .side .page_child_list .list_head h1::before {
	border-top: solid 3px #344055;
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;

}

.method .side .page_child_list .list_head h1 span {
    display: inline-block;
    position: relative;
	color: #344055;
	font-size: 18px;
    font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
    background: #fff;
    padding: 0 10px;
}

.method .side .page_child_list .list_head h1 span::before,
.method .side .page_child_list .list_head h1 span::after {
    border-width: 0;
    border-color: none;
    border-style: none;
}

.method .side .page_child_list ul{ display: none; width: 100%; counter-reset: list 0;}
.method .side .page_child_list li{ width: 100%; margin-bottom: 10px;}
.method .side .page_child_list li:last-child { margin-bottom: 0;}

.method .side .page_child_list li a {
	position: relative;
	display: block;
	text-decoration: none;
	color: #fff;
	border: solid 3px #344055;
	background: #344055;
	background-image:url(./img/deco/corner_b_r_y.svg)!important;
	background-repeat: no-repeat!important;
	background-position: bottom 5px right 5px!important;
	background-size: 15px 15px!important;
	border-radius: 3px;
	transition: all .3s;
}

.method .side .page_child_list li .detail::before {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	font-size: 36px;
    font-size: 3.6rem;
	font-weight: 700;
	text-align: center;
	padding-right: 10px;
	border-right: solid 2px #fff;
	counter-increment: list 1;
	content: counter(list);
}

.method .side .page_child_list li .detail {
	position: relative;
	padding: 5px 10px 5px 70px;
	min-height: 50px;
}

.method .side .page_child_list li .detail h2{
	position: absolute;
	left: 60px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	padding-right: 10px;
	text-align: left;
}

.method .page_child_content .mb_0 { margin-bottom: 0!important;}
.method .page_child_content .bb_0 { border-bottom: 0!important;}

/* リストトグル */
.list_more { position: relative; padding: 10px 10px; text-align: left; background: #344055; margin-bottom: 10px; border-radius: 3px; z-index: 1;}
.list_more .list_name { font-size: 14px; font-size: 1.4rem; font-weight: 700; color: #fff;}

.list-trigger,
.list-trigger span {
	display: inline-block;
	transition: all .5s;
	box-sizing: border-box;
}
.list-trigger {
	position: absolute;
	top: 8px;
	right: 10px;
	width: 17px;
	height: 16px;
	z-index: 1;
}

.list-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
	border-radius: 2px;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	z-index: 1;
}

.list-trigger span:nth-of-type(1) { top: 0; }
.list-trigger span:nth-of-type(2) { top: 7px; }
.list-trigger span:nth-of-type(3) { bottom: 0; }
.list_more.active .list-trigger { -webkit-transform: rotate(360deg); transform: rotate(360deg);}
.list_more.active .list-trigger span:nth-of-type(1) { -webkit-transform: translateY(7px) rotate(-45deg); transform: translateY(7px) rotate(-45deg);}
.list_more.active .list-trigger span:nth-of-type(2) { -webkit-transform: translateY(0) rotate(45deg); transform: translateY(0) rotate(45deg);}
.list_more.active .list-trigger span:nth-of-type(3) { opacity: 0;}

@media screen and (min-width: 781px) {

.method .page_child_contents_inner { background-size: 75px 75px;}

.method .page_child_head h1 { font-size: 24px; font-size: 2.4rem;}
.method .page_child_contents_head h2 { font-size: 24px; font-size: 2.4rem;}
.method .page_child_content .col_2 { width: 100%; margin: 0 auto; display: table; margin-bottom: 40px;}
.method .page_child_content .col_2 div:nth-child(1),
.method .page_child_content .col_2 div:nth-child(2) { display: table-cell; width: 50%; vertical-align: top; padding: 15px;}

.method .page_child_content .col_3 { width: 100%; margin: 0 auto; display: table; margin-bottom: 40px;}
.method .page_child_content .col_3 div:nth-child(1),
.method .page_child_content .col_3 div:nth-child(2),
.method .page_child_content .col_3 div:nth-child(3) { display: table-cell; width: 33.33333%; vertical-align: top; padding: 15px;}
	
.method .page_child_content .col_4 { width: 100%; margin: 0 auto; display: table; margin-bottom: 40px;;}
.method .page_child_content .col_4 img { margin: 0 auto; margin-bottom: 20px}
.method .page_child_content .col_4 p { margin: 0 auto; margin-bottom: 20px}
.method .page_child_content .col_4 p:last-child { margin-bottom: 0;}
.method .page_child_content .col_4 div:nth-child(1),
.method .page_child_content .col_4 div:nth-child(2),
.method .page_child_content .col_4 div:nth-child(3),
.method .page_child_content .col_4 div:nth-child(4) { display: table-cell; width: 25%; vertical-align: top; padding: 10px;}
	
.method .page_child_content .col_3 h3,
.method .page_child_content .col_4 h3 { font-size: 14px; font-size: 1.4rem;}
.method .page_child_content .col_3 p,
.method .page_child_content .col_4 p { font-size: 14px; font-size: 1.4rem;}


.method .pager { width: 100%; display: table; margin-top: 10px;}
.method .pager .prev { width: 50%; display: table-cell; text-align: left; vertical-align: middle; border-right: solid 5px #e8b53a; margin-top: 0}
.method .pager .next { width: 50%; display: table-cell; text-align: right; vertical-align: middle; border-left: solid 5px #e8b53a; margin-top: 0}
	
.method .pager .prev a:hover,
.method .pager .next a:hover{ color: #344055; background: #fff; transition: all .3s;}
.method .pager .prev a,
.method .pager .next a{ padding: 15px 20px;}
	
.method .side .page_child_list li a:hover { color: #344055; background: #fff; transition: all .3s;}
.method .side .page_child_list li a:hover .detail::before { border-right: solid 2px #344055;}
	
}

/* ==========
	Internship Page　Style / インターンシップページコンテンツ
=================================== */

/* Internship Page / インターンシップページ
------------------------------ */

.internship .page_visual_contents { height: 225px; background: url(./img/pattern/line_b_pattern.jpg);}
.internship .page_head { background-color: #7ecaea; color: #fff;}
.internship .page_head h1::before { background-image: url(img/icon/internship_w_icon.svg);}

.page_contents_wrap.internship { background: #fff; padding: 0 0 100px; max-width: 100%;}

.internship .page_contents { top: 0; max-width: 100%;}
.internship .page_contents_inner{
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	background: none;
	padding: 0;
	top: 0;
}

.internship .archive_list { width: 100%; padding: 0px 0;}
.internship .archive_list li {
	position: relative;
	width: 100%;
	padding: 0;
	border-bottom: solid 1px #e1e1e1;
}

.internship .archive_list li:last-child { border-bottom: 0;}

.internship .archive_list li a{
	display: block;
	color: #fff;
	text-decoration: none;
	background: #fafafa;
	padding: 10px;
}

.internship .archive_list li .thumbnail {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
}
	
.internship .archive_list li .thumbnail img {
	position: absolute;
	height: auto;
	width: 100;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1);
}

.internship .archive_list li .post_detail {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(52, 64, 85, .3)
}

.internship .archive_list li .post_detail_inner {
	position: absolute;
	width: 100%;
	height: auto;
	padding: 0 20px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1);
}

.internship .archive_list li .post_detail h2 {
	display: inline-block;
	width: 100%;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
}

.internship .archive_list li .post_detail h2 + hr{
	width: 80%;
	height: 2px;
	background: #fff;
	margin: 8px auto 12px;
}

.internship .archive_list li .post_info { display: block; text-align: center;}

.internship .archive_list li .post_detail .industry,
.internship .archive_list li .post_detail .area {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	padding: 5px 20px;
	border-radius: 3px;
}

.internship .archive_list li .post_detail .industry { margin-right: 10px; background: #344055; color: #fff;}
.internship .archive_list li .post_detail .area { background: #fff; color: #344055;}

.internship .archive_list li .more {
	position: absolute;
	display: block;
	text-align: center;
	right: 0;
	bottom: 0;
	height: 40px;
	width: 40px;
	background: #e73b55;
}

.internship .archive_list li .more span {
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 35px;
}

@media screen and (min-width: 781px) {

.internship .page_visual_contents { height: 300px;}
	
.internship .page_contents { top: 0; max-width: 100%; background: #fff;}
	
.internship .page_contents_inner{
	position: relative;
	background: none;
	padding: 0;
	top: 0;
	max-width: 100%;
}	
	
.internship .archive_list { width: 100%; padding: 0;}
	
.internship .archive_list li {
	position: relative;
	left: 0;
	top: 0;
	width: 50%;
	float: left;
	height: auto;
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
	background: none;
	box-shadow:none;
}

.internship .archive_list li:nth-child(2n) { border-right: 0;}
	
.internship .archive_list li a{
	display: block;
	width: 100%;
	height: auto;
	color: #fff;
	background: #fafafa;
	padding: 20px;
	transition: all .3s;
}

.internship .archive_list li .thumbnail {
	width: 100%;
	margin-right: 0;
	position: relative;
	height: 300px;
	overflow: hidden;
}
		
.internship .archive_list li .thumbnail img {
	position: absolute;
	height: auto;
	width: 100%;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1); transition: all 5s;
}
	
.internship .archive_list li a:hover .thumbnail img {
	transform: translate(-50%,-50%) scale(1.2);
	transition: all 5s;
}

.internship .archive_list li .post_detail {
	transform: scale(.5);
	opacity: 0;
	transition: all .5s;
}
	
.internship .archive_list li a:hover .post_detail {
	transform: scale(1);
	opacity: 1;
	transition: all .5s;
}
	
	
.internship .archive_list li .post_detail_inner { width: 100%; padding: 0 40px;}
	
.internship .archive_list li .post_detail h2{
	visibility: hidden;
	opacity: 0;
	transform: translateY(-15px);
	font-size: 20px;
	font-size: 2rem;
	transition: all .1s .25s;
}
	
.internship .archive_list li a:hover .post_detail h2{
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	transition: all .5s .75s;
}
	
.internship .archive_list li .post_detail h2 + hr{
	width: 0;
	transition: all .1s .25s;
}
	
.internship .archive_list li a:hover .post_detail h2 + hr{
	width: 80%;
	transition: all .5s .25s;
}

.internship .archive_list li .post_detail .industry,
.internship .archive_list li .post_detail .area { font-size: 14px; font-size: 1.4rem;}
	
.internship .archive_list li .post_info {
	visibility: hidden;
	opacity: 0;
	transform: translateY(15px);
	transition: all .1s .25s;
}
	
.internship .archive_list li a:hover .post_info {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	transition: all .5s .5s;
}
	
.internship .archive_list li .more {
	transform: scale(0);
	opacity: 0;
	transition: all .1s .1s;
}

.internship .archive_list li a:hover .more {
	transform: scale(1);
	opacity: 1;
	transition: all .5s .75s;
}

.internship .archive_list li .more span {
	display: inline-block;
	transform: scale(0) rotate(-360deg);
	opacity: 0;
	line-height: 40px;
	transition: all .1s .1s;
}

.internship .archive_list li a:hover .more span {
	transform: scale(1) rotate(0);
	opacity: 1;
	transition: all .5s 1s;
}
}

/* Internship Sigle Page / インターンシップ個別ページ
------------------------------ */

.page_child_contents_wrap.internship { background: #fff; padding: 0 0 100px; max-width: 100%;}
.internship .page_child_contents_inner{
	position: relative;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	background: none;
	padding: 40px 20px;
	top: 0;
}

.internship .page_child_contents_head { border-bottom: solid 1px #e1e1e1; padding-bottom: 20px; text-align: center;}
.internship .page_child_contents_head .post_info { margin-bottom: 20px;}

.internship .page_child_contents_head .post_info .industry,
.internship .page_child_contents_head .post_info .area {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	padding: 5px 20px;
}

.internship .page_child_contents_head .post_info .industry { margin-right: 10px; background: #344055; color: #fff; border-radius: 3px;}
.internship .page_child_contents_head .post_info .area { background: #fff; border: solid 1px #344055; color: #344055; border-radius: 3px;}

.internship .page_child_contents_head h1 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	padding: 10px 0;
	margin-bottom: 20px;
	border-top: solid 2px #344055;
	border-bottom: solid 2px #344055;
}

.internship .page_child_content .entry_box h1 {
	font-size: 18px;
	font-size: 1.8rem;
	color: #344055;
	background: rgba(52, 64, 85, 0.1);
	padding: 7px 15px;
	border-left: solid 10px #344055;
}

.internship .page_child_content .entry_box p { font-size: 14px; font-size: 1.4rem; padding: 0 10px;}

.internship .page_child_content .entry_box ul {
	text-align: left;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.65;
	margin: 20px 0 40px;
	padding: 10px;
}

.internship .page_child_content .entry_box ul li {
	position: static;
	display: inline-block;
	margin-right: 5px;
	padding: 0;
	text-indent: 0;
}
.internship .page_child_content .entry_box ul li:last-child { margin-right: 0;}
.internship .page_child_content .entry_box ul li:not(:first-child)::before {
	content: '/';
	width: auto;
	height: auto;
	padding: 0;
	margin: 0 5px 0 0;
	background: none;
	transform: rotate(0);
}

.internship .page_child_content .entry_box ul > li:before{ content: none;}

.internship .page_child_content .entry_box table {
    width: 100%;
	box-sizing: border-box;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.75;
	font-weight: 700;
	border-top: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1;
    border-spacing: 0;
	box-shadow: none;
	overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
	margin: 20px auto 40px;
}

.internship .page_child_content .entry_box table a { text-decoration: none; transition: all .3s;}

.internship .page_child_content .entry_box th, .internship .page_child_content .entry_box td {
    text-align: left;
    padding: 7px 10px;
    border-bottom: 1px solid #e1e1e1;
    border-left: 1px solid #e1e1e1;
}

.internship .page_child_content .entry_box th { width: 100px; background-color: #344055; color: #fff; font-weight: 700;}
.internship .page_child_content .entry_box tr:hover {background-color: rgba(0, 0, 0, 0.01); }

.internship .page_child_content .entry_box .comments_wrap { padding: 40px 0; border-top: dashed 1px #e1e1e1;}
.internship .page_child_content .entry_box .comments_wrap .comments { padding: 20px; border: solid 1px #e1e1e1;  border-radius: 3px;}
.internship .page_child_content .entry_box .comments_wrap div:first-child { margin-bottom: 20px;}
.internship .page_child_content .entry_box .comments_wrap .comments h1 {
	font-size: 14px;
	font-size: 1.4rem;
	color: #344055;
	font-weight: 700;
	background: none;
	padding: 0;
	margin: 0 0 5px 0;
	border-left: none;
}
.internship .page_child_content .entry_box .comments_wrap .comments p { font-size: 14px; font-size: 1.4rem; padding: 0; margin: 0;}

.internship .page_child_contents_inner .pager {
	width: 100%;
	border-bottom: solid 1px #e1e1e1;
	border-top: solid 1px #e1e1e1;
}

.internship .page_child_contents_inner .pager .prev { text-align: left; border-bottom: solid 1px #e1e1e1;}
.internship .page_child_contents_inner .pager .next { text-align: right;}

.internship .page_child_contents_inner .pager .prev a::before { content: '<'; margin-right: 5px;}
.internship .page_child_contents_inner .pager .next a::after { content: '>'; margin-left: 5px;}

.internship .page_child_contents_inner .pager .next a,
.internship .page_child_contents_inner .pager .prev a {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
	text-decoration: none;
	padding: 20px 0;
}

@media screen and (min-width: 781px) {
.internship .page_child_contents_inner{ padding: 60px 0;}
.internship .page_child_contents_head { border-bottom: solid 1px #e1e1e1; padding-bottom: 40px;  margin-bottom: 40px; text-align: center;}
.internship .page_child_contents_head .post_info .industry,
.internship .page_child_contents_head .post_info .area { font-size: 14px; font-size: 1.4rem;}
.internship .page_child_contents_head h1 { font-size: 24px; font-size: 2.4rem; font-weight: 700;}
	
.internship .page_child_content .entry_box h1 { font-size: 20px; font-size: 2rem;}
.internship .page_child_content .entry_box p { font-size: 16px; font-size: 1.6rem; margin-bottom: 60px;}
.internship .page_child_content .entry_box ul { font-size: 16px; font-size: 1.6rem; margin-bottom: 60px;}
.internship .page_child_content .entry_box table { font-size: 16px; font-size: 1.6rem; margin-bottom: 60px;}
.internship .page_child_content .entry_box th { width: 125px;}
.internship .page_child_content .entry_box table a:hover { color: #e8b53a; transition: all .3s;}

.internship .page_child_content .entry_box .comments_wrap { padding: 60px 0; border-top: dashed 1px #e1e1e1;}
.internship .page_child_content .entry_box .comments_wrap .comments h1 { font-size: 16px; font-size: 1.6rem;}
.internship .page_child_content .entry_box .comments_wrap .comments p { font-size: 14px; font-size: 1.4rem; padding: 0; margin: 0;}	
	
.internship .page_child_contents_inner .pager { width: 100%; display: table; padding: 10px 0; border-bottom: solid 1px #e1e1e1;}

.internship .page_child_contents_inner .pager .prev { display: table-cell; width: 50%; border-bottom: 0; border-right: 1px solid #e1e1e1;}
.news .page_child_contents_inner .pager .next { display: table-cell; width: 50%;}

.internship .page_child_contents_inner .pager .next a,
.internship .page_child_contents_inner .pager .prev a {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	text-decoration: none;
	padding: 10px 0;
	opacity: 1;
	transition: all .3s;
}
	
.internship .page_child_contents_inner .pager .next a:hover,
.internship .page_child_contents_inner .pager .prev a:hover { opacity: .5; transition: all .3s;}

}

/* Search / 検索結果
------------------------------ */

.search .page_child_visual_contents { background: url(./img/pattern/line_b_pattern.jpg);}
.search .page_child_head { background: #7ecaea;}
.search .page_child_head h1, .about .page_child_head span { color: #fff;}
.search .page_child_head h1 span { display: inline-block; font-size: 18px; font-size: 1.8rem; font-weight: 700;}
.search .page_child_head h1 span + span { margin: 0 0 0 10px;}

.internship .search_box { width: 100%; background: #7ecaea;}
.internship .search_box_inner {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 20px 20px;
}

.internship .search_content {
	display: table;
	width: 100%;
	margin-bottom: 20px;
}

.internship .select_wrap {
	display: table-cell;
    position: relative;
	width: auto;
}

.internship .select_wrap:before {
    z-index: 1;
    position: absolute;
    right: 10px;
    top: 0;
    content: "\f123";
    font-family: "IonIcons";
    line-height: 30px;
    color: #344055;
    pointer-events: none;
}

.internship label {
	display: table-cell;
	width: 50px;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 30px;
}

.internship select{
	width: 100%;
    outline:none;
	cursor: pointer;
    -moz-appearance: none;
    text-overflow: '';
    appearance: button;
    appearance: none;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
    padding: 0 25px 0 15px;
	line-height: 30px;
    border: 1px solid #344055;
    color:#344055;
	background: #fff;
    border-radius:3px;
}

.internship select option{
  background-color: #fff;
  color: #344055;
}

.internship select::-ms-expand {
  display: none;
}

.internship select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #344055;
}

.internship .search_submit {
    display: block;
	width: 100%;
	cursor: pointer;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
    padding: 0 15px 0 15px;
	line-height: 30px;
    text-decoration: none;
    color: #fff;
	background: #344055;
	border: solid 2px #344055;
    border-radius: 3px;
    transition: all .3s;
}

.internship .search_submit:hover {
    background: #fff;
    color: #344055;
    transition: all .3s;
}

.internship .no_search { padding: 40px 20px; text-align: center;}
.internship .no_search h2 { font-size: 24px; font-size: 2.4rem; font-weight: 700; color: #e8b53a; margin-bottom: 10px;}
.internship .no_search p { max-width: 600px; margin: 0 auto;}

@media screen and (min-width: 781px) {
.internship .search_box_inner { padding: 20px 0;}
.internship .search_content { display: inline-block; width: auto; margin-right: 20px; margin-bottom: 0;}
.internship label { display: inline-block; width: auto; margin-right: 5px;}
.internship .select_wrap { display: inline-block; position: relative;}
.internship .search_submit { display: inline-block; width: auto;}
}

/* ==========
	News Page　Style / ニュースページコンテンツ
=================================== */

/* News Page / ニュースページ
------------------------------ */

.news .page_visual_contents { height: 225px; background: url(./img/pattern/line_r_pattern.jpg);}
.news .page_head { background-color: #e73b55; color: #fff;}
.news .page_head h1::before { background-image: url(./img/icon/topics_w_icon.svg);}

.post_class { width: 100%; background: #fff; border-bottom: solid 1px #e1e1e1; border-top: solid 1px #e1e1e1; padding: 15px 20px;}
.post_class_inner { width: 100%; max-width: 1180px; margin: 0 auto;}


.post_class_inner .drop { position: relative; display: inline-block; margin-right: 20px; margin-bottom: 10px;}
.post_class_inner .drop:last-child { margin-right: 0; margin-bottom: 0;}
	
.post_class_inner .drop span {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #e73b55;
	margin-right: 10px;
}

.post_class_inner .drop label { display: none;}

.post_class_inner form { display: inline-block;}
.post_class_inner select {
	position: relative;
	cursor: pointer;
    outline:none;
    text-overflow: '';
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
    padding: 3px 10px;
    color: #fff;
    background: #e73b55;
    border-radius: 3px;
}

/* .post_class_inner .drop:before { ドロップダウン矢印
    z-index: 1;
    position: absolute;
    right: 10px;
    top: 10px;
    content: "\f123";
    font-family: "IonIcons";
    color: #fff;
    pointer-events: none;
} */


.post_class_inner select option{ background-color: #fff; color: #344055;}
.post_class_inner select::-ms-expand { display: none;}
.post_class_inner select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #344055;}

.post_class_inner .cat { margin-bottom: 10px;}
.post_class_inner .cat span, .post_class_inner .year span { display: inline-block; color: #e73b55; margin-right: 5px;}
.post_class_inner .cat ul { margin-right: 20px;}
.post_class_inner .cat ul, .post_class_inner .year ul { display: inline-block; color: #344055;}
.post_class_inner .cat li, .post_class_inner .year li { display: inline-block;}
.post_class_inner .cat li a, .post_class_inner .year li a { text-decoration: none; opacity: 1; transition: all .3s;}

.page_contents_wrap.news { background: #fff;}

.news .page_contents { top: 0;}
.news .page_contents_inner{
	position: relative;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	background: none;
	padding: 0;
	top: 0;
}

.news .archive_list { width: 100%; padding: 20px 0;}
.news .archive_list li {
	position: relative;
	width: 100%;
	margin-bottom: 10px;
	padding: 5px;
	border: solid 1px #e1e1e1;
	border-radius: 3px;
	transition: all .3s;
}
.news .archive_list li:last-child { margin-bottom: 0;}
.news .archive_list li a{ display: block; text-decoration: none; }

.news .archive_list li .thumbnail {
	float: left;
	position: relative;
	width: 140px;
	height: 100px;
	overflow: hidden;
	margin-right: 10px;
}
	
.news .archive_list li .thumbnail img {
	position: absolute;
	height: 110%;
	width: auto;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1); transition: all .3s;
}

.news .archive_list li .post_detail { padding-top: 5px;}
.news .archive_list li .post_detail h2 { font-size: 14px; font-size: 1.4rem; text-align: left;}

.news .archive_list li .post_detail .date {
	position: absolute;
	display: block;
	text-align: right;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	bottom: 5px;
	right: 5px;
}
	
.news .archive_list li .post_detail .cat{ display: block; margin-bottom: 5px;}	

.news .archive_list li .post_detail .cat span{
	display: inline-block;
	color: #fff;
	font-size: 10px;
	font-size: 1rem;
	font-weight: bold;
	padding: 4px 10px 2px;
	background: #e73b55;
	border-radius: 3px;
}

@media screen and (min-width: 781px) {

.news .page_visual_contents { height: 300px;}
.news .page_contents_inner{ position: relative; background: none; padding: 0; top: 0;}

.post_class { width: 100%; background: #fff; border-bottom: solid 1px #e1e1e1; border-top: solid 1px #e1e1e1; padding: 15px 0;}

.post_class_inner .drop { margin-bottom: 0;}


.news .archive_list { width: 100%; padding: 40px 0;}
.news .archive_list li {
	position: relative;
	left: 0;
	top: 0;
	width: 23.728813559322035%;
	height: auto;
	float: left;
	margin-right: 1.694915254237288%;
	margin-bottom: 20px;
	padding-bottom: 0;
	background: #fff;
	border: solid 1px #e1e1e1;
	box-shadow:none;
	border-radius: 3px;
	transition: all .3s;
}
	
.news .archive_list li:nth-child(4n) { margin-right: 0;}
.news .archive_list li:hover { left: -3px; top: -3px; box-shadow:5px 5px 0px 0px #fafafa; transition: all .3s;}

.news .archive_list li .thumbnail {
	float: none;
	margin-right: 0;
	position: relative;
	width: auto;
	height: 175px;
	overflow: hidden;
}
	
.news .archive_list li .thumbnail img {
	position: absolute;
	height: 110%;
	width: auto;
	max-width: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1); transition: all .3s;
}

.news .archive_list li .post_detail { position: relative; padding: 10px 10px;}
.news .archive_list li .post_detail h2{
	display: block;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: left;
	margin-bottom: 25px;
	min-height: 150px;
	max-height: 150px;
	overflow-y: scroll;
	transition: all .3s;
}
	
	
.news .archive_list li .post_info { padding: 0; position: static;}
.news .archive_list li .post_detail .date {
	position: absolute;
	left: 15px;
	bottom: 15px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: left;
	margin-top: 0;
}

.news .archive_list li .post_detail .cat {
	position: absolute;
	display: block;
	right: 15px;
	bottom: 15px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	background: #e73b55;
	border-radius: 3px;
	transition: all .3s;
}
	
.news .archive_list li .post_detail .cat span{
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 4px 10px 4px;
	background: #e73b55;
	border-radius: 3px;
}	
	
.news .archive_list li a:hover .thumbnail img { transform: translate(-50%,-50%) scale(1.2); transition: all 5s;}	
.news .archive_list li a:hover .post_detail h2 { color: #e8b53a; transition: all .3s;}	
.news .archive_list li a:hover .post_detail .cat span{ background: #e8b53a; transition: all .3s;}	
}

/* News Class Page / ニュースカテゴリーページ
------------------------------ */

.news .page_child_visual_contents { background: url(./img/pattern/line_r_pattern.jpg);}
.news .page_child_head { background: #e73b55;}
.news .page_child_head h1, .about .page_child_head span { color: #fff;}


/* News Single Page / ニュース個別ページ
------------------------------ */

.news_single .page_child_visual_contents {
	background-repeat: repeat, no-repeat;
	background-position: center, center center;
	background-size: auto, cover;
}

.page_child_contents_side_wrap.news { width: 100%; height: auto; padding: 40px 20px 100px;}
.news .page_child_contents_side { width: 100%; height: auto; max-width: 1180px; margin: 0 auto;}
.news .page_child_contents_side_wrap .page_child_contents_wrap { width: 100%; height: auto;}

.news .page_child_contents_side_wrap .side { width: 100%; height: auto;}

.news .page_child_contents_wrap { width: 100%; height: auto;  margin-bottom: 40px;}

.news .page_child_contents {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 1180px;
	margin: 0 auto;
}

.news .page_child_contents_inner{
	position: relative;
	padding: 20px 0 70px;
	background: #fff;
	overflow: hidden;
}

.news .page_child_contents_head .post_info { margin-bottom: 40px;}
.news .page_child_contents_head { border-bottom: solid 1px #e1e1e1; padding-bottom: 40px;}

.news .page_child_contents_head .post_info .date { font-size: 14px; font-size: 1.4rem; font-weight: 700; margin-right: 10px;}
.news .page_child_contents_head .post_info .cat { display: inline-block;}
.news .page_child_contents_head .post_info .cat ul li { display: inline-block; margin-right: 5px;}
.news .page_child_contents_head .post_info .cat ul li:last-child { margin-right: 0;}
.news .page_child_contents_head .post_info .cat a{
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	padding: 3px 10px;
	background: #e73b55;
	text-decoration: none;
	border-radius: 3px;
	transition: all .3s;
}	

.news .page_child_contents_head h1 {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 700;
}

.news .page_child_contents_inner .pager {
	width: 100%;
	border-bottom: solid 1px #e1e1e1;
	border-top: solid 1px #e1e1e1;
}

.news .page_child_contents_inner .pager .prev { text-align: left; border-bottom: solid 1px #e1e1e1;}
.news .page_child_contents_inner .pager .next { text-align: right;}

.news .page_child_contents_inner .pager .prev a::before { content: '<'; margin-right: 5px;}
.news .page_child_contents_inner .pager .next a::after { content: '>'; margin-left: 5px;}

.news .page_child_contents_inner .pager .next a,
.news .page_child_contents_inner .pager .prev a {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none;
	padding: 20px 0;
}

@media screen and (min-width: 781px) {
	
.news .page_child_contents_side_wrap { width: 100%; height: auto; padding: 40px 20px 100px;}
.news .page_child_contents_side { width: 100%; height: auto;}
.news .page_child_contents_side .page_child_contents_wrap { float: left; width: 74.57627118644068%;}
.news .page_child_contents_side .side { float: right; width: 23.728813559322035%;}

.news .page_child_contents_wrap { margin-bottom: 0;}
	
.news .page_child_contents {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 1180px;
	margin: 0 auto;
}

.news .page_child_contents_inner{
	position: relative;
	padding: 40px 40px 70px;
	background: #fff;
	border: solid 1px #e1e1e1;
}
	
.news .page_child_contents_head .post_info .cat a:hover { background: #e8b53a; transition: all .3s;}	

.news .page_child_contents_inner .pager { width: 100%; display: table; padding: 10px 0; border-bottom: solid 1px #e1e1e1;}

.news .page_child_contents_inner .pager .prev { display: table-cell; width: 50%; border-bottom: 0; border-right: 1px solid #e1e1e1;}
.news .page_child_contents_inner .pager .next { display: table-cell; width: 50%;}

.news .page_child_contents_inner .pager .next a,
.news .page_child_contents_inner .pager .prev a {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none;
	padding: 10px 20px;
	opacity: 1;
	transition: all .3s;
}
	
.news .page_child_contents_inner .pager .next a:hover,
.news .page_child_contents_inner .pager .prev a:hover { opacity: .5; transition: all .3s;}
	
}

/* Entry Style / 投稿スタイル
------------------------------ */

.entry_box { width: 100%; height: auto;}

.entry_box p {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight: 400;
	margin-bottom: 40px;
}

.entry_box h1,
.entry_box h2,
.entry_box h3,
.entry_box h4,
.entry_box h5,
.entry_box h6 {
	font-weight: 700;
	line-height: 1.6;
	margin: 40px 0 20px;
}

.entry_box h1 {
	font-size: 20px;
	font-size: 2rem;
	color: #509798;
	background: rgba(80, 151, 152, 0.1);
	padding: 10px 10px;
	border-radius: 3px;
}

.entry_box h2 {
	font-size: 20px;
	font-size: 2rem;
	padding: 7px 10px;
	border-top: solid 2px #344055; 
	border-bottom: solid 2px #344055; 
}

.entry_box h3 {
	font-size: 18px;
	font-size: 1.8rem;
	border-left: 7px solid #509798;
	padding: 3px 10px 3px 10px;
}

.entry_box h4 { font-size: 18px; font-size: 1.8rem; border-bottom: solid 2px #509798;}
.entry_box h5 { font-size: 16px; font-size: 1.6rem; color: #509798;}
.entry_box h6 { font-size: 16px; font-size: 1.6rem; }

.entry_box a { color: #e8b53a; font-weight: 700;}

.entry_box a:hover { text-decoration: none;}

.entry_box i { font-style: italic; }

.entry_box b, .entry_box em, .entry_box strong { font-weight: 700; }

.entry_box small, .font_small { font-size: 10px; font-size: 1rem; }

.entry_box blockquote {
	position: relative;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.6;
	padding: 20px 25px 20px 45px;
	border: 1px solid #e1e1e1;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
	margin: 20px 0;
	border-radius: 3px;
}

.entry_box blockquote::before {
	content:url(./img/icon/quote.svg);
	width: 14px;
	position: absolute;
	top: 18px;
	left: 20px;
}

.entry_box dl {
	text-align: left;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.65;
	margin: 20px 0 20px;
}

.entry_box ul, .entry_box ol {
	text-align: left;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.65;
	margin: 20px 0 20px 10px;
}

.entry_box ul {}
.entry_box ol { counter-reset:entry_ol;}

.entry_box ul ul,
.entry_box ol ul,
.entry_box ul ol,
.entry_box ol ol { padding-left: 2.5em; margin: 10px 0;}

.entry_box ol li, .entry_box ul li {
	position: relative;
	padding: .25em 0 .25em 1.5em;
	text-indent:-1.5em;
}

.entry_box ul > li:before{
	content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 10px;
    background: #509798;
    transform: rotate(45deg);
}

.entry_box ol > li:before{
	counter-increment: entry_ol;
	content: counter(entry_ol);
	display:inline-block;
	background: #509798;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
	border-radius: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align:center;
	margin-right: 7px;
	text-indent: 0;
}

.entry_box ol ul li, .entry_box ul ul li { list-style: disc; text-indent: 0; padding-left: 0;}
.entry_box ol ol li, .entry_box ul ol li { list-style: decimal; text-indent: 0; padding-left: 0;}

.entry_box ol ol li:before, .entry_box ul ol li:before { counter-increment: none; content: none;}
.entry_box ol ul li:before, .entry_box ul ul li:before { content: none;}

.entry_box table {
    width: 100%;
	box-sizing: border-box;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight: 400;
	border-top: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1;
    border-spacing: 0;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
	overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
	margin: 40px auto;
}

.entry_box th, td {
    text-align: center;
    padding: 10px 20px;
    border-bottom: 1px solid #e1e1e1;
    border-left: 1px solid #e1e1e1;
}

.entry_box th { background-color: #344055; color: #fff; font-weight: 700;}

.entry_box tr:hover {background-color: rgba(0, 0, 0, 0.01); }

.entry_box pre {
	width: 100%;
	text-align: left;
	margin-bottom: 20px;
	font-size: 16px;
	font-size: 1.6rem; 
	line-height: 2;
}

.entry_box hr { margin: 40px 0;}

.kome { position: relative; color: #e73b55; font-size: 10px; font-size: 1rem; bottom: 0.5em;}
.kome_box { width: 100%; height: auto; display: table; border: solid 1px #e1e1e1; border-radius: 3px;}
.kome_box .num { width: 30px; display: table-cell; text-align: center; padding: 10px 5px; color: #e73b55; font-size: 12px; font-size: 1.2rem; }
.kome_box .detail { display: table-cell; color: #344055; text-align: left; padding: 10px 5px; font-size: 12px; font-size: 1.2rem; font-weight: 400;}

.text_red { color: #e73b55;}
.text_yellow { color: #e8b53a;}

/* ==========
	Contact Page　Style / お問合せページコンテンツ
=================================== */

/* Contact Page / お問合せページ
------------------------------ */

.contact .page_visual_contents {background: url(./img/pattern/line_b_pattern.jpg);}
.contact .page_contents_head { border-bottom: 0; padding-bottom: 0;}
.contact .page_head { background-color: #7ecaea; color: #fff;}
.contact .page_head h1::before { background-image: url(./img/icon/contact_icon.svg);}

.page_contents_wrap.contact { background: #7ecaea;}

.contact .page_contents_inner{ position: relative; border-top: solid 14px #7ecaea;}

.contact .page_contents_inner h2::before { background:url(./img/logo/logo_icon_b.svg);}
.contact .page_contents_inner h2 { color: #7ecaea;}


/* Application Page / 掲載申請ページ
------------------------------ */

.application .page_visual_contents {background: url(./img/pattern/line_y_pattern2.jpg);}
.application .page_contents_head { border-bottom: 0; padding-bottom: 0;}
.application .page_head { background-color: #E0B03E; color: #fff;}
.application .page_head h1::before { background-image: url(./img/icon/contact_icon.svg);}

.application .page_contents_wrap.application { background: #E0B03E;}

.application .page_contents_inner{ position: relative; border-top: solid 14px #E0B03E;}

.application .page_contents_inner h2::before { background:url(./img/logo/logo_icon_y.svg);}
.application .page_contents_inner h2 { color: #E0B03E;}

/* ==========
	SIDE CNTENTS / サイドコンテンツ
=================================== */

.side .widget { margin-bottom: 40px;}

.side .widget h1 {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
	padding: 10px 20px 7px;
	background: #344055;
	border-radius: 3px;
	margin-bottom: 10px;
}

.side .widget ul { margin: 0; padding: 0; border: solid 1px #e1e1e1; border-radius: 3px;}
.side .widget ul ul{ border: 0; display: none;}
.side .widget ul li {  border-bottom: solid 1px #e1e1e1;}
.side .widget ul li:last-child { border-bottom: 0;}

.side .widget ul li a {
	position: relative;
	display: block;
	overflow: hidden;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	padding: 10px 20px 7px;
	transition: all .3s;
}

.side .widget ul li a::before {
	content: '';
	position: absolute;
	display: block;
	width: 7px;
	height: 7px;
	top: 50%;
	left: -15px;
	border-top: solid 2px #344055;
	border-right: solid 2px #344055;
	transform: rotate(45deg);
	margin-top: -3px;
	margin-right: 10px;
	transition: all .3s;
}

@media screen and (min-width: 781px) {
	
.side .widget ul li a:hover{ background: #e8b53a; padding: 10px 20px 7px 35px; transition: all .3s;}
.side .widget ul li a:hover::before { left: 15px; transition: all .3s;}
	
}


/* ==========
	Contact Form / コンタクトフォーム
=================================== */

.contact_form { padding: 20px 0; margin: 0 auto; border-radius: 3px;}

.contact_form h1 {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 40px 0 30px;
	padding: 15px 0;
	text-align: center;
	border-top: solid 2px #344055;
	border-bottom: solid 2px #344055;
}

.contact_form form p + p { margin: 0; padding: 0; line-height: 1; margin-top: 40px; margin-bottom: 0;}

.contact_form .head {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0;
	padding: 4px 0 4px 7px;
	line-height: 1.5;
	margin-bottom: 15px;
	border-left: solid 5px #344055;
}

.contact_form .mandatory {
	font-size: 10px;
	font-size: 1.0rem;
	font-weight: 700;
	color: #fff;
	background: #e73b55;
	padding: 2px 5px;
	margin-right: 7px;
	border-radius: 3px;
}

.contact_form .optional {
	font-size: 10px;
	font-size: 1.0rem;
	font-weight: 700;
	color: #fff;
	background: #509798;
	padding: 2px 5px;
	margin-right: 7px;
	border-radius: 3px;
}

.contact_form .comment { padding: 10px; border: solid 1px #e1e1e1; margin: 20px 0; border-radius: 3px; text-align: left;}
.contact_form .comment h2 {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	padding: 0;
	line-height: 1.5;
	margin: 15px 0 5px;
}
.contact_form .comment h2:first-child { margin: 0 0 5px;}

.contact_form .comment p {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0;
	padding: 0;
	line-height: 1.5;
	margin-bottom: 5px;
}
.contact_form .comment p:last-child { margin-bottom: 5px;}

.contact_form input[type="text"], .contact_form input[type="email"] {
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	border: solid 1px #e1e1e1;
	padding: 15px 15px;
	transition: all .3s;
	border-radius: 3px;
}

.contact_form textarea {
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	border: solid 1px #e1e1e1;
	padding: 15px 15px;
	min-height: 200px;
	resize: vertical;
	transition: all .3s;
	border-radius: 3px;
}

::-webkit-input-placeholder { font-weight: 400; font-size: 12px; font-size: 1.2rem; color: #999;}
::-moz-placeholder { font-weight: 400; font-size: 12px; font-size: 1.2rem; color: #999;}
:-ms-input-placeholder { font-weight: 400; font-size: 12px; font-size: 1.2rem; color: #999;}

input[type="text"]:focus, textarea:focus { box-shadow: 0 0 5px #e1e1e1; transition: all .3s;}

.contact_form .submit { text-align: center;}
.contact_form input[type="submit"] {
	color: #fff;
	background: #344055;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	padding: 10px 20px;
	margin: 0 10px;
	border-radius: 3px;
	transition: all .3s;
}

.contact_form p.form-radio input, .contact_form p.form-check input  { display: inline-block; margin: 0; padding: 0; width: 0; height: 0;}
.contact_form p.form-radio .horizontal-item, .contact_form p.form-check .horizontal-item { display: block; margin-left: 0; margin-bottom: 20px;}
.contact_form p.form-radio input + span, .contact_form p.form-check input + span{
	position:relative;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	padding-left: 20px;
	margin-right: 10px;
}

.contact_form p.form-radio input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  border: 1px solid #e1e1e1;
  border-radius: 50%;	
}

.contact_form p.form-check input + span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #e1e1e1;
	border-radius: 3px;	
}


.contact_form p.form-radio input:checked + span, .contact_form p.form-check input:checked + span { color: #4F9293;}

.contact_form p.form-radio input:checked + span::after {
	content: '';
	display: block;
	position: absolute;
	top: 3px;
	left: 3px;
	width: 11px;
	height: 11px;
	background: #4F9293;
	border-radius: 50%;
}

.contact_form p.form-check input:checked + span::after {
	content: "";
	display: block;
	position: absolute;
	top: -3px;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #4F9293;
	border-right: 3px solid #4F9293;
}

.contact_form span.error, .contact_form .form-radio span.error, .contact_form .form-check span.error {
	display: block;
	position: static;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	color: #e73b55;
	padding-left: 0;
	margin-right: 0;
	margin-top: 10px;
}
.contact_form .form-radio span.error::before { content: none;}
.contact_form .form-check span.error::before { content: none;}

.contact_form .mw_wp_form_complete { text-align: center; font-size: 12px; font-size: 1.2rem; font-weight: 700;}

div.wpcf7-response-output {
    margin: 10px 0;
    padding: 0;
}

div.wpcf7-mail-sent-ok {
	text-align: center;
    border:none;
	color: #509798;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
}

div.wpcf7-mail-sent-ng {
	text-align: center;
    border:none;
	color: #e73b55;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
}
div.wpcf7-spam-blocked {
	text-align: center;
    border:none;
	color: #e73b55;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
}
div.wpcf7-validation-errors {
	text-align: center;
    border:none;
	color: #e73b55;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
}

span.wpcf7-form-control-wrap {
    position: relative;
}

span.wpcf7-not-valid-tip {
	display: block;
    position: static;
	color: #e73b55;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	margin: 5px 0;
    top: 0;
    left: 0;
    z-index: 100;
}

span.wpcf7-not-valid-tip-no-ajax {
    color: #f00;
	font-size: 14px;
	font-size: 1.4rem;
    display: block;
}
span.wpcf7-list-item {
    margin-left: 0.5em;
}
.wpcf7-display-none {
    display: none;
}
div.wpcf7 img.ajax-loader {
	display: none;
    border: none;
    vertical-align: middle;
    margin-left: 0 auto;
}
div.wpcf7 .watermark {
    color: #888;
}

div.wpcf7-recaptcha > div { margin: 0 auto; padding: 0;}

@media screen and (min-width: 781px) {
.contact_form { padding: 40px 40px; max-width: 800px; margin: 0 auto; border: solid 1px #e1e1e1;}
.contact_form .comment { padding: 20px;}
.contact_form p.form-radio .horizontal-item, .contact_form p.form-check .horizontal-item { display: inline-block; margin-right: 5px; margin-bottom: 0;}
.contact_form p.form-radio input + span{ display: inline-block;}
.contact_form h1:first-child { margin-top: 0;}
.contact_form input[type="submit"]:hover { background: #e8b53a; transition: all .3s;}
}


/* ==========
	SNS SHARE BUTTON / SNS シェアボタン
=================================== */

.share_list { height: auto; border-top: solid 1px #e1e1e1; padding: 20px 0;}
.share_list .share_on { display: block; font-size: 12px; font-size: 1.2rem; font-weight: 700;}

.share_list ul {
	margin : 0;
    padding : 0;
    list-style : none;
	display: block;
	font-size: 0;
}

.share_list li {
	display: inline-block;
	width: 25%!important;
	text-align: center;
	border-right: solid 4px #fff;
	border-bottom: solid 4px #fff;
	margin: 0;
	padding: 0;
}
.share_list li:nth-child(4) { border-right: none;}
.share_list li:last-child { border-right: none;}

.share_list li img{
	width: 23px;
	margin: 0 auto;
}

.share_list li a {
	display : block;
	text-decoration: none;
	color: #fff;
	font-weight: 700;
	margin : 0;
	transition: all .3s;
	opacity :1;
	padding: 10px;
	border-radius: 3px;
}

.share_list li a:visited{ color: #fff;}

.share_list .tweet a{background-color : #55acee;}
.share_list .facebook a{background-color : #315096;}
.share_list .googleplus a{background-color : #dd4b39;}
.share_list .hatena a{background-color : #008fde;}
.share_list .line a{background-color: #00c300;}
.share_list .pocket a{background-color :#f03e51;}
.share_list .rss a{background-color: #ff8c00;}
.share_list .feedly a{background-color: #6cc655;}

@media screen and (min-width: 781px) {
	
.share_list {}
.share_list li { width: 12.5%!important; border-right: solid 4px #fff;}
.share_list li:nth-child(4) { border-right: solid 4px #fff;}
.share_list li:last-child { border-right: none;}
	
.share_list li a:hover { opacity :.5; transition: all .3s;}
}

/* ==========
	Page Top / ページトップ
=================================== */

#footer .pagetop { width: 100%; max-width: 1180px; margin: 0 auto; position: relative;}
#footer .pagetop img {
	position: absolute;
	height: 40px;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0 auto;
	cursor: pointer;
}

@media screen and (min-width: 781px) {
#footer .pagetop { width: 100%; position: relative;}
#footer .pagetop img {
	position: absolute;
	left: auto;
	right: 0;
	bottom: 0;
	transform: translateX(0);
}
}

.pagetop_button {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 99;
	cursor: pointer;
}

.pagetop_button a {
	background: #509798;
	width: 50px;
	height: 50px;
	padding: 10px;
	text-align: center;
	display: block;
	border: solid 2px #fff;
	border-radius: 50%;
	opacity: 1;
	transition: all .5s;
}

.pagetop_button a img{}

@media screen and (min-width: 781px) {

.pagetop_button { bottom: 20px; right: 20px;}
.pagetop_button a { width: 60px; height: 60px;}
.pagetop_button a:hover { opacity: .5; transition: all .5s;}
	
}

/* ==========
	Breadcrumb / パンくずリスト
=================================== */

.breadcrumb {
	position: relative;
	width: 100%;
	height: auto;
	background: #fff;
	padding: 10px 10px;
	top: 64px;
	z-index: 1;
	border-bottom: solid 1px #e1e1e1;
	transition: all .5s;
}

.breadcrumb .inner{ width: 100%; height: auto; max-width: 1180px; margin: 0 auto; white-space: nowrap; overflow-x: scroll;}

.breadcrumb span {
	color: #344055;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
}

.breadcrumb span a {
	color: #344055;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	opacity: 1;
	text-decoration: none;
	transition: all .3s;
}

.breadCrumb::-webkit-scrollbar { width: 100%; height: 2px; }
.breadCrumb::-webkit-scrollbar-track { background: #eee;}
.breadCrumb::-webkit-scrollbar-thumb { background:#141414; }


@media screen and (min-width: 781px) {
	
.breadcrumb { border-top: 0; padding: 10px 20px; top: 136px;}
.breadcrumb span a:hover { opacity: .5; transition: all .3s;}
	
#header.scroll .breadcrumb { border-top: 0; padding: 5px 0; top: auto; transition: all .5s;}

}

/* ==========
	SITEMAP / サイトマップ
=================================== */

.sitemap_disp_level_0 li a { color: #344055; opacity: 1; text-decoration: none; transition: all .3s;}
ul.sitemap_disp_level_0 ul { padding-left: 1em; margin: 5px 0;}
ul.sitemap_disp_level_0 ul ul { padding-left: 1.25em;}
ul.sitemap_disp_level_0 ul ul li { list-style: circle;}

@media screen and (min-width: 781px) {
.sitemap_disp_level_0 li a:hover { opacity: .5; transition: all .3s;}
	.entry_box ul ul, .entry_box ol ul, .entry_box ul ol, .entry_box ol ol{}
}

/* ==========
	Footer Contents Style / フッターコンテンツ
=================================== */

#footer{
	width: 100%;
	height: auto;
	background: #344055;
}

.footer_contents {
	width: 100%;
	height: auto;
	padding: 50px 0;
	color: #fff;
}

.footer_contents_inner {}

.footer_contents_inner .inner_box {
	display: table;
	width: 100%;
	margin-bottom: 20px;
}

.footer_contents_inner .inner_box:last-child {
	margin-bottom: 0;
}

.footer_contents_inner .footer_logo {
	display: table-cell;
	width: 50%;
	padding: 15px;
	vertical-align: middle;
}
.footer_contents_inner .footer_logo img { height: 55px; margin: 0 auto;}

.footer_contents_inner .contact_sp {
	display: table-cell;
	width: 50%;
	text-align: center;
	vertical-align: middle;
	padding: 10px;
}

.footer_contents_inner .contact_sp a{
	display: block;
	position: relative;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: none;
	padding: 15px 20px 15px 10px;
	background: #fff;
	border: solid 2px #fff;
	vertical-align: middle;
	border-radius: 3px;
}

.footer_contents_inner .contact_sp a::before{
	display: inline-block;
	content: '';
	width: 30px;
	height: 15px;
	background-image: url(./img/icon/contact_link_b_icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align:text-bottom;
	transition: all .3s;
}

.footer_contents_inner .sub_nav{
	text-align: center;
	border-top: solid 2px #fff;
}
.footer_contents_inner .sub_nav { margin: 0; padding: 0;}
.footer_contents_inner .sub_nav li{
	width: 50%;
	float: left;
	border-bottom: solid 2px #fff;
}

.footer_contents_inner .sub_nav li:first-child { border-right: solid 2px #fff;}
.footer_contents_inner .sub_nav li:nth-child(3){ width: 100%; border-bottom: none;}

.footer_contents_inner .sub_nav li:last-child{ margin-right:0;}
.footer_contents_inner .sub_nav li a{
	position: relative;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	padding: 15px 10px;
}

.footer_contents_inner .sub_nav li a::after{
	position: absolute;
	content: '';
	right: 10px;
	top: 55%;
	height: 20px;
	width: 10px;
	transform: translateY(-50%);
	background-image: url(./img/icon/arrow_r_w_icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transition: all .3s;
}

.footer_contents_inner .tel,
.footer_contents_inner .fax,
.footer_contents_inner .mail,
.footer_contents_inner .address {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
}

.footer_contents_inner .tel a,
.footer_contents_inner .fax a,
.footer_contents_inner .mail a {
	color: #fff;
	text-decoration: none;
	
}

.footer_contents_inner .sns_lsit{ text-align: center; margin-bottom: 20px; 	border-bottom: solid 2px #fff; border-top: solid 2px #fff;}
.footer_contents_inner .sns_lsit span{ display: none;}
.footer_contents_inner .sns_lsit li {
	display: inline-block;
}

.footer_contents_inner .sns_lsit li a img{
	height: 40px;
}

.footer_contents_inner .banner{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding: 0 10px;
}

.footer_contents_inner .banner div {
	width: 50%;
	padding: 5px 10px;
}

.footer_contents_inner .banner div span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 3px;
}

.footer__banner__contents {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.footer__banner__contents .footer__banner {}

.footer__copy{
	text-align: center;
	padding: 40px 0
}

.footer__copy small {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
}

@media screen and (min-width: 781px) {
	
#footer{}

.footer_contents { padding: 100px 0 40px;}
	
.footer_contents_inner { display: table; width: 100%; max-width: 1180px; margin: 0 auto;}

.footer_contents_inner .inner_box {
	display: table-cell;
	width: 25%;
	margin-bottom: 0;
	vertical-align: middle;
	border-right: solid 1px #fff;
	padding: 5px 20px;
}
	
.footer_contents_inner .footer_logo {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
	padding: 0;
}
.footer_contents_inner .footer_logo img { height: 50px; margin: 0 auto;}
.footer_contents_inner .contact_sp { display: none;}
.footer_contents_inner .contact { display: block; text-align: center; padding: 0; margin-bottom: 20px;}
	
.footer_contents_inner .contact a{
	display: block;
	position: relative;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 20px 10px 15px;
	background: #fff;
	border-radius: 3px;
	border: solid 2px #fff;
	transition: all .3s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;	
}

.footer_contents_inner .contact a::before{
	display: inline-block;
	content: '';
	width: 30px;
	height: 15px;
	background-image: url(./img/icon/contact_link_b_icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align:text-bottom;
	transition: all .3s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;	
}

.footer_contents_inner .contact a:hover { color: #fff; background: #344055; transition: all .3s;}
.footer_contents_inner .contact a:hover::before{
	background-image: url(./img/icon/contact_link_w_icon.svg);
	transition: all .3s;
}
	
.footer_contents_inner .sub_nav { text-align: left; border-top: 0; border-bottom: 0;}
.footer_contents_inner .sub_nav { margin: 0; padding: 0;}
.footer_contents_inner .sub_nav li { width: 100%; float: none; border-bottom: 0; margin-bottom: 15px;}
.footer_contents_inner .sub_nav li:first-child { border-right: 0;}
.footer_contents_inner .sub_nav li:nth-child(3) { width: auto; border-bottom: none;}
.footer_contents_inner .sub_nav li:last-child { margin-right:0;}
.footer_contents_inner .sub_nav li a { position: relative; display: inline-block; padding: 0; font-weight: 400;}
	
.footer_contents_inner .sub_nav li a::before {
	display: inline-block;
	content: '';
	right: 0;
	top: 0;
	height: 10px;
	width: 10px;
	margin-right: 5px;
	background-image: url(./img/icon/arrow_r_w_icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
	
.footer_contents_inner .sub_nav li a::after {
	width: 0;
	height: 1px;
	content: '';
	position: absolute;
	top: auto;
	right: auto;
	bottom: -5px;
	left: 0;
	transform: translateY(0);
	background: #fff;
	background-image: none;
	background-repeat: no-repeat;
	background-size: auto;
	transition:  all .3s;
}
.footer_contents_inner .sub_nav li a:hover::after { width: 100%; transition:  all .3s;}
	
.footer_contents_inner .tel,
.footer_contents_inner .fax,
.footer_contents_inner .mail,
.footer_contents_inner .address { text-align: left; margin-bottom: 3px; font-weight: 400;}
.footer_contents_inner .address { margin-bottom: 0;}

.footer_contents_inner .sns_lsit{ text-align: left; margin-bottom: 5px; border-bottom: 0; border-top: 0;}
.footer_contents_inner .sns_lsit span{ display: block; font-size: 12px; font-size: 1.2rem; font-weight: 700;}
.footer_contents_inner .sns_lsit li { display: inline-block;}
.footer_contents_inner .sns_lsit li a img{ height: 40px; transform: rotateY(0) scale(1); transition: all .3s;}
.footer_contents_inner .sns_lsit li a:hover img{ transform: rotateY(360deg) scale(1.2); transition: all .3s;}

.footer_contents_inner .banner{
	padding: 0;
}
	
.footer_contents_inner .banner div{
	padding: 5px;
}
	
.footer_contents_inner .banner div a img { transform: scale(1); transition: all .3s;}
.footer_contents_inner .banner div a img:hover { transform: scale(1.1); transition: all .3s;}

.footer__banner__contents {
	padding: 0;
}

}

/* ==========
	Style Guide / スタイルガイド
=================================== */

.s_guide_wrap {
	padding: 10px 20px;
	margin-bottom: 20px;
	background : #FFF;
	border-bottom: 1px solid #e1e1e1;
}

@media screen and (min-width: 781px) {
	.s_guide_wrap {
		border: 1px solid #e1e1e1;
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
		padding: 20px 40px;
	}
}

h3.guide_head{
	display: block;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	padding: 10px 15px;
	margin: 40px 0 20px 0;
	border-left: solid 10px #344055;
}

h4.guide_sample{
	font-size: 16px;
	font-size: 1.6rem;
	margin: 40px 0 20px 0;
	padding: 10px 20px;
	background-color: #fafafa;
	border-radius: 5px;
	border-bottom: 0;
}

.e_comment {
	font-size: 16px;
	font-size: 1.6em;
	line-height: 1.6;
	padding: 20px;
	border: 1px solid #e1e1e1;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);
	margin: 20px 0;
}

.e_wrap img { box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.02);}

pre {
	width: 100%;
	max-width: 100%;
	overflow-x: scroll;
	text-align: left;
	margin-bottom: 40px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
}

.entry_box blockquote p{ margin: 10px 0;}

/* ==========
	PAGER / ページャー
=================================== */

.pager{
	display: block;
	margin: 40px 0 20px;
	text-align:center;
}

a.page-numbers{ text-decoration: none; transition: all .3s;}

a.page-numbers,
.pager .current{
	display: inline-block;
	font-size: 1.4em;
	font-weight: 700;
	color: #e73b55;
	border:solid 2px #e73b55;
	padding:7px 10px;
	margin:0 5px;
	border-radius: 3px;
}
.pager .current{
	color:#fff;
	background:#e73b55;
	border:solid 2px #e73b55;
}

@media screen and (min-width: 781px) {
	
a.page-numbers:hover{
	transition: all .3s;
	color:#fff;
	background:#e73b55;
	border:solid 2px #e73b55;
}
}