@charset "UTF-8";
/* CSS Document */

/********************************************************************

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-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse; 
    border-spacing:0;
}


/****************************************

          Clearfix

*****************************************/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.clearfix {
	display: inline-block;
}
/* clearfix for ie7 */
.clearfix {
	display: block;
}


/****************************************

          CSS3 MEMO

*****************************************/

テキストシャドウ {
	text-shadow: 1px 1px 3px #333;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #333;
}

ボックスシャドウ {
	-moz-box-shadow: 1px 1px 3px #333;
	-webkit-box-shadow: 1px 1px 3px #333;
	box-shadow: 1px 1px 3px #333;
}

ボックスシャドウ内側 {
	-moz-box-shadow: inset 1px 1px 3px #333;
	-webkit-box-shadow: inset 1px 1px 3px #333;
	box-shadow: inset 1px 1px 3px #333;
}

/****************************************

          General Setting

*****************************************/

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	font-family: "GenJyuuGothicX";
	width: 100%;
	min-width: 32rem;
	height: 100%;
	color: #333;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	line-height: 180%;
}

img {
	vertical-align: bottom;
}

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

span.marker {
	background: linear-gradient(rgba(255, 255, 255, 0) 50%, #fff100 60%);
	font-weight: bold;
}

span.pink {
	font-weight: bold;
	color: #c882b5;
}

.bold {
	font-weight: bold;
}

div#a-staff,
div#a-flow {
	padding-top: 100px;
	margin-top: -100px;
}

.grecaptcha-badge { visibility: hidden; }

/******************************************************************************************************

SP

******************************************************************************************************/

@media screen and (max-width: 599px) {
	
	br.br-pc {
		display: none;
	}
	
	div.header-nav {
		width: 100%;
		height: 8rem;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;0
		position: relative;
	}
	
	div.header-nav h1 {
		display: flex;
		align-items: center;
	}
	
	div.header-nav h1 img.logo {
		position: fixed;
		top: 1.5rem;
		left: 1.5rem;
		width: auto;
		height: 5rem;
		z-index : 999999;
	}
	
	div.header-nav h1 p.text {
		font-size: 1.1rem;
		color: #b3b3b3;
		font-weight: bold;
		float: left;
		margin-left: 2rem;
		line-height: 150%;
		display: none;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 1.5rem;
		top   : 15;
		width : 5rem;
		height: 5rem;
		cursor: pointer;
		text-align: center;
		background-color: #f9f2f7;
		border-radius: 2.5rem;
	}

	.hamburger span {
	  display : block;
	  position: absolute;
	  width: 2.4rem;
	  height: 0.2rem;
	  left: 1.3rem;
	  background : #c882b5;
	  transition: 0.3s ease-in-out;
	}

	.hamburger span:nth-child(1) {
	  top: 1.7rem;
	}

	.hamburger span:nth-child(2) {
	  top: 2.4rem;
	}

	.hamburger span:nth-child(3) {
	  top: 3.1rem;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0.5rem;
		top   : 1.5rem;
		width : 6rem;
		height: 6rem;
		cursor: pointer;
		text-align: center;
		background: none;
	}

	.hamburger.active span:nth-child(1) {
		top : 2.5rem;
		left: 1.3rem;
		background: #c882b5;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 2.5rem;
		background: #c882b5;
		transform: rotate(45deg);
	}

	div.header-nav nav {
		position: fixed;
		z-index : 9999;
		top  : 0;
		left : 0;
		transform: translateX(100%);
		transition: all 0.6s;
		width: 100%;
		height: 100%;
		background : #f9f2f7;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	div.header-nav nav ul.gnav li.default a {
		text-decoration :none;
	}

	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.4rem;
		font-weight: bold;
		color: #333;
		line-height: 300%;
		text-align: center;
	}

	div.header-nav nav ul.gnav li.contact {
		margin-left: 1rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.4rem;
		font-weight: bold;
		color: #fff;
		line-height: 5rem;
		display: inline-block;
		margin-top: 1rem;
		padding: 0 2rem 0 4.6rem;
		border-radius: 2.5rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 2rem center /2rem auto #c882b5;
		transition: 0.3s;
		text-decoration: none;
	}

	/* このクラスを、jQueryで付与・削除する */
	div.header-nav nav.active {
	  transform: translateX(0%);
	}
	
	div.main-visual {
		width: 100%;
		height: 72vw;
		background-image: url("../img/main-visual03.jpg") ;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: relative;
	}
	
	div.main-visual div.copy-area {
		width: 90%;
		min-width: 36rem;
		position: absolute;
		left: 5%;
		bottom: 5rem;
	}
	
	div.main-visual div.copy-area h2.main-copy {
		font-size: 4.7vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual div.copy-area h2.main-copy span {
		font-size: 1.4rem;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual div.copy-area h2.copy-txt {
		font-size: 1.2rem;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
		margin-top: 1rem;
	}
	
	div.main-visual img.copy-img {
		position: absolute;
		right: 3%;
		top: 12%;
		width: 50%;
		min-width: 24rem;
		height: auto;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		left: 50%;
		bottom: -9rem;
		width: 60%;
		min-width: 32rem;
		margin-left: -16rem;
		background : #f9f2f7;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.2rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a div.top-button img {
		width: 9rem;
		height: auto;
		border-radius: 0.5rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.4rem;
		line-height: 150%;
		color: #c882b5;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.1rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #333;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0;
		border-top: 0.3rem solid #c882b5;
		border-right: 0.3rem solid #c882b5;
		transform: rotate(45deg);
	}
	
/******************************

JAMとは

******************************/		

	section {
		width: 100%;
		padding: 12vw 0;
	}
	
	section.pink {
		background: #f9f2f7;
	}
	
	section h2.title-jp {
		font-size: 2.4rem;
		color: #333;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.1rem;
		color: #c882b5;
		font-weight: bold;
		text-align: center;
		margin-bottom: 8vw;
		line-height: 150%;
	}
	
	section.about {
		padding: 14rem 0 0 0;
	}
	
	section.about div.about-wrap {
		width: 100%;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row;
	}
	
	section.about div.about-wrap div.txt-area p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
		margin-top: 1.5rem;
	}
	
	section.about div.about-wrap div.txt-area.top {
		width: 94%;
		max-width: 40rem;
		margin: 8vw auto 0 auto;
	}
	
	section.about div.about-wrap div.txt-area.top p.title {
		font-size: 1.8rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.about div.about-wrap div.img-area.top {
		width: 90%;
		height: 60vw;
		background: url("../img/about-img01-2.jpg") no-repeat left top / cover ;
		border-radius: 1.5rem 0 0 1.5rem;
		margin-left: 10%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	section.about div.about-wrap div.img-area.top img {
		width: 80%;
		height: auto;
	}
	
/******************************

サービス内容

******************************/	
	
	section.purpose {
		position: relative;
	}
	
	section.purpose div.img-area {
		width: 80%;
		height: 70vw;
		background: url("../img/purpose-img01-2.jpg") no-repeat left top / cover ;
		border-radius: 0 1.5rem 1.5rem 0;
		z-index: 0;
	}
	
	h3.service {
		margin-top: 10vw;
	}
	
	h3.service p {
		font-size: 2.4rem;
		text-align: center;
		line-height: 130%;
		letter-spacing: 0.4rem; 
	}
	
	h3.service p span {
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
		line-height: 150%;
		letter-spacing: normal; 
		color: #c882b5;
	}
	
	ul.purpose {
		width: 94%;
		max-width: 40rem;
		margin: 0 auto;
	}
	
	ul.purpose li {
		width: 100%;
		margin-top: 10vw;
	}
	
	ul.purpose li h4.title {
		font-size: 1.8rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
		margin-top: 2.5rem;
		text-align: center;
	}
	
	ul.purpose li p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
		margin-top: 1.5rem;
	}
	
	ul.purpose li div.icon-area {
		width: 100%;
		height: 70vw;
		max-height: 30rem;
		border-radius: 1.5rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.purpose li div.icon-area.n01 {
		background: url("../img/purpose-bg01.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n02 {
		background: url("../img/purpose-bg02.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n03 {
		background: url("../img/purpose-bg03.jpg") no-repeat center center / cover;
	}

/******************************

代表挨拶

******************************/	
	
	section div.inner {
		width: 94%;
		max-width: 40rem;
		margin: 0 auto;
		position: relative;
	}
	
	section.greeting div.inner p {
		font-size: 1.4rem;
		color: #333;
		line-height: 180%;
		margin-bottom: 1.5rem;
	}
	
	section.greeting div.inner div.photo-area {
		width: 100%;
		max-width: 40rem;
		background: #fff;
		padding: 2rem;
		margin: 8vw auto 0 auto;
		border-radius: 2rem;
	}
	
	section.greeting div.inner div.photo-area p {
		margin: 15px 0;
	}
	
	section.greeting div.inner div.photo-area img {
		width: 100%;
		height: auto;
		border-radius: 1rem;
		margin-bottom: 2rem;
	}
	
/******************************

研修実績

******************************/
	
	section.achievement div.inner p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
	}
	
	section.achievement ul {
		width: 100%;
		max-width: 40rem;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 1.5rem;
		margin: 0 auto 3vw auto;
	}
	
	section.achievement ul li.default {
		height: 5rem;
		border: 0.1rem solid #ddd;
		background: #f8f8f8;
		border-radius: 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.achievement ul li.end {
		height: 5rem;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
		line-height: 150%;
	}
	
/******************************

社会貢献

******************************/
	
	section.csr {
		background: #c882b5;
	}
	
	section.csr h2.title-jp {
		color: #fff;
	}
	
	section.csr h2.title-en {
		color: #fff;
	}
	
	section.csr div.inner div.photo-area {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
	
	section.csr div.inner div.photo-area img {
		border-radius: 1.5rem;
		width: auto;
	}
	
	section.csr div.inner div.photo-area img.img01 {
		width: 100%;
		height: auto;
		margin-bottom: 1.5rem;
	}
	
	section.csr div.inner div.photo-area img.img02 {
		width: 65%;
		height: auto;
		margin-right: 2.5%;
	}
	
	section.csr div.inner div.photo-area img.img03 {
		width: 32.5%;
		height: auto;
	}
	
	section.csr div.inner div.txt-area {
		width: 100%;
		background: #fff;
		padding: 3rem;
		margin-top: 1.5rem;
		border-radius: 1.5rem;
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	
	section.csr div.inner div.txt-area p {
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 150%;
		color: #333;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #ddd;
		text-align: left;
	}
	
	table.company th {
		font-size: 1.4rem;
		color: #333;
		font-weight: bold;
		padding: 1.5rem 0 0 1.5rem;
		line-height: 200%;
		width: 100%;
		display: block;
	}
	
	table.company td {
		font-size: 1.4rem;
		color: #333;
		padding: 0.5rem 0 1.5rem 1.5rem;
		line-height: 200%;
		width: 100%;
		border-bottom: 0.1rem solid #ddd;
		display: block;
	}
	
	div.gmap {
		width: 100%;
		height: 30rem;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.4rem;
		overflow: hidden;
		background: #fff;
		display: block;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 100%;
		padding: 1.5rem  0 0 1.5rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 100%;
		text-align: left;
		padding: 1rem 1.5rem 1.5rem 1.5rem;
		line-height: 240%;
		border-bottom: 1rem solid #f9f2f7;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #c882b5;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX";
		font-weight: bold;
	}

	.formbtn:hover {
		opacity: 0.7;
		transition: 0.3s;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 60%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.4rem;
		font-family: "GenJyuuGothicX";
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	input[type="select"],
	select {
		font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.15rem 0.8rem;
		font-size: 1.2rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #c882b5;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.2rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.2rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
/******************************

フッター

******************************/
	
	footer {
		text-align: center;
		display: block;
		background: #666;
	}
	
	footer p a {
		font-size: 1.2rem;
		color: #fff;
		line-height: 5rem;
		text-decoration: none;
		transition: 0.3s;
	}
	
	footer p a:hover {
		opacity: 0.7;
	}
	
}

/******************************************************************************************************

SP補足

******************************************************************************************************/

@media screen and ( max-width:480px) {



}

/******************************************************************************************************

タブレット

******************************************************************************************************/

@media screen and (min-width:600px) and ( max-width:959px) {
	
	.pc {
		display: none;
	}
	
	.ta {
		display: block;
	}
	
	.sp {
		display: none;
	}
	
	div.header-nav {
		width: 100%;
		height: 9rem;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}
	
	div.header-nav h1 {
		display: flex;
		align-items: center;
	}
	
	div.header-nav h1 img.logo {
		position: fixed;
		width: auto;
		height: 6rem;
		top: 1.5rem;
		left: 2rem;
		z-index : 999999;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 2rem;
		top   : 15;
		width : 6rem;
		height: 6rem;
		cursor: pointer;
		text-align: center;
		background-color: #f9f2f7;
		border-radius: 3rem;
	}

	.hamburger span {
	  display : block;
	  position: absolute;
	  width: 2.4rem;
	  height: 0.2rem;
	  left: 1.8rem;
	  background : #c882b5;
	  transition: 0.3s ease-in-out;
	}

	.hamburger span:nth-child(1) {
	  top: 2.1rem;
	}

	.hamburger span:nth-child(2) {
	  top: 2.9rem;
	}

	.hamburger span:nth-child(3) {
	  top: 3.7rem;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 2rem;
		top   : 1.5rem;
		width : 6rem;
		height: 6rem;
		cursor: pointer;
		text-align: center;
		background: none;
	}

	.hamburger.active span:nth-child(1) {
		top : 3rem;
		left: 1.8rem;
		background: #c882b5;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 3rem;
		background: #c882b5;
		transform: rotate(45deg);
	}

	div.header-nav nav {
		position: fixed;
		z-index : 9999;
		top  : 0;
		left : 0;
		transform: translateX(100%);
		transition: all 0.6s;
		width: 100%;
		height: 100%;
		background : #f9f2f7;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	div.header-nav nav ul.gnav li.default a {
		text-decoration :none;
	}

	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.6rem;
		font-weight: bold;
		color: #333;
		line-height: 300%;
		text-align: center;
	}

	div.header-nav nav ul.gnav li.contact {
		margin-left: 1rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
		line-height: 5rem;
		display: inline-block;
		margin-top: 1.5rem;
		padding: 0 3rem 0 6rem;
		border-radius: 2.5rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 3rem center /2.4rem auto #c882b5;
		transition: 0.3s;
		text-decoration: none;
	}

	/* このクラスを、jQueryで付与・削除する */
	div.header-nav nav.active {
	  transform: translateX(0%);
	}
	
	div.main-visual {
		width: 100%;
		height: 60vw;
		background-image: url("../img/main-visual03.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: relative;
	}
	
	div.main-visual div.copy-area {
		position: absolute;
		left: 5%;
		bottom: 6rem;
	}
	
	div.main-visual div.copy-area h2.main-copy {
		font-size: 3.4vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual div.copy-area h2.main-copy span {
		font-size: 2.6vw;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual div.copy-area h2.copy-txt {
		font-size: 1.8vw;
		line-height: 180%;
		color: #fff;
		font-weight: bold;
		margin-top: 1.5rem;
	}
	
	div.main-visual img.copy-img {
		position: absolute;
		right: 3%;
		top: 10%;
		width: 36rem;
		height: auto;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		left: 50%;
		bottom: -9rem;
		width: 36rem;
		height: 13rem;
		margin-left: -18rem;
		background : #f9f2f7;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a div.top-button img {
		width: 10rem;
		height: auto;
		margin-right: 1.5rem;
		border-radius: 1rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.4rem;
		line-height: 150%;
		color: #c882b5;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.2rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #333;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0 1rem;
		border-top: 0.3rem solid #c882b5;
		border-right: 0.3rem solid #c882b5;
		transform: rotate(45deg);
	}
	
/******************************

JAMとは

******************************/		

	section {
		width: 100%;
		padding: 10vw 0;
	}
	
	section.pink {
		background: #f9f2f7;
	}
	
	section h2.title-jp {
		font-size: 2.8rem;
		color: #333;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.1rem;
		color: #c882b5;
		font-weight: bold;
		text-align: center;
		margin-bottom: 6vw;
		line-height: 150%;
	}
	
	section.about {
		padding: 17rem 0 0 0;
	}
	
	section.about div.about-wrap {
		width: 100%;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row;
	}
	
	section.about div.about-wrap div.txt-area p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
		margin-top: 2rem;
	}
	
	section.about div.about-wrap div.txt-area.top {
		width: 94%;
		max-width: 60rem;
		margin: 6vw auto 0 auto;
	}
	
	section.about div.about-wrap div.txt-area.top p.title {
		font-size: 2rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.about div.about-wrap div.img-area.top {
		width: 80%;
		height: 48vw;
		background: url("../img/about-img01-2.jpg") no-repeat center center / cover;
		border-radius: 2rem 0 0 2rem;
		margin-left: 20%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	section.about div.about-wrap div.img-area.top img {
		width: 70%;
		height: auto;
	}

/******************************

サービス内容

******************************/	
	
	section.purpose {
		position: relative;
	}
	
	section.purpose div.img-area {
		width: 70%;
		height: 54vw;
		background: url("../img/purpose-img01-2.jpg") no-repeat left top -6vw / cover ;
		border-radius: 0 2rem 2rem 0 ;
		z-index: 0;
	}
	
	h3.service {
		margin-top: 6vw;
	}
	
	h3.service p {
		font-size: 2.4rem;
		text-align: center;
		line-height: 130%;
		letter-spacing: 0.4rem; 
	}
	
	h3.service p span {
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
		line-height: 150%;
		letter-spacing: normal; 
		color: #c882b5;
	}
	
	ul.purpose {
		width: 48rem;
		margin: 0 auto;
	}
	
	ul.purpose li {
		width: 100%;
		margin-top: 8vw;
	}
	
	ul.purpose li h4.title {
		font-size: 2rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
		margin-top: 3rem;
		text-align: center;
	}
	
	ul.purpose li p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
		margin-top: 2rem;
	}
	
	ul.purpose li div.icon-area {
		width: 100%;
		height: 36rem;
		border-radius: 2rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.purpose li div.icon-area.n01 {
		background: url("../img/purpose-bg01.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n02 {
		background: url("../img/purpose-bg02.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n03 {
		background: url("../img/purpose-bg03.jpg") no-repeat center center / cover;
	}
	
/******************************

代表挨拶

******************************/	
	
	section div.inner {
		width: 94%;
		max-width: 60rem;
		margin: 0 auto;
		position: relative;
		z-index: 10;
	}
	
	section.greeting div.inner p {
		font-size: 1.4rem;
		color: #333;
		line-height: 180%;
		margin-bottom: 2rem;
	}
	
	section.greeting div.inner div.photo-area {
		width: 48rem;
		background: #fff;
		padding: 3rem;
		margin: 6vw auto 0 auto;
		border-radius: 2rem;
	}
	
	section.greeting div.inner div.photo-area p {
		margin: 15px 0;
	}
	
	section.greeting div.inner div.photo-area img {
		width: 100%;
		height: auto;
		border-radius: 1rem;
		margin-bottom: 2rem;
	}
	
/******************************

研修実績

******************************/
	
	section.achievement div.inner p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
	}
	
	section.achievement ul {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 1rem;
		grid-row-gap: 1.5rem;
		margin-bottom: 3vw;
	}
	
	section.achievement ul li.default {
		height: 5rem;
		border: 0.1rem solid #ddd;
		background: #f8f8f8;
		border-radius: 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.achievement ul li.end {
		height: 5rem;
		display: flex;
		align-items: center;
		font-size: 1.4rem;
		line-height: 150%;
	}
	
/******************************

社会貢献

******************************/
	
	section.csr {
		background: #c882b5;
	}
	
	section.csr h2.title-jp {
		color: #fff;
	}
	
	section.csr h2.title-en {
		color: #fff;
	}
	
	section.csr div.inner div.photo-area {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
	
	section.csr div.inner div.photo-area img {
		border-radius: 2rem;
		width: auto;
	}
	
	section.csr div.inner div.photo-area img.img01 {
		width: 100%;
		height: auto;
		margin-bottom: 1.5rem;
	}
	
	section.csr div.inner div.photo-area img.img02 {
		width: 65%;
		height: auto;
		margin-right: 2.5%;
	}
	
	section.csr div.inner div.photo-area img.img03 {
		width: 32.5%;
		height: auto;
	}
	
	section.csr div.inner div.txt-area {
		width: 100%;
		background: #fff;
		padding: 3rem;
		margin-top: 1.5rem;
		border-radius: 2rem;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}
	
	section.csr div.inner div.txt-area p {
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 150%;
		color: #333;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #ddd;
		text-align: left;
	}
	
	table.company th {
		font-size: 1.4rem;
		color: #333;
		font-weight: bold;
		padding: 2rem 0 0 2rem;
		line-height: 240%;
		width: 100%;
		display: block;
	}
	
	table.company td {
		font-size: 1.4rem;
		color: #333;
		padding: 1rem 0 2rem 2rem;
		line-height: 240%;
		width: 100%;
		border-bottom: 0.1rem solid #ddd;
		display: block;
	}
	
	div.gmap {
		width: 100%;
		height: 40rem;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.4rem;
		overflow: hidden;
		background: #fff;
		display: block;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 100%;
		padding: 2rem 0 0 2rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 100%;
		text-align: left;
		padding: 1rem 2rem 2rem 2rem;
		line-height: 240%;
		border-bottom: 1rem solid #f9f2f7;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #c882b5;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX";
		font-weight: bold;
	}

	.formbtn:hover {
		opacity: 0.7;
		transition: 0.3s;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 60%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.4rem;
		font-family: "GenJyuuGothicX";
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.15rem 0.8rem;
		font-size: 1.2rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #c882b5;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
/******************************

フッター

******************************/
	
	footer {
		text-align: center;
		display: block;
		background: #666;
	}
	
	footer p a {
		font-size: 1.4rem;
		color: #fff;
		line-height: 6rem;
		text-decoration: none;
		transition: 0.3s;
	}
	
	footer p a:hover {
		opacity: 0.7;
	}
	
}

/******************************************************************************************************

PC1

******************************************************************************************************/

@media screen and (min-width:960px) and ( max-width:1200px) {
	
	div#about,
	div#service,
	div#achievement,
	div#csr,
	div#contact {
		padding-top: 10rem;
		margin-top: -10rem;
	}
	
	.pc {
		display: block;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: none;
	}
	
	a img {
		transition: 0.3s;
	}
	
	a:hover img {
		opacity: 0.7;
	}
	
	header {
		width: 100%;
		height: 100%;
		min-height: 64rem;
		max-height: 70rem;
		position: relative;
		padding-top: 10rem;
	}
	
	div.header-nav {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	div.header-nav h1 {
		display: flex;
		align-items: center;
	}
	
	div.header-nav h1 img.logo {
		position: fixed;
		width: auto;
		height: 6rem;
		top: 2rem;
		left: 2rem;
		z-index: 100;
	}
	
	div.header-nav nav {
		position: fixed;
		top: 1.5rem;
		right: 1rem;
		background-color: rgba(255,255,255, 0.8);
		border-radius: 3.5rem;
		height: 7rem;
		display: flex;
		align-items: center;
		padding: 0 1rem 0 2rem;
		z-index: 100;
	}
	
	div.header-nav nav ul.gnav {
		display: flex;
		align-items: center;
	}
	
	div.header-nav nav ul.gnav li {
		padding: 0 1rem;
	}
	
	div.header-nav nav ul.gnav li a {
		text-align: center;
		text-decoration: none;
		position: relative;
		display: inline-block;
	}
	
	div.header-nav nav ul.gnav li.default a::after{
		position: absolute;
  		bottom: -0.4rem;
  		left: 0;
  		content: '';
  		width: 100%;
  		height: 0.2rem;
  		background: #c882b5;
  		transform: scale(0, 1);
  		transform-origin: left top;
  		transition: transform 0.3s;
	}
	
	div.header-nav nav ul.gnav li.default a:hover::after {
		transform: scale(1, 1);
	}
	
	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.4rem;
		font-weight: bold;
		color: #333;
		line-height: 150%;
	}
	
	div.header-nav nav ul.gnav li.contact {
		margin-left: 1rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.4rem;
		font-weight: bold;
		color: #fff;
		line-height: 5rem;
		display: inline-block;
		padding: 0 2rem 0 4.6rem;
		border-radius: 2.5rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 2rem center /2rem auto #c882b5;
		transition: 0.3s;
	}
	
	div.header-nav nav ul.gnav li.contact a:hover {
		opacity: 0.7;
	}
	
	div.main-visual {
		width: 85%;
		height: 95%;
		background-image: url("../img/main-visual03.jpg") ;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		border-radius: 0 4rem 4rem 0;
		position: relative;
	}
	
	div.main-visual div.copy-area {
		position: absolute;
		left: 5%;
		bottom: 13%;
	}
	
	div.main-visual div.copy-area h2.main-copy {
		font-size: 2.8vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		right: -10vw;
		bottom: 10%;
		width: 36rem;
		height: 13rem;
		background: #f9f2f7;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a:hover div.top-button {
		transform: scale(1.05);
	}
	
	div.main-visual a div.top-button img {
		width: 10rem;
		height: auto;
		margin-right: 1.5rem;
		border-radius: 1rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.4rem;
		line-height: 150%;
		color: #c882b5;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.2rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #333;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0 1rem;
		border-top: 0.3rem solid #c882b5;
		border-right: 0.3rem solid #c882b5;
		transform: rotate(45deg);
	}
	
/******************************

JAMとは

******************************/		

	section {
		width: 100%;
		padding: 10rem 0;
	}
	
	section.pink {
		background: #f9f2f7;
	}
	
	section h2.title-jp {
		font-size: 3.6rem;
		color: #333;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.2rem;
		color: #c882b5;
		font-weight: bold;
		text-align: center;
		margin-bottom: 6rem;
		line-height: 150%;
	}
	
	section.about {
		background: url("../img/body-bg02.gif") no-repeat center left 5vw / auto 80%;
	}
	
	section.about div.about-wrap {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row-reverse;
	}
	
	section.about div.about-wrap div.txt-area p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
		margin-top: 2rem;
	}
	
	section.about div.about-wrap div.txt-area.top {
		width: 35%;
		margin-left: 10%;
	}
	
	section.about div.about-wrap div.txt-area.top p.title {
		font-size: 2rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.about div.about-wrap div.img-area.top {
		width: 50%;
		height: 45rem;
		background: url("../img/about-img01-2.jpg") no-repeat right center/ cover ;
		border-radius: 3rem 0 0 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	section.about div.about-wrap div.img-area.top img {
		width: 70%;
		height: auto;
	}
	
/******************************

サービス内容

******************************/	
	
	section.purpose {
		position: relative;
	}
	
	section.purpose div.img-area {
		position: absolute;
		width: 28%;
		height: 36vw;
		top: 0;
		left: 0;
		background: url("../img/purpose-img01-2.jpg") no-repeat left bottom / cover ;
		border-radius: 0 3rem 3rem 0 ;
		z-index: 0;
	}
	
	h3.service {
		margin-top: -3rem;
	}
	
	h3.service p {
		font-size: 2.4rem;
		text-align: center;
		line-height: 130%;
		letter-spacing: 0.4rem; 
	}
	
	h3.service p span {
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
		line-height: 150%;
		letter-spacing: normal; 
		color: #c882b5;
	}
	
	ul.purpose {
		width: 100%;
		margin: 6rem auto 0 auto;
		display: flex;
		justify-content: space-around;
		position: relative;
		z-index: 1;
	}
	
	ul.purpose li {
		width: 30%;
	}
	
	ul.purpose li h4.title {
		font-size: 2rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
		margin-top: 3rem;
		text-align: center;
	}
	
	ul.purpose li p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
		margin-top: 2rem;
	}
	
	ul.purpose li div.icon-area {
		width: 100%;
		height: 22vw;
		border-radius: 2rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.purpose li div.icon-area.n01 {
		background: url("../img/purpose-bg01.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n02 {
		background: url("../img/purpose-bg02.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n03 {
		background: url("../img/purpose-bg03.jpg") no-repeat center center / cover;
	}

/******************************

代表挨拶

******************************/	
	
	section div.inner {
		width: 90rem;
		margin: 0 auto;
	}
	
	section.greeting div.inner p {
		font-size: 1.4rem;
		color: #333;
		line-height: 180%;
		margin-bottom: 3rem;
	}
	
	section.greeting div.inner div.photo-area {
		width: 100%;
		background: #fff;
		padding: 2rem;
		display: flex;
		align-items: center;
		margin-top: 4rem;
		border-radius: 2rem;
	}
	
	section.greeting div.inner div.photo-area p {
		margin: 15px 0;
	}
	
	section.greeting div.inner div.photo-area img {
		width: 40%;
		height: auto;
		border-radius: 1rem;
		margin-right: 3rem;
	}
	
/******************************

研修実績

******************************/
	
	section.achievement div.inner p {
		font-size: 1.4rem;
		line-height: 180%;
		color: #333;
	}
	
	section.achievement ul {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		column-gap: 1rem;
		grid-row-gap: 1.5rem;
		margin-bottom: 4rem;
	}
	
	section.achievement ul li.default {
		height: 5rem;
		border: 0.1rem solid #ddd;
		background: #f8f8f8;
		border-radius: 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.achievement ul li.end {
		height: 5rem;
		display: flex;
		align-items: center;
		font-size: 1.4rem;
		line-height: 150%;
		padding-left: 2rem;
	}
	
/******************************

社会貢献

******************************/
	
	section.csr {
		background: #c882b5;
	}
	
	section.csr h2.title-jp {
		color: #fff;
	}
	
	section.csr h2.title-en {
		color: #fff;
	}
	
	section.csr div.inner div.photo-area {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	section.csr div.inner div.photo-area img {
		border-radius: 2rem;
		width: auto;
		height: 27rem;
	}
	
	section.csr div.inner div.txt-area {
		width: 100%;
		background: #fff;
		padding: 3rem;
		margin-top: 1rem;
		border-radius: 2rem;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}
	
	section.csr div.inner div.txt-area p {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 150%;
		color: #333;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #ddd;
		text-align: left;
	}
	
	table.company th {
		font-size: 1.4rem;
		color: #333;
		font-weight: bold;
		padding: 3rem 0 3rem 3rem;
		line-height: 240%;
		width: 30%;
		border-bottom: 0.1rem solid #ddd;
	}
	
	table.company td {
		font-size: 1.4rem;
		color: #333;
		padding: 3rem 0 3rem 3rem;
		line-height: 240%;
		width: 70%;
		border-bottom: 0.1rem solid #ddd;
	}
	
	div.gmap {
		width: 100%;
		height: 50rem;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.4rem;
		overflow: hidden;
		border-bottom: 1rem solid #f9f2f7;
		background: #fff;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 30%;
		padding: 2rem  0 2rem 2rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 70%;
		text-align: left;
		padding: 2rem;
		line-height: 240%;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #c882b5;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX";
		font-weight: bold;
	}

	.formbtn:hover {
		opacity: 0.7;
		transition: 0.3s;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 40%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.4rem;
		font-family: "GenJyuuGothicX";
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	input[type="select"],
	select {
		font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.2rem 1rem;
		font-size: 1.2rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #c882b5;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
/******************************

フッター

******************************/
	
	footer {
		text-align: center;
		display: block;
		background: #666;
	}
	
	footer p a {
		font-size: 1.4rem;
		color: #fff;
		line-height: 6rem;
		text-decoration: none;
		transition: 0.3s;
	}
	
	footer p a:hover {
		opacity: 0.7;
	}
	
}

/******************************************************************************************************

PC2

******************************************************************************************************/

@media screen and (min-width:1201px) {
	
	div#about,
	div#service,
	div#achievement,
	div#csr,
	div#contact {
		padding-top: 12rem;
		margin-top: -12rem;
	}
	
	.pc {
		display: block;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: none;
	}
	
	a img {
		transition: 0.3s;
	}
	
	a:hover img {
		opacity: 0.7;
	}
	
	header {
		width: 100%;
		height: 100%;
		min-height: 72rem;
		position: relative;
		padding-top: 12rem;
	}
	
	div.header-nav {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 2rem 0 2rem 3rem;
	}
	
	div.header-nav h1 img.logo {
		position: fixed;
		width: auto;
		height: 8rem;
		top: 2rem;
		left: 2rem;
		z-index: 100;
	}
	
	div.header-nav nav {
		position: fixed;
		top: 1.5rem;
		right: 1.5rem;
		background-color: rgba(255,255,255, 0.8);
		border-radius: 4.5rem;
		height: 9rem;
		display: flex;
		align-items: center;
		padding: 0 1.5rem 0 2.5rem;
		z-index: 100;
	}
	
	div.header-nav nav ul.gnav {
		display: flex;
		align-items: center;
	}
	
	div.header-nav nav ul.gnav li {
		padding: 0 1.5rem;
	}
	
	div.header-nav nav ul.gnav li a {
		text-align: center;
		text-decoration: none;
		position: relative;
		display: inline-block;
	}
	
	div.header-nav nav ul.gnav li.default a::after{
		position: absolute;
  		bottom: -0.4rem;
  		left: 0;
  		content: '';
  		width: 100%;
  		height: 0.2rem;
  		background: #c882b5;
  		transform: scale(0, 1);
  		transform-origin: left top;
  		transition: transform .3s;
	}
	
	div.header-nav nav ul.gnav li.default a:hover::after {
		transform: scale(1, 1);
	}
	
	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.6rem;
		font-weight: bold;
		color: #333;
		line-height: 200%;
	}
	
	div.header-nav nav ul.gnav li.contact {
		margin-left: 1.5rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
		line-height: 6rem;
		display: inline-block;
		padding: 0 3rem 0 6rem;
		border-radius: 3rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 3rem center /2.4rem auto #c882b5;
		transition: 0.3s;
	}
	
	div.header-nav nav ul.gnav li.contact a:hover {
		opacity: 0.7;
	}
	
	div.main-visual {
		width: 80%;
		height: 95%;
		background-image: url("../img/main-visual03.jpg") ;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		border-radius: 0 4rem 4rem 0;
		position: relative;
	}
	
	div.main-visual div.copy-area {
		position: absolute;
		left: 5%;
		bottom: 13%;
	}
	
	div.main-visual div.copy-area h2.main-copy {
		font-size: 2.8vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual div.copy-area h2.copy-txt {
		font-size: 1.11vw;
		line-height: 180%;
		color: #fff;
		font-weight: bold;
		margin-top: 2rem;
	}
	
	div.main-visual img.copy-img {
		position: absolute;
		right: 4%;
		top: 12%;
		width: 45%;
		height: auto;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		right: -10vw;
		bottom: 10%;
		width: 42rem;
		height: 16rem;
		background: #f9f2f7;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a:hover div.top-button {
		transform: scale(1.05);
	}
	
	div.main-visual a div.top-button img {
		width: 13rem;
		height: auto;
		margin-right: 1.5rem;
		border-radius: 1rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.6rem;
		line-height: 150%;
		color: #c882b5;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.3rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #333;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0 1rem;
		border-top: 0.3rem solid #c882b5;
		border-right: 0.3rem solid #c882b5;
		transform: rotate(45deg);
	}
	
/******************************

JAMとは

******************************/		

	section {
		width: 100%;
		padding: 12rem 0;
	}
	
	section.pink {
		background: #f9f2f7;
	}
	
	section h2.title-jp {
		font-size: 4.8rem;
		color: #333;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.6rem;
		color: #c882b5;
		font-weight: bold;
		text-align: center;
		margin-bottom: 8rem;
		line-height: 150%;
	}
	
	section.about {
		background: url("../img/body-bg02.gif") no-repeat center left 5vw / auto 90%;
	}
	
	section.about div.about-wrap {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row-reverse;
	}
	
	section.about div.about-wrap div.txt-area p {
		font-size: 1.6rem;
		line-height: 180%;
		color: #333;
		margin-top: 3rem;
	}
	
	section.about div.about-wrap div.txt-area.top {
		width: 35%;
		margin-left: 10%;
	}
	
	section.about div.about-wrap div.txt-area.top p.title {
		font-size: 2.4rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.about div.about-wrap div.img-area.top {
		width: 50%;
		height: 50rem;
		background: url("../img/about-img01-2.jpg") no-repeat right center / cover ;
		border-radius: 3rem 0 0 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	section.about div.about-wrap div.img-area.top img {
		width: 70%;
		height: auto;
	}
	
/******************************

サービス内容

******************************/	
	
	section.purpose {
		position: relative;
	}
	
	section.purpose div.img-area {
		position: absolute;
		width: 28%;
		height: 36vw;
		top: 0;
		left: 0;
		background: url("../img/purpose-img01-2.jpg") no-repeat left bottom / cover ;
		border-radius: 0 3rem 3rem 0 ;
		z-index: 0;
	}
	
	h3.service {
		margin-top: -3rem;
	}
	
	h3.service p {
		font-size: 3.4rem;
		text-align: center;
		line-height: 130%;
		letter-spacing: 0.4rem; 
	}
	
	h3.service p span {
		font-size: 2.4rem;
		font-weight: bold;
		text-align: center;
		line-height: 150%;
		letter-spacing: normal; 
		color: #c882b5;
	}
	
	ul.purpose {
		width: 120rem;
		margin: 8rem auto 0 auto;
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 1;
	}
	
	ul.purpose li {
		width: 36rem;
	}
	
	ul.purpose li h4.title {
		font-size: 2.2rem;
		color: #333;
		font-weight: bold;
		line-height: 150%;
		margin-top: 3rem;
		text-align: center;
	}
	
	ul.purpose li p {
		font-size: 1.6rem;
		line-height: 180%;
		color: #333;
		margin-top: 2rem;
	}
	
	ul.purpose li div.icon-area {
		width: 100%;
		height: 26rem;
		border-radius: 2rem;
	}
	
	ul.purpose li div.icon-area.n01 {
		background: url("../img/purpose-bg01.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n02 {
		background: url("../img/purpose-bg02.jpg") no-repeat center center / cover;
	}
	
	ul.purpose li div.icon-area.n03 {
		background: url("../img/purpose-bg03.jpg") no-repeat center center / cover;
	}

/******************************

代表挨拶

******************************/	
	
	section div.inner {
		width: 100rem;
		margin: 0 auto;
	}
	
	section.greeting div.inner p {
		font-size: 1.6rem;
		color: #333;
		line-height: 180%;
		margin-bottom: 3rem;
	}
	
	section.greeting div.inner div.photo-area {
		width: 100%;
		background: #fff;
		padding: 3rem;
		display: flex;
		align-items: center;
		margin-top: 6rem;
		border-radius: 2rem;
	}
	
	section.greeting div.inner div.photo-area p {
		margin: 15px 0;
	}
	
	section.greeting div.inner div.photo-area img {
		width: 40%;
		height: auto;
		border-radius: 1rem;
		margin-right: 3rem;
	}
	
/******************************

研修実績

******************************/
	
	section.achievement div.inner p {
		font-size: 1.6rem;
		line-height: 180%;
		color: #333;
	}
	
	section.achievement ul {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		column-gap: 1rem;
		grid-row-gap: 1.5rem;
		margin-bottom: 6rem;
	}
	
	section.achievement ul li.default {
		height: 5rem;
		border: 0.1rem solid #ddd;
		background: #f8f8f8;
		border-radius: 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 150%;
	}
	
	section.achievement ul li.end {
		height: 5rem;
		display: flex;
		align-items: center;
		font-size: 1.6rem;
		line-height: 150%;
		padding-left: 2rem;
	}
	
/******************************

社会貢献

******************************/
	
	section.csr {
		background: #c882b5;
	}
	
	section.csr h2.title-jp {
		color: #fff;
	}
	
	section.csr h2.title-en {
		color: #fff;
	}
	
	section.csr div.inner div.photo-area {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	section.csr div.inner div.photo-area img {
		border-radius: 2rem;
		width: auto;
		height: 30rem;
	}
	
	section.csr div.inner div.txt-area {
		width: 100%;
		background: #fff;
		padding: 4rem;
		margin-top: 1rem;
		border-radius: 2rem;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
	
	section.csr div.inner div.txt-area p {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 150%;
		color: #333;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #ddd;
		text-align: left;
	}
	
	table.company th {
		font-size: 1.6rem;
		color: #333;
		font-weight: bold;
		padding: 3rem 0 3rem 3rem;
		line-height: 240%;
		width: 30%;
		border-bottom: 0.1rem solid #ddd;
	}
	
	table.company td {
		font-size: 1.6rem;
		color: #333;
		padding: 3rem 0 3rem 3rem;
		line-height: 240%;
		width: 70%;
		border-bottom: 0.1rem solid #ddd;
	}
	
	div.gmap {
		width: 100%;
		height: 60rem;
	}
	
/******************************

お問い合わせ

******************************/	
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.6rem;
		overflow: hidden;
		border-bottom: 1rem solid #f9f2f7;
		background: #fff;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 30%;
		padding: 3rem  0 3rem 3rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 70%;
		text-align: left;
		padding: 3rem;
		line-height: 240%;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #c882b5;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX";
		font-weight: bold;
	}

	.formbtn:hover {
		opacity: 0.7;
		transition: 0.3s;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 40%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.6rem;
		font-family: "GenJyuuGothicX";
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.2rem 1rem;
		font-size: 1.4rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #c882b5;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.6rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.6rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
/******************************

フッター

******************************/
	
	footer {
		text-align: center;
		display: block;
		background: #666;
	}
	
	footer p a {
		font-size: 1.4rem;
		color: #fff;
		line-height: 6rem;
		text-decoration: none;
		transition: 0.3s;
	}
	
	footer p a:hover {
		opacity: 0.7;
	}
	
}
