@charset "utf-8";

html {
 	overflow-y: scroll !important;
}
body {
	overflow: hidden;
	background: #fff;
	line-height: 1.5;
	letter-spacing: 0.09em; /* 基本の文字高と文字間隔 */
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
a {
	text-decoration: none;
	outline: none;
	-webkit-transition: all .5s;
    -moz-transition: all .5s;
    transition: all .5s;
}
a:hover {
	text-shadow: none;
}
.sp {
	display: none;
}
/* ----- clearfix -----*/
.clearfix {
	_height: 1px;
	min-height: 1px;
    *zoom: 1; /* for IE6/7 */
}
.clearfix:after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
/* ----- text-shadow -----*/
.txt-sdw00 { /* 3banner.button */
     text-shadow: 0px -1px 2px rgba(55, 55, 55, .5);
	-moz-text-shadow: 0px -1px 2px rgba(55, 55, 55, .5);
    -webkit-text-shadow: 0px -1px 2px rgba(55, 55, 55, .5);
	-ms-text-shadow: 0px -1px 2px rgba(55, 55, 55, .5);
	display: block;
}
.txt-sdw01 { /* about+message box-title,ribbon-mess,bg-pink */
    text-shadow: 0px -1px 0px rgba(0, 0, 0, .3);
	-moz-text-shadow: 0px -1px 0px rrgba(0, 0, 0, .3);
    -webkit-text-shadow: 0px -1px 0px rgba(0, 0, 0, .3);
	-ms-text-shadow: 0px -1px 0px rgba(0, 0, 0, .3);
	display: block; /* for IE11 */
}
.txt-sdw02 { /* p.message */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, .8);
	-moz-text-shadow: 1px 1px 3px rgba(0, 0, 0, .8);
    -webkit-text-shadow: 1px 1px 3px rgba(0, 0, 0, .8);
	-ms-text-shadow: 1px 1px 3px rgba(0, 0, 0, .8);
	display: block; /* for IE11 */
}
.txt-sdw03 {/* message,formTable,flexbox,teijun-list */
    text-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
	-moz-text-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -webkit-text-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
	-ms-text-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
	display: block; /* for IE11 */
}
.txt-sdw04 { /*  */
    text-shadow: 0px 0px 10px rgba(0, 0, 0, .5);
	-moz-text-shadow: 0px 0px 3px rgba(0, 0, 0, .5);
    -webkit-text-shadow: 0px 0px 3px rgba(0, 0, 0, .5);
	-ms-text-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
	display: block; /* for IE11 */
}

.txt-sdw05{ /* わたしたちと一緒に働きませんか？ */
	text-shadow: 1px 3px 5px rgba(0, 0, 0, 1);
}

/* ----- box-shadow -----*/
.bx-sdw00 { /* service,recruit,button-pdf */
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .2);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.bx-sdw01 { /* header */
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .3);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.bx-sdw02 { /* teltag,formtag,bnr a,mainimg,ceo-img,ribbon-wrapper,work-ing */
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .4);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.bx-sdw03 { /* h2 */
    box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -moz-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -ms-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    behavior: url("../common/PIE.htc"); /* CSS3 PIE */
}


/* -------------------------------

	>>>>> TOP SECTION 1 (first view)
	　
---------------------------------- */
.section1 {
	position: relative;
}
article #full{
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    position: relative;
}
.border {
	height: 1px;
	background: #eee;
}

/* -----------------
	全ページ共通
--------------------*/
/* header */
header {
	background: #fff;
    position: relative;
	width: 100%;
	border-bottom: solid #eee 1px;
}
header h1 {
	padding: 0;	
	text-align: center;
}
header h1 img {
	width: 250px;
	padding-top: 10px;
	padding-bottom: 10px;
}
/* nav */
nav.top ul {
	width: 1200px;
	margin: 0 auto;
	font-family: "M PLUS 1p", sans-serif;
}
 @media screen and (max-width: 1100px) {/* 1100px以下で左寄せ */
nav.top ul {
	width: auto;
	float: left;
}
}
nav.top ul li {
	float: left;
	padding: 10px 0 10px 0;
	margin-left: 10px;
	font-size: 14px;
	letter-spacing: 0.08em;
}
nav.top ul li a {
	border-right: 1px solid #e8639e;
	padding-right: 10px;
	color: #e8639e;
	font-weight: 500;
}
nav.top ul li a:hover{
	color: #e8639e;
    opacity: .7;
}
nav.top ul li.first-child a {
	padding-left: 15px;
	border-left: 1px solid #e8639e;
}
/* imakoko */
.current {
	color: #e8639e;
	font-weight: bold;
	-webkit-animation:blink 1.6s ease-in-out infinite alternate;
    -moz-animation:blink 1.6s ease-in-out infinite alternate;
    animation:blink 1.6s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0.1;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0.1;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0.1;}
    100% {opacity:1;}
}
/* nav fixed */
.fixed {
	background: #fff;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .3);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .3);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
	border-bottom: solid #222 1px; /* box-shadowより上に記述するとz-indexに影響あり */
    z-index: 999;
}
/* ribbon */
#btn-ribbon a {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 999;
}
#btn-ribbon a:hover {
	opacity: .7;
}
#btn-ribbon img {
	width: 150px;
 	height: 151px;
}
/* teltag */
#btn-tel a {
	position: fixed;
	right: 0;
	top: 195px;
	width: 350px;
 	height: 191px;
    margin-right: -287px;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    opacity: 0;
	cursor: default;  
	z-index: 999;
}
#btn-tel img {
	width: 350px;
	height: 191px;
}
#btn-tel a { /* lazyload */
  -webkit-animation: fadein 3s ease 2s 1 forwards;
  animation: fadein 3s ease 2s 1 forwards;
}
@-webkit-keyframes fadein { /* tag lazyload 共通 */
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  100% {
    opacity: 1;
  }
} 
#btn-tel a:hover {
    margin-right: -1px;
}
/* formtag */
#btn-form a {
	position: fixed;
	right: 0;
	top: 386px;
	width: 250px;
 	height: 100px;
    margin-right: -187px;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    opacity: 0;
	z-index: 999;
}
#btn-form img {
	width: 250px;
	height: 100px;
}
#btn-form a { /* lazyload */
  -webkit-animation: fadein 6s ease 2.5s 1 forwards;
  animation: fadein 6s ease 2.5s 1 forwards;
}
#btn-form a:hover {
    margin-right: -1px;
}
/* fbtag */
#btn-fb a {
	position: absolute;
	right: 0;
	top: 0px;
	width: 250px;
 	height: 75px;
    margin-right: -187px;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    opacity: 0;
	z-index: 999;
}
#btn-fb img {
	width: 250px;
	height: 75px;
}
#btn-fb a { /* lazyload */
  -webkit-animation: fadein 6s ease 3s 1 forwards;
  animation: fadein 6s ease 3s 1 forwards;
}
#btn-fb a:hover {
    margin-right: -1px;
}
/* header内 PDFボタン for contact,service */
#pdf-header #pdf-area {
	display: table;
	margin: 0 auto;
}
#pdf-header #pdf-area .button-wrapper-pdf {
	position: absolute;
	left: 5px;
	top: 0px;
	padding: 0;
	text-shadow: none;
	width: 200px;
    letter-spacing: 0.2em;
	font-size: 14px;
	display: block;
}
#pdf-header #pdf-area .button-pdf {
  	display: inline-block;
  	width: 200px;
  	height: 45px;
  	text-align: center;
  	text-decoration: none;
  	outline: none;
  	color: #fff;
  	line-height: 40px;
  	border-radius: 3px;
	cursor: pointer;
	margin-right: 0px;/* 隙間 */
}
#pdf-header #pdf-area img.img-pdf  {
	width: 28px;
	padding-left: 5px;
	vertical-align: middle;
}
#pdf-header a#pdf03 span.longer {
    letter-spacing: 0.03em;
}

/* PC（1366px以上）で3つ横並びに */
 @media screen and (min-width: 1366px) {
#pdf-header #pdf-area .button-wrapper-pdf {
	width: 600px;
}
}

/* scroll (sp only) thanks nxworld */
#btn-scroll a {
  position: absolute;
  top: 240px;
  left: 0;
  padding-top: 60px;
  padding-left: 100px;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  z-index: 999;
}
#btn-scroll a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 46px;
  height: 46px;
  margin-left: -23px;
  border: 1px solid #fff;
  border-radius: 100%;
  box-sizing: border-box;
}
#btn-scroll a span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  width: 16px;
  height: 16px;
  margin: -12px 0 0 -8px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}
#btn-scroll a span::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 44px;
  height: 44px;
  box-shadow: 0 0 0 0 rgba(255,255,255,.1);
  border-radius: 100%;
  opacity: 0;
  -webkit-animation: sdb 3s infinite;
  animation: sdb 3s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* TOP btn */
#totop-btn {
    position: fixed; 
    bottom: 20px;
    right: 20px; 
	display: block;
	z-index: 999;
}
.arrow {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    background-color: #64b5d1;
    border-radius: 5px;
    position:  relative;
    height: 50px;
    width: 50px;
	cursor: pointer;
}
.arrow a {
    -webkit-transition: all .5s;
    transition: all .5s;
}

.arrow:hover {
	color: #fff;
	cursor: pointer;
	opacity: .7;
}
.arrow::before {
    content:  '';
    width: 20px;
    height: 20px;
    display:  block;
    border-top: solid 2px;
    border-right: solid 2px;
    transform: rotate(-45deg);
    position:  absolute;
    top: 10px;
    bottom:  0;
    left:  0;
    right:  0;
    margin:  auto;
}
/* -----------------
	↑↑↑全ページ共通
	ここまで
--------------------*/

/* message */
p.message {
	font-family: "M PLUS 1p";
	letter-spacing: 0.2em;
	position: absolute;
	top: 65%;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: 800px;
	height: auto;
	text-align: center;
	font-size: 23px;
	font-weight: 500;
	line-height: 60px;
	color: #fff;
}	
/* slider +animation */
.bgmaximage {
	position: absolute !important;/* fixedで視差追加 */
	display: none;
}
.left-right {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:20s;
 -ms-animation-duration:20s;
 animation-duration:20s;
 -webkit-animation-name: left-right;
 animation-name: left-right;
 visibility: visible !important;
}
.right-left {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:20s;
 -ms-animation-duration:20s;
 animation-duration:20s;
 -webkit-animation-name: right-left;
 animation-name: right-left;
 visibility: visible !important;
}

@-webkit-keyframes left-right {
  0% {
    -webkit-transform:   translateX(3%);
            transform:   translateX(3%); }
  100% {
    -webkit-transform:   translateX(0%);
            transform:   translateX(0%); } }
@-o-keyframes left-right {
  0% {
    -o-transform:   translateX(3%);
       transform:   translateX(3%);}
  100% {
    -o-transform:   translateX(0%);
       transform:   translateX(0%); } }
@keyframes left-right {
  0% {
    -webkit-transform:   translateX(3%);
         -o-transform:   translateX(3%);
            transform:   translateX(3%); }
  100% {
    -webkit-transform:   translateX(0%);
         -o-transform:   translateX(0%);
            transform:   translateX0%); } }
			
@-webkit-keyframes right-left {
  0% {
    -webkit-transform:   translateX(0%);
            transform:   translateX(0%); }
  100% {
    -webkit-transform:   translateX(3%);
            transform:   translateX(3%);  } }
@-o-keyframes right-left {
  0% {
    -o-transform:   translateX(0%);
       transform:   translateX(0%); }
  100% {
    -o-transform:   translateX(3%);
       transform:   translateX(3%); } }
@keyframes right-left {
  0% {
    -webkit-transform:   translateX(0%);
         -o-transform:   translateX(0%);
            transform:   translateX(0%); }
  100% {
    -webkit-transform:   translateX(3%);
         -o-transform:   translateX(3%);
            transform:   translateX(3%); } }
			
/* p.message >>> #animation0 (SlideIn) */
.SlideIn {
 -webkit-animation-fill-mode: forwards;
 -ms-animation-fill-mode: forwards;
 animation-fill-mode: forwards;
 -webkit-animation-duration: 2s;
 -ms-animation-duration: 2s;
 animation-duration: 2s;
 -webkit-animation-name: SlideIn;
 -ms-animation-name: SlideIn;
 animation-name: SlideIn;
 visibility: visible !important;
}

@-webkit-keyframes SlideIn {
 0% { opacity: 0; -webkit-transform: translateY(30px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes SlideIn {
 0% { opacity: 0; -webkit-transform: translateY(30px); -ms-transform: translateY(30px); transform: translateY(30px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

/* 3banner >>> #animation (fadeInSlide) /#animation1(fadeInSlide1) /#animation2(fadeInSlide2)  */

.fadeInSlide {/* houkan */
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:2s;
 -ms-animation-duration:2s;
 animation-duration:2s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
.fadeInSlide1 {/* teijun */
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:3s;
 -ms-animation-duration:3s;
 animation-duration:3s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
.fadeInSlide2 {/* kyotaku */
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:4s;
 -ms-animation-duration:4s;
 animation-duration:4s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}

@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(5px);  }
 60% { opacity: 0; -webkit-transform: translateY(0); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(5px); -ms-transform: translateY(5px); transform: translateY(5px); }
 60% { opacity: 0; -webkit-transform: translateY(0); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


/* 3banner area */

/* PC（800px以上）で3つ横並びに */
 @media screen and (min-width: 800px) {
#bnr-nav-area {
	zoom: 1;
	visibility: hidden;/* PCでのアニメーション先出しちらつき防止 */
}
#bnr-nav-area .bnr {
	margin: 0 0 70px;/* この数値いかんでバナーが表示されず */
	width: 33.3%;
	float: left;
}
}

#bnr-nav-area {
	padding: 0 10px;
	margin: auto 0;
	position: absolute;
	bottom: -360px;/* この数値いかんでバナーが表示されず */
  	z-index: 99;
}
#bnr-nav-area .bnr {
	padding: 10px;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
.button {
    text-align: center;
    line-height: 80px; /* ???? service-ttl高さ */
	font-size: 28px; /* ???? 文字大 */
}
.button a {
	color: #fff;
	display: block; /* 文字ではなくカードクリックで下に*/
}
.button,
.button::before,
.button::after {
    -webkit-transition: all .8s;
    transition: all .8s;
}
.button:hover {
  	-webkit-transform: translateY(-15px);
  	transform: translateY(-15px);
}
.button .service-ttl {
	font-weight: 600;
}
.button:hover .service-ttl {
	color: rgba(0, 0, 0, 0.75);
    text-shadow: none;
}
.button:hover .description {
	color: rgba(0, 0, 0, 0.75);
    text-shadow: none;
    font-weight: 500;
}
.hr {
	display: block;
	border-top: 1px #eee solid;
	height: 30px;
}
.description {
	display: block;
	width: 83%;
	height: 80px; /* 高さ調整のため追加 */
	margin: 0 auto;
	text-align: left;
	font-size: 18px; /* ???? 文字大 */
	font-weight: 700;
	line-height: 2.2; /* ???? description行間 */
}

/* houkan */
.houkan {
  	background: rgba(244, 151, 170, .98) url(../images/noise.png) repeat;
	border-top: 8px solid #f497aa;
    border-radius: 5px;
	height: 380px; /* ???? カードの高さ */
}
.houkan:hover {
  	background: rgba(255, 255, 255, .95) url(../images/noise.png) repeat;
}
.houkan:hover .button01 {
  	background: #f497aa url(../images/noise.png);
  	color: #fff;
  	border: 2px solid #f497aa;
    border-radius: 5px;
}
/* teijun */
.teijun {
  	background: rgba(148, 185, 227, .98) url(../images/noise.png) repeat;
  	border-top: 8px solid #94b9e3;
    border-radius: 5px;
	height: 380px; /* ???? カードの高さ */
}
.lines {
	display: inline-block;
    line-height: 35px !important; /* ???? service-ttl高さ */
	letter-spacing: 0.001em;
	font-size: 25px; /* ???? 文字大 */
	font-weight: 600;
}
.teijun:hover {
  	background: rgba(255, 255, 255, .95) url(../images/noise.png) repeat;
}
.teijun:hover .button02 {
  	background: #94b9e3 url(../images/noise.png);
  	color: #fff;
  	border: 2px solid #94b9e3;
    border-radius: 5px;
}
/* kyotaku */
.kyotaku {
  	background: rgba(147, 221, 203, .98) url(../images/noise.png) repeat;
  	border-top: 8px solid #93ddcb;
    border-radius: 5px;
	height: 380px; /* ???? カードの高さ */
}
.kyotaku:hover {
  	background: rgba(255, 255, 255, .95) url(../images/noise.png) repeat;
}
.kyotaku:hover .button03 {
  	background: #93ddcb url(../images/noise.png);
  	color: #fff;
  	border: 2px solid #93ddcb;
    border-radius: 5px;
}

/* 詳しく見るボタン */
.button-wrapper {
	text-shadow: none;
	margin: 0 auto;
	padding-top: 60px; /* ???? ボタン上余白 */
	width: 250px;
    letter-spacing: 0.2em;
	font-size: 14px;
	position: relative;
}
.btn-detail {
  	display: inline-block;
  	width: 250px;
  	height: 54px;
  	text-align: center;
  	background: transparent;
  	border: 2px solid #fff;
  	color: #fff;
  	line-height: 50px;
  	border-radius: 5px;
}

/*----↓↓↓ banner area ? ----*/
@media screen and (min-width : 1780px) { 
#bnr-nav-area {
	bottom: -320px;/* この数値いかんでバナーが表示されず */
}
.houkan,
.teijun,
.kyotaku {
	height: 340px; /* ???? カードの高さ */
}
.button-wrapper {
	padding-top: 30px; /* ???? ボタン上余白 */
}
}
@media screen and (max-width : 1300px) { 
.lines {
	font-size: 21px;/* 一旦文字が小さくなる */
}
}
@media screen and (max-width : 1200px) { 
#bnr-nav-area {
	padding: 0 10px;
	margin: auto 0;
	position: absolute;
	bottom: -350px;/* この数値いかんでバナーが表示されず */
}
.button {
    line-height: 60px;
	font-size: 20px;/* 一旦文字が小さくなる */
}
.button-wrapper {
	margin-top: 30px; /* ???? ボタン上余白 */
}
.houkan,
.teijun,
.kyotaku {
	height: 370px; /* ???? カードの高さ */
}
.lines {
	font-size: 18px;/* 文字が小さくなる */
}
.description {
	line-height: 36px;
}
.hr {
	visibility: hidden;
}
/* 詳しく見るボタン */
.button-wrapper {
	width: 220px;
}
.button01,
.button02,
.button03 {
  	width: 220px;
}
}
@media screen and (max-width : 946px) {
.button-wrapper {
	margin-top: 45px; /* ???? ボタン上余白 */
}
}
@media screen and (max-width : 800px) {
#bnr-nav-area {
	margin: 0 auto;
	position: relative;
	display: table;
	top: 0px;
}
.button {
	font-size: 28px;
}
.houkan,
.teijun,
.kyotaku {
	height: 320px; /* ???? カードの高さ */
}
.lines {
	font-size: 28px;
}
.description {
	font-size: 20px;
	height: 50px; /* 高さ調整のため追加 */
}
.button-wrapper {
	margin-top: 0px;
}
}
@media screen and (max-width : 420px) { /* for iPhoneXS=375(X,6,6s,7,8),XR=414(XSmax,6-8plus) */
.button-wrapper {
	margin-top: 60px; /* ???? ボタン上余白 */
}
.houkan,
.teijun,
.kyotaku {
	height: 380px; /* ???? カードの高さ */
}
}
@media screen and (max-width : 320px) { /* for iPhone5s&SE=320 */
.button-wrapper {
	margin-top: 75px; /* ???? ボタン上余白 */
}
.houkan,
.teijun,
.kyotaku {
	height: 385px; /* ???? カードの高さ */
}
}

/* -------------------------------

	>>>>> TOP SECTION 2 (News)
	　
---------------------------------- */
.section2 {
	background: #fff url(../images/bg01.jpg);
	border-top: 2px solid #fff; 
	position: relative;
}

@media screen and (max-width: 800px) {
.section2 {
	padding-top: 10px;
	padding-bottom: 10px; 
}
}

article#news {
	padding-top: 240px;/* 3bannerとの間隔 */
	padding-bottom: 10px;
	width: 90%;
	margin: 0 auto;
	letter-spacing: 0.09em !important;
	text-align: justify;
	position: relative;
}
h2 {
	padding-top: 80px;/* リンクスクロール調整用 */
	font-family: "M PLUS 1p";
	font-size: 22px;
	letter-spacing: 0.5em;
	font-weight: normal !important;
	line-height: 1.2;
	padding-bottom: 15px;
	margin-bottom: 5px;
	border-bottom: 1px solid #ccc;
}
.badge-new {
	width: 110px;
	float: left;
}


/* -------------------------------

	>>>>> TOP SECTION 3 (links)
	　
---------------------------------- */
.section3 {
	padding-bottom: 10px;
	background: #fff url(../images/bg01.jpg);
}
.links {
	width: 100%;
	text-align: center;
	padding: 0;
	margin: 0;
}
.links-btn {
	width: 50%;
	padding: 0;
	height: auto;
	vertical-align:bottom; /*追加で画像隙間なし */
}
.links-img {
	width: 50%;
	padding: 0;
	height: auto;
	vertical-align:bottom;
}
a.links-area {
  	-webkit-transition: all .5s;
  	transition: all .5s;
}
a.links-area:hover {
	opacity: .7;
}


/* -------------------------------

	>>>>> TOP SECTION 4 (recruit banner)
	　
---------------------------------- */
.section4 {
	background: #fff url(../images/bg01.jpg);
	border-top: 2px solid #eee; 
	height: 350px;
}
article#recruit {
	color: #fff;
	font-weight: bold;
	width: 100%;
	margin: 0 auto;
	font-size: 30px;
	line-height: 2;
	letter-spacing: 0.09em !important;
	text-align: center;
	position: relative;
	text-shadow: none;
}
article#recruit p {
	line-height: 4;
	background: url(../images/member.jpg) no-repeat;
	padding-top: 70px;
	box-sizing: border-box;
	background-size: cover;
	background-position-x: 50%;
	background-position-y: 20%; /* 202307 53%より変更 */
	width: 100%;
	height: 350px !important;
}
/* 詳しく見るボタン */
.button-wrapper4 {
	margin: 0 auto;
	width: 250px;
    letter-spacing: 0.2em;
	font-size: 14px;
	display: block;
	position: relative;
}
.button04 {
  	display: inline-block;
  	width: 250px;
  	height: 54px;
  	text-align: center;
  	text-decoration: none;
  	outline: none;
  	background: transparent;
  	border: 2px solid #fff;
  	color: #fff;
  	line-height: 50px;
  	border-radius: 5px;
	cursor: pointer;
}
.button04,
.button04::before,
.button04::after {
  	-webkit-box-sizing: border-box;
  	-moz-box-sizing: border-box;
  	box-sizing: border-box;
  	-webkit-transition: all .5s;
  	transition: all .5s;
}
.button04:hover {
	background: #64b5d1 url(../images/noise.png);
	color: #fff;
	border: 2px solid #64b5d1;
}



/* -------------------------------

	>>>>> footer
	　
---------------------------------- */
footer {
	position: relative;
	background: #fff;
	bottom: 0;
	width: 100%;
	padding-bottom: 50px;
	border-top: solid #ddd 1px;
}

/* left 400px */
#detail-btm {
	float: left;
	width: 400px;
	padding-left: 50px;
}
#detail-btm p {
	padding-top: 40px;
	text-align: right;
	font-size: 14px;
	letter-spacing: 0.05em;
	color: #666464;
}
img.logo-btm {
	width: 350px;
}
#detail-btm .tel {
	font-size: 20px;
	letter-spacing: 0.1em;
	padding-top: 20px;
}
#detail-btm .telno {
	font-size: 38px;
	line-height: 50px;
	letter-spacing: 0.03em;
	font-weight: bold;
}
/* center 170px */
nav.bottom01 {
	float: left;
	padding: 40px 50px 0 120px;
}
/* right */
nav.bottom02 {
	float: left;
	padding: 40px 30px 0 0;
}

nav.bottom01 ul li,
nav.bottom02 ul li {
	padding: 5px 0 5px 0;
	font-size: 15px;
	letter-spacing: 0.05em;
	line-height: 20px;
	text-align: left;
}
nav.bottom01 ul li a,
nav.bottom02 ul li a {
	color: #e8639e;
}
nav.bottom01 ul li a:hover,
nav.bottom02 ul li a:hover {
	color: #64b5d1;
}
nav.bottom02 ul li.fb-icon a {/* facebook */
	display: inline-block;
	vertical-align: middle ;
	margin-top: 10px;
	font-size: 45px;
}

small {
	background: #fff;
	text-align: center;
	z-index: 999;
	width: 100%;
	position: fixed;
	bottom: 0;
	color: #333;
	font-size: 9px;
	padding-top: 1px; 
	padding-bottom: 2px;
	letter-spacing: 0.1em;
	border-top: solid #fff 1px;
	box-shadow: 0px -1px 3px rgba(0, 0, 0, .2);
	-moz-box-shadow: 0px -1px 3px rgba(0, 0, 0, .2);
	-webkit-box-shadow:0px -1px 3px rgba(0, 0, 0, .2);
	-ms-box-shadow: 0px -1px 3px rgba(0, 0, 0, .2);
	-o-box-shadow: 0px -1px 3px rrgba(0, 0, 0, .2);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}


/* -------------------------------
	>>>>> TOP mediaqueries	　
---------------------------------- */
/*----↓↓↓ all ----*/
@media screen and (max-width : 800px) {
/* pc sp　breakpoint */
.pc {
	display: none;
}
.sp {
	display: inline-block;
}
header h1 {
	padding: 5px 0;
}
/* fbtag */
#btn-fb {
	display: none;
}
/* ribbon */
#btn-ribbon img {
	width: 120px;
 	height: auto;
}
.current {
	font-weight: normal;
	-webkit-animation: none;
    -moz-animation: none;
    animation: none;
}
article#recruit p {
	line-height: 6;
	padding-top: 40px;
	font-size: 26px;
}
}
@media screen and (max-width : 680px) { 
/* teltag */
#btn-tel a {
	display: none;
}
/* formtag */
#btn-form a {
	display: none;
}
p.message {
	display: none;
}
article#recruit p {
	font-size: 24px;
}
#totop-btn {
    bottom: 5px;
    right: 5px; 
}
}
@media screen and (max-width : 480px) { 
article#recruit p {
	line-height: 6;
	padding-top: 60px;
	font-size: 16px;
}
}

/*----↓↓↓ footer area ?----*/
 @media screen and (max-width: 1100px) {
#detail-btm {
	width: auto;
	padding-left: 30px;
}
nav.bottom01 {
	padding-left: 40px;
	padding-right: 20px;
}
}
 @media screen and (max-width: 900px) {
#detail-btm {
	float: none;
	width: 400px;
	margin: 0 auto;
	text-align: center;
	padding-left: 0;
}
img.logo-btm {
	padding-bottom: 10px;
}
#detail-btm p {
	text-align: center;
	font-size: 13px;
}
#navi-btm {
	width: 600px;
	margin: 0 auto;
	text-align: center;
	padding-left: 60px; /* メニュー左余白調整 */
}
nav.bottom01 {
	float: left;
	width: 300px;
}
nav.bottom02 {
	float: left;
	width: 240px;
}
}
@media screen and (max-width : 580px) {
#detail-btm {
	width: 300px;
}
#detail-btm img.logo-btm {
	width: 300px;
	margin-left: -10px;
}

#detail-btm .telno {
	font-size: 30px;
}
#navi-btm {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding-left: 0;
}
nav.bottom01 {
	width: 50%;
	padding-left: auto;
	padding-right: 10px;
}
nav.bottom02 {
	width: 50%;
}
img.logo-btm {
	width: 250px;
}
}
@media screen and (max-width : 420px) { /* 0912追加 */
nav.bottom01 ul li,
nav.bottom02 ul li {
	font-size: 12px;
	letter-spacing: 0.01em;
}
}

/* -------------------------------
	loader
---------------------------------- */
.loader-wrap {
	position: fixed;
	display: flex;
    display: -webkit-flex;
	display:-ms-flexbox;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #fff;
}
.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #e8639e;
  font-size: 9px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 3.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}


/* -------------------------------

	>>>>> ABOUT（笑生について）
	　
---------------------------------- */
/* -----------------
	サブページ
	.section2s共通
--------------------*/
.section2s { 
	padding: 0; 
	background: rgba(255, 239, 255, .5) ;
	color: #333; /* サブページ基本色 */
}
.wrapper {
	width: 100%;
    position: relative;
	display: block;
}
.wrapper .contents {
	width: 800px;
	margin: 0 auto;
	padding-top: 60px;
	padding-bottom: 80px;
}
.wrapper .contents-ttl { /* 下の間隔を狭める */
	width: 800px;
	margin: 0 auto;
	padding-top: 60px;
	padding-bottom: 0;
}
.wrapper .contents-ttl h2 {/* h2下の間隔を狭める */
	margin-bottom: 20px;
}
.wrapper h2 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	color: #e8639e;
	padding: 0 0 0 1.2em;
	border-left: 12px solid #e8639e;
	border-bottom: none;
	line-height: 30px;
	margin-bottom: 70px;/* h2通常 */
}
.wrapper h2 span.ja {
	font-size: 30px; 
	font-weight: 500 !important;
    display: inline-block;
	vertical-align: top;
	line-height: 35px; 
	letter-spacing: 0.05em; 
}
.wrapper h2 span.en {
	font-size: 16px;
    display: inline-block;
	vertical-align: bottom;
	line-height: 16px;
	letter-spacing: 0.1em;
}
.wrapper h3 {
	font-weight: 600;
    color: #e8639e;
	font-size: 26px;
	letter-spacing: 0.05em; 
	padding-bottom: 5px;
	border-bottom: solid 4px #b3b3b3;
    position: relative;
	margin-bottom: 50px;
}
h3:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 4px #e8639e;
	bottom: -4px;
	width: 30%;
}
/* -----------------
	↑↑↑サブページ
	.section2s共通ここまで
--------------------*/

.wrapper article p.copy01 {
	width: 700px;
	margin: 0 auto;
	text-align: center;
	font-size: 33px;
	font-weight: 600 !important;
    color: #777;
	//background: linear-gradient(transparent 70%, #FED6F4 30%);
}
/*　IE10以降にのみ適用 */
@media all and (-ms-high-contrast:none)
{
	.wrapper article p.copy01 {
		font-size: 32px;
		letter-spacing: 0.05em;
    }
}
.wrapper article p.copy01 span {
    color: #e8639e;
	font-size: 50px;
	font-weight: bold !important;
	padding-left: 5px;
}
p.mainimg {
	width: 800px;
	margin: 20px auto 40px;
}
p.mainimg img {
	width: 100%;
	border: 10px solid rgba(255, 255, 255, .98);
}
.wrapper article p.copy02 {
	width: 800px;
	//background: rgba(247, 191, 224, .4);
	margin:20px auto 0;
	text-shadow: 2px 2px 4px #ffffff;
	background-image: url(../images/sky.png);
	//background-color:rgba(255,255,255,0.8);
	background-repeat: no-repeat;
	//background-position: bottom right;
	//background-size: contain;

	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-align: center;
	font-size: 24px;
	color: #fff;
	letter-spacing: 0.1em;
	line-height: 2.4;
    //border-radius: 10px;
	padding-top: 1.5em;
	padding-bottom: 50px;
	position: relative;
	height:600px;
}

/*吹き出し削除
.wrapper article p.copy02:after {
	position: absolute;
  	content: '';
  	bottom: 100%;
  	left: 393px;
  	border: 15px solid transparent;
  	border-bottom: 15px solid rgba(247, 191, 224, .4);
  	width: 0;
  	height: 0;
}
*/
.under {
	border-bottom: dotted 3px #e8639e;
}
.box01 {
	width: 700px;
	margin: 0 auto;
    position: relative;
    margin-top: 80px;
    padding: 30px;
    border: solid 6px #f08ec0;
    border-radius: 0 3px 3px 3px;
    font-size: 16px;
	line-height: 35px;
	background: #fff;
}
.box01 .box-title {
    position: absolute;
    display: inline-block;
    top: -31px;
    left: -6px;
    padding: 0 9px;
    height: 29px;
    line-height: 29px;
    font-size: 18px;
    background: #f08ec0;
    color: #fff;
    font-weight: bold;
    border-radius: 3px 3px 0 0;
}
.box01 p {
    margin: 0; 
    padding: 0;
}
.box01 dt {
	width: 200px;
	float: left;
}
.box01 dd {
	float: left;
	line-height: 30px;
}
.box01 dt.ttl span {
	display: inline;
	border-left: solid 5px #e8639e;
	padding-left: 10px;
	line-height: 30px;
	font-weight: bold;
}
.no-houkan {
	padding-left: 70px; 
}
.no-kyotaku {
	padding-left: 192px; 
}
.sp-s2 {
	display: none;
}

.icon-circle {
	color: #999;
	padding-right: 8px;
}

/* 背景色指定 */
.wrapper article#area {
	background-color: #fff;
	border-top: 1px solid #eee; 
}
.wrapper article#outline {
	background: rgba(255, 239, 255, .9);
}
.wrapper article#history {
	background-color: #fff;
}
.wrapper article#access {
	background: rgba(255, 239, 255, .9); 
}

/* #area */
#area-box {
	width: 700px;
	margin: 0 auto;
}
.area-map img {
	width: 300px;
    border: solid 5px #e8639e;
 	border-radius: 3px;
}
#area p span.area-text {
	float: right;
	width: 350px;
	font-size: 20px;
	line-height: 40px;
    border-bottom: dotted 5px #e8639e;
    border-top: dotted 5px #e8639e;
	padding: 20px 0;
	margin-top: 50px;
}

/* #outline */
dl.company {
	width: 700px;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0px 15px;
}
dl.company dt,
dl.company dd {
	padding: 12px;
	float: left;
}
dl.company dt {
	background: rgba(240, 142, 192, .98);
	vertical-align: middle;
	text-align: left;
	width: 150px; 
	height: 3em; 
	overflow: visible;
	position: relative;
	color: #fff;
	line-height: 24px;
	padding-left: 40px;
 	border-radius: 3px 0 0 3px;
}
dl.company dt:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-left-color: rgba(240, 142, 192, .98);
	border-width: 10px;
	margin-top: -10px;
}
dl.company dd {
	background: rgba(255, 255, 255, .9);
	width: 500px;
	height: 3em;
	padding-left: 50px;
	line-height: 24px;
	margin-bottom: 5px;/* 隙間 */
	vertical-align: middle;
 	border-radius: 0 3px 3px 0;
}

/* #history */
#history ul {
	width: 700px; 
	margin: 0 auto;
}
#history ul li {
	padding: 25px;
	border-bottom: solid 2px #eee;
}
#history ul li.first-child {
	border-top: solid 2px #eee;
}
#history ul li span.date {
	width: 200px; 
	display: inline-block;
	font-weight: bold;
}
#history ul li span.event {
	padding-left: 200px; 
}
/* #access */
#map .mapimg {
	border: 1px solid #ccc;
	margin: 40px 0;
	position: relative;
	padding-bottom: 50%;  /* 縦横比 */
	overflow: hidden;
}
#map .mapimg iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
/* 大きな地図で見るボタン */
.button-wrapper2 {
	float: left;
	text-shadow: none;
	display: inline-block;
	width: 250px;
    letter-spacing: 0.2em;
	font-size: 14px;
	display: block;
	position: relative;
}
.button2 {
  	display: inline-block;
  	width: 250px;
  	height: 54px;
  	text-align: center;
  	text-decoration: none;
  	outline: none;
  	background: rgba(240, 142, 192, .98) url(../images/noise.png);
  	border: 2px solid rgba(240, 142, 192, .8);
  	color: #fff;
  	line-height: 50px;
  	border-radius: 5px;
	cursor: pointer;
}
.button2,
.button2::before,
.button2::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .5s;
  transition: all .5s;
}
.button2:hover {
    opacity: .7;
}
#access p.address {
	float: right;
	margin-bottom: 0;
	text-align: right;
	color: #555;
}
#access p.address img {
	width: 300px;
}
#access p.address .location {
	display: inline-block;
	font-size: 18px;
	padding-bottom: 5px;
}
#access p.address .attn {
	display: inline-block;
	font-size: 15px;
}

/* footer-img */
#footer-img {
	width: 100%;
	text-align: center;
	padding: 0;
	margin: 0 auto;
}
.triple-img {
	width: 33.33%;
	padding: 0;
	height: auto;
	vertical-align:bottom; /*追加で画像隙間なし */
}

/* -------------------------------
	>>>>> about mediaqueries	　
---------------------------------- */
@media screen and (max-width : 800px) {
.wrapper .contents {/* ----- サブページ.section2s 共通 -----*/
	width: 90%;
	padding-top: 40px;
	padding-bottom: 60px;
}
.wrapper h2 {/* サブページ.section2s 共通 h2通常 */
	margin-bottom: 40px;
}
.wrapper article p.copy01 {
	width: 100%;
	font-size: 28px;
}
.wrapper article p.copy01 span {
	font-size: 42px;
	padding-left: 3px;
}
p.mainimg {
	width: 100%;
}
.wrapper article p.copy02 {
	height:500px;
	font-size: 16px;
	line-height:3em;
	letter-spacing: 0.05em;
	padding: 3em 15px 30px;
	background-image: url(../images/sky_mb.png);
	background-size:cover;
	background-position:bottom center;
	width:100%;
}
.wrapper article p.copy02:after { /* 吹き出し */
  	left: 47%;
}
.box01 {
	width: 100%;
}
/* #area */
#area-box {
	width: 300px;
	margin: 0 auto;
}
#area p span.area-text {
	float: none;
	width: 300px;
	margin: 15px auto 0;
	display: block;
}
/* #outline */
dl.company {
	width: 100%;
}
dl.company dt {
	width: 30%;
}
dl.company dd {
	width: 60%;
	padding-left: 30px;
}
/* #history */
#history ul {
	width: 100%; 
}
#history ul li {
	padding: 10px;
}
#history ul li span.date {
	padding-bottom: 20px;
}
#history ul li span.event {
	padding-left: 0;
}
/* #access */
.button-wrapper2 {
	float: none;
	margin: 0 auto;
}
#access p.address {
	float: none;
	text-align: center;
	width: 100%;
	margin: 50px auto 0;
}
#access p.address img {
	width: 250px;
}
}
@media screen and (max-width : 680px) {
.wrapper article p.copy01 { 
	font-size: 26px;
}
.wrapper article p.copy01 span {
	font-size: 40px;
	padding-left: 2px;
}
.wrapper article p.copy01 {
	background: none;
}
#access p.address .location {
	font-size: 16px;
}
#access p.address .attn {
	font-size: 14px;
}
}
@media screen and (max-width : 570px) {
.sp-s {
	display: none;
}
.box01 dt {
	width: 128px;
	letter-spacing: -0.01em;
}
/* #outline */
dl.company dt {
	padding-left: 10px;
	width: 30%;
}
dl.company dd {
	width: 70%;
	padding-left: 30px;
}
}
@media screen and (max-width : 560px) { /* 0912追加 事業所*/
.sp-s2 {
	display: block;
}
.sp-s3 {
	display: none;
}
.sp560 {
	padding-left: 22px;
}
.box01 {
    padding: 20px 5px 20px 15px;
}
.box01 dt {
	float: none;
}
.box01 dd {
	width: 100%;
	float: none;
	line-height: 25px;
	padding-left: 15px;
}
.no-houkan {
	padding-left: 0; 
}
.no-kyotaku {
	padding-left: 0; 
}
.box01 dd {
	padding-bottom: 15px;
}
}
@media screen and (max-width : 415px) {
.wrapper article p.copy02:after { 
  	left: 45%;
}
.box01 { /*0912追加*/ 
    font-size: 15px;
	line-height: 30px;
	letter-spacing: 0.03em;
}
/* #outline */
dl.company dt:after {
	display: none;
}
dl.company dt {
	height: 4.5em;
	padding-left: 10px;
	width: 25%;
	font-size: 15px;
}
dl.company dd {
	height: 4.5em;
	width: 70%;
	padding-left: 15px;
	font-size: 15px;
}
/* #history */
#history ul li { /* 0912追加 */
	font-size: 15px;
	letter-spacing: 0.03em;
}
/* #access */
#map .mapimg {
	padding-bottom: 75%;  /* 縦横比 */
}
#access p.address .location { /* 0912追加 */
	font-size: 15px;
}
}
@media screen and (max-width : 321px) { /* 0912追加 */
.box01 { 
    font-size: 13px;
	letter-spacing: 0.01em;
}
.box01 dd {
	padding-bottom: 10px;
}
/* #outline */
dl.company dt {
	font-size: 13px;
}
dl.company dd {
	padding-left: 10px;
	font-size: 13px;
}
/* #history */
#history ul li {
	font-size: 13px;
	letter-spacing: 0.01em;
}
/* #access */
#access p.address .location {
	font-size: 13px;
}
}

/* -------------------------------

	>>>>> CONTACT（お問い合わせ・申し込み）
	　
---------------------------------- */
#contact-tel h3,
#contact-fax h3,
#contact-form h3 {
	margin-bottom: 40px;
	border-bottom: solid 3px #e8639e;
}
#contact-tel h3:after, 
#contact-fax h3:after,
#contact-form h3:after {
	display: none;
}
#contact-tel p.telno,
#contact-fax p.telno { /* 数字 */
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 40px;
	line-height: 75px;
	letter-spacing: -0.2em; 
	font-weight: bold;
	color: #e8639e;
	margin: 15px auto 0 0;
	position: relative;
	height: 75px;
}
.icon-phone1 {
	color: #fff;
	padding-right: 90px;
}
.icon-fax {
	color: #fff;
	padding-right: 90px;
}
.icon-phone1:before,
.icon-fax:before { /* 四角背景 */
	content: "";
	position: absolute;
    top: 0;
    left: 0;
	width: 75px;
	height: 75px;
	padding: 20px;
    background: rgba(240, 142, 192, .98) url(../images/noise.png) repeat;
	border-radius: 3px;
}
.time {
	font-size: 20px;
	color: #555;
	letter-spacing: 0.01em;
	vertical-align: top;
}
/* 背景色指定 */
.wrapper article#contact-form {
	background-color: #fff;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
p.txt00 { /* Contactテキスト部分 */
	width: 700px;
	margin: 0 auto;
	color: #555;
	font-size: 17px;
	line-height: 30px;
}
/* ------- CONTACT FORM ------- */
/* 外枠 */
#formWrap {
	width: 700px;
	margin: 40px auto 0;
	color: #555;
}
dl.formTable { 
	width: 100%;
	margin: 0 auto;
}
dl.formTable dt, dl.formTable dd {
	border: 1px solid #fff;
	padding: 15px;
	border-radius: 3px;
	float: left;
}
dl.formTable dt {
	width: 35%;
	font-weight: normal;
	background: #eaeae9;
	text-align: left;
	height: 70px;
	color: #555;
	font-weight: normal;
	padding-left: 20px;
	letter-spacing: 0.05em
}
dl.formTable dd {
	width: 65%;
	font-size: 14px;
	height: 70px;
	background: rgba(240, 142, 192, .2);
}
dl.formTable dd.inquire,
dl.formTable dt.inquire {
	height: 200px;
}
.attention01 {
	font-size: 12px;
	background:  #e8639e;
	padding: 5px;
	margin-right: 10px;
	border-radius: 3px;
	color: #fff;
	text-shadow: none;
}
.sp-s1 {
	display: none;
}
textarea::-webkit-input-placeholder {
    color: #ccc;
    font-size: 13px;
	letter-spacing: -0.04em;
}
textarea:-moz-placeholder {
    color: #ccc;
    font-size: 13px;
	letter-spacing: -0.04em;
}
textarea:-ms-input-placeholder {
    color: #ccc;
    font-size: 13px;
	letter-spacing: -0.04em;
}
/* 入力エリア */
input, textarea {
	font-size: 14px;
    border: 1px solid #bbb;
    padding: 10px;
    color: #333;
    background: rgba(255, 255, 255, .98);
}
input:focus, textarea:focus {
    background: #f7f7f7;
}
.submit {
	font-size: 16px;
    padding: 15px 100px;
    color: #fff;
	letter-spacing: 0.2em;
    cursor: pointer;
	background: #e8639e;
	border: none;
	border-radius: 5px;
	margin-top: 30px; 
	-webkit-transition: all .5s;
	transition: all .5s;
}
.submit:hover {
	opacity: .7;
}
p.btn {
	text-align: center;
}
input[type="text"],
textarea {
    width: 100%;
}
input[type="text"],
textarea {
  	outline: none;
  	border: 1px solid #aaa;
  	-webkit-transition: all .5s;
  	transition: all .5s;
}
input[type="text"]:focus,
textarea:focus {
  	box-shadow: 0 0 7px #e8639e;
  	border: 1px solid #e8639e;
}
/* ブラウザ由来リセット */
textarea, 
input {
    -webkit-appearance: none;
	-webkit-border-radius : 0;
	outline: none;
}
/* 横のみリサイズ可 */
textarea {
  	resize: horizontal;
}
/* forIE10~ text */
input::-ms-clear {
     visibility: hidden;
}
/* forIE10~ password */
input::-ms-reveal {
  	 visibility: hidden;
}
/* radioボタンカスタム */
input[type="radio"] {
  	display: none;
}
label {
  	position: relative;
  	display: inline-block;
  	padding: 3px 3px 3px 26px;
  	cursor: pointer;
}
label::before,
label::after {
  	position: absolute;
  	content: '';
  	top: 50%;
  	border-radius: 100%;
  	-webkit-transition: all .2s;
 	transition: all .2s;
}
label::before {
  	left: 0;
  	width: 20px;
  	height: 20px;
  	margin-top: -9px;
 	background: #fff;
 	border: 2px solid #e8639e;
}
label:hover::before {
  	background: #fff;
}
label::after {
  	opacity: 0;
  	left: 2px;
  	width: 16px;
 	height: 16px;
  	margin-top: -7px;
  	background: #e8639e;
 	-webkit-transform: scale(2);
 	transform: scale(2);
}
input[type="radio"]:checked + label::before {
  	background: #fff;
  	border: 1px solid #e8639e;
}
input[type="radio"]:checked + label::after {
  	opacity: 1;
  	-webkit-transform: scale(1);
  	transform: scale(1);
}
.space-radio {
	padding-right: 10px;
}

/* PDFボタン */
#pdf-area {
	display: table;
	margin: 0 auto;
	margin-top: 30px;
}
.button-wrapper-pdf {
	padding-right: 10px;
	text-shadow: none;
	width: 260px;
    letter-spacing: 0.2em;
	font-size: 18px;
	position: relative;
	display: table-cell;
}
.button-pdf {
  	display: inline-block;
  	width: 260px;
  	height: 100px;
  	text-align: center;
  	text-decoration: none;
  	outline: none;
  	color: #fff;
  	line-height: 100px;
  	border-radius: 3px;
	cursor: pointer;
}
/* houkan */
#pdf01 {
  	background: rgba(240, 142, 192, .98) url(../images/noise.png);
  	border: 2px solid rgba(240, 142, 192, .6);
}
/* teijun */
#pdf02 {
  	background: rgba(148, 185, 227, .98) url(../images/noise.png) repeat;
  	border: 2px solid  rgba(148, 185, 227, .8);
}
/* kyotaku */
#pdf03 {
  	background: rgba(147, 221, 203, .98) url(../images/noise.png) repeat;
  	border: 2px solid  rgba(147, 221, 203, .8);
}
a#pdf03 span.long {
    letter-spacing: 0.03em;
}
img.img-pdf  {
	width: 50px;
	padding-left: 5px;
	vertical-align: middle;
}
.button-pdf,
.button-pdf::before,
.button-pdf::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .5s;
  transition: all .5s;
}
.button-pdf:hover {
    opacity: .7;
}

/* thanks.html */
#thanks p {
	text-align: center;
	padding-top: 100px;
	padding-bottom: 200px;
	font-size: 18px;
	line-height: 30px;
}

/* -------------------------------
	>>>>> contact mediaqueries	　
---------------------------------- */
@media screen and (max-width : 800px) {
.shorten .contents { /* 上の間隔を狭める contact,work,service */
	padding-top: 0;
	margin-top: -30px;
}
#contact-tel h3,
#contact-fax h3,
#contact-form h3 {
	margin-bottom: 30px;
}
.time-s {
	position: absolute;
	bottom: 0;
	left: 100px;
	font-size: 15px;
	color: #555;
	letter-spacing: 0.09em;
	line-height: 20px;
}
#contact-tel p.telno,
#contact-fax p.telno {
	line-height: 50px;
	margin-bottom: 25px;
}
p.txt00 {
	width: 100%;
}
#formWrap {
	width: 100%;
	margin: 30px auto 0;
}
input[type="text"], textarea {
	width: 100%;
	padding: 5px;
	font-size: 110%;
	display: block;
}
input[type="reset"], input[type="button"] {
	display: block;
	width: 100%;
	height: 40px;
}
dl.formTable dd.inquire,
dl.formTable dt.inquire {
	height: 230px;
}
/* PDFボタン */
#pdf-area {
	display: block;
	width: 90%;
}
.button-wrapper-pdf {
	width: 100%;
	padding-right: 0;
	font-size: 22px;
	display: inline-block;
	margin-bottom: 10px;
}
.button-pdf {
	width: 100%;
}
}
@media screen and (max-width : 570px) {
#contact-tel p.telno,
#contact-fax p.telno {
	font-size: 30px;
	line-height: 30px;
	letter-spacing: -0.2em; 
}
.icon-phone1,
.icon-fax {
	font-size: 40px;
	line-height: 75px;
}
.time-s {
	position: absolute;
	bottom: 0;
	font-size: 12px;
	color: #555;
	letter-spacing: 0.01em;
	line-height: 14px;
}
dl.formTable dt, dl.formTable dd {
	padding: 15px;
}
dl.formTable dt {
	font-size: 16px;
	padding-left: 10px;
}
dl.formTable dd {
	font-size: 15px;
}
/* PDFボタン */
#pdf-area {
	display: block;
	width: 100%;
}
}
@media screen and (max-width:414px) {
#contact-tel p.telno,
#contact-fax p.telno {
	font-size: 26px;
	line-height: 20px;
	letter-spacing: -0.2em;
}
.sp-s1 {
	display: block;
}
dl.formTable dt, dl.formTable dd {
	padding: 10px;
}
dl.formTable dt {
	height: 90px;
}
dl.formTable dd {
	height: 90px;
}
dl.formTable dd.inquire,
dl.formTable dt.inquire {
	height: 200px;
}
}


/* -------------------------------

	>>>>> MESSAGE（代表メッセージ）
	　
---------------------------------- */
.profile-area {
	width: 100%;
	margin: 80px auto 0;
}
.ceo-img {
	float: left;
}
.ceo-img img {
	width: 350px;
	border: 10px solid rgba(255, 255, 255, .98);
}
.wrapper article p.copy03 {
	width: 420px;
	float: right;
	background: rgba(247, 191, 224, .4);
	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-align: left;
	font-size: 22px;
    color: #222;
	letter-spacing: 0.1em;
	line-height: 2;
    border-radius: 10px;
	padding: 25px 25px 40px 30px;
	position: relative;
}
.wrapper article p.copy03:after {
	position: absolute;
  	content: '';
  	bottom: -30px;
  	left: 350px;
  	border: 15px solid transparent;
  	border-top: 15px solid rgba(247, 191, 224, .45);
  	width: 0;
  	height: 0;
}
.ceo-name01 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	width: 420px;
	float: right;
	text-align: right;
	margin-top: 40px;
	font-size: 20px;
	color: #e8639e;
	padding-right: 15px;
	line-height: 1.7;
	letter-spacing: 0.2em;
}
.ceo-sudou01 {
	font-size: 26px;
}
.box02 {
    position: relative;
    margin-top: 35px;
    padding: 15px 0;
    border: none;
    font-size: 15px;
	line-height: 1.8;
}
.box02 .box-title {
    position: absolute;
    display: inline-block;
    top: -25px;
    left: 0;
    padding: 0 9px;
    height: 29px;
    line-height: 29px;
    font-size: 18px;
    background: #F08EC0;
    color: #fff;
    font-weight: bold;
    border-radius: 3px;
}
/* 背景色指定 */
.wrapper article#start-up {
	background-color: #fff;
	border-top: 1px solid #eee;
}
.wrapper article#philosophy {
	background-color: #fff;
	border-bottom: 1px solid #eee;
}
.txt03 { /* Message,interviewテキスト部分共用 */
	color: #333;
	line-height: 35px;
}
.message-img {
	margin: 35px auto -50px;/* margin-bottomネガティブで写真下間隔調整 */
}
/* メッセージリボン */
.ribbon-wrapper { 
	font-family: 'M PLUS Rounded 1c', sans-serif;
  　display: block;
  　position: relative;
  　margin: 0 auto;
  　padding: 10px 0;
  　width: 700px;
    background: rgba(255, 255, 255, .98) url(../images/noise.png) repeat;
}
.ribbon-mess {
    display: inline-block;
  	position: relative;
  	box-sizing: border-box;
  	padding: 10px 10px 10px 30px;
  	margin: 30px 0 0 -20px;
  	width: calc(25% + 20px);
  	font-size: 22px;
  	color: #fff;
  	background: #E8639E;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .4);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .4);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.ribbon-mess:before {
  	position: absolute;
  	content: '';
  	top: 100%;
  	left: 0;
  	border: none;
  	border-bottom: solid 15px transparent;
  	border-right: solid 20px #D00992;
}
.txt02 { /* Messageメッセージ  */
	color: #555;
  	font-size: 17px;
  	padding: 35px 50px 20px;
	line-height: 40px;
}
.ceo-name02 {
	display: inline-block;
	font-size: 18px;
	color: #333;
	padding-left: 180px;
	padding-top: 40px;
	padding-bottom: 30px;
}
img.ceo-sudou02 {
	display: inline-block;
	vertical-align: middle;
	width: 200px;
	padding-left: 30px;
}
.bg1-mess {
	position: relative;
	bottom: 0px;
	left:  50px;
	opacity: .6
}
.bg1-mess img {
	width: 100px;
}
.bg2-mess {
	position: absolute;
	top: 20px;
	right:  40px;
	opacity: .6
}
.bg2-mess img {
	width: 100px;
}


/* -------------------------------
	>>>>> message mediaqueries	　
---------------------------------- */
@media screen and (max-width : 800px) {
.profile-area {
	text-align: center;
}
.ceo-img {
	float: none;
	text-align: center;
}
.ceo-img img {
	width: 100%;
	margin: 0 auto;
}
.wrapper article p.copy03 {
	width: 100%;
	margin: 20px auto 0;
	padding: 20px;
	float: none;
}
.wrapper article p.copy03:after {
  	left: 80%;
}
.ceo-name01 {
	width: 100%;
	font-size: 18px;
	letter-spacing: 0.1em;
}
.ribbon-mess {
  	width: calc(48% + 20px);
}
.message-img img {
	width: 100%;
}
.txt02 { /* Messageメッセージ */
  	padding: 30px 40px;
	line-height: 40px;
}
.ceo-name02 {
	padding-left: 10%;
	text-align: right;
}
/* お花を表示させるため、コメント
.bg1-mess,
.bg2-mess {
	display: none;
}
*/

.bg2-mess {
	display: none;
}
.bg1-mess{ 
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	margin-right:40px;
	opacity: .6
}


}
@media screen and (max-width : 420px) {
.txt02 { /* Messageメッセージ */
  	padding: 30px 20px;
	line-height: 35px;
}
.ceo-name02 {
	padding-left: 0;
	letter-spacing: 0.01em;
}
}


/* -------------------------------

	>>>>> WORK（笑生で働く）
	　
---------------------------------- */
/* cover */
#prologue-cover1 a,
#prologue-cover2 a {
	color: #333;
}
#prologue-cover1 a:hover,
#prologue-cover2 a:hover {
	display: block;
	opacity: .7;
}
.interview-no {
	font-size: 20px;
	padding-right: 15px;
	letter-spacing: normal;
}
p.point {
	font-size: 22px;
	color: #e8639e;
	line-height: 40px;
}
#profile-area {
	width: 700px;
	margin: 40px auto 0;
    border: solid 2px #f08ec0;
    border-radius: 3px;
	padding: 0;
    background: rgba(255, 255, 255, 1) url(../images/noise.png) repeat;
}
#worker-profile {
	margin: 8px auto 2px;/* 枠と中身の隙間 */
	width: 680px;
}
p.work-img-profile {
	float: left;
	clear: left;
}
p.work-img-profile img {
	width: 230px;/* 写真とプロフィールの隙間 */
    border-radius: 3px;
    border: solid 1px #eee;
}
.wrapper article p.copy05 {
	width: 440px;
	float: right;
	background: rgba(247, 191, 224, .4) url(../images/noise.png) repeat;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 20px;
	color: #e8639e;
	letter-spacing: 0.1em;
	line-height: 2;
	padding: 30px 25px;
	position: relative;
    border-radius: 3px;
    border: solid 1px #F08EC0;
}
.box03 p {
	float: right;
	width: 440px;
    position: relative;
    margin-top: 20px;
    padding: 15px 0;
	padding-left: 80px;
    border: none;
    font-size: 18px;
	font-weight: bold;
	line-height: 1.8;
}
.box03 p span {
    font-size: 14px;
	font-weight: nomal;
}
/* 背景色指定 */
.wrapper article#prologue-cover2 {
	background: #fff;
	border-top: 1px solid #eee;
}
.wrapper article#interview {
	background: #fff;
	border-top: 1px solid #eee;
}
/* interview */
#interview .contents { /* 上部余白詰め */
	padding-top: 0;
}
h4.ques {
	width: auto;
	margin: 80px auto 20px;
	background: transparent;
    display: block;
    padding-bottom: 10px;
    font-weight: bold;
	font-size: 24px;
	text-align: left;
}
span.triangle img {
	padding-right: 10px;
	width: 26px;
	vertical-align: middle;
}
p.work-img {
	width: 800px;
	margin: 35px auto 80px;
}

p.work-img img {
	width: 100%;
	vertical-align: bottom;
}
p.work-img-s {
	width: 800px;
	height: 300px;
	margin: 50px auto;
	position: relative;
}
p.work-img-s img {
	width: 350px;
	border: 6px solid rgba(255, 255, 255, .98);
	display: block;
}
.rotate1 {
    transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
}
.rotate2 {
    transform: rotate(-15deg);
    -moz-transform: rotate(-15deg);
    -webkit-transform: rotate(-15deg);
}
.photo01 {
	position: absolute;
	top: 15px;
	left: 45px;
	display: block;
}
.photo02 {
	position: absolute;
	top: 0px;
	right: 40px;
	display: block;
}
.photo04 {
	position: absolute;
	top: 25px;
	left: 45px;
	display: block;
}
.photo03 {
	position: absolute;
	top: 30px;
	right: 40px;
	display: block;
}
.next-interview {
	margin-top: 40px;
	padding-bottom: 60px;
}
.next-interview img {
	float: right;
	width: 500px;
}
.next-interview a img:hover {
    opacity: .7;
}
.icon-angle-double-right {
	float: right;
	color: #F08EC0;
	font-size: 50px;
	padding-right: 10px;
	padding-top: 60px;
}

/* -------------------------------
	>>>>> work mediaqueries	　
---------------------------------- */
@media screen and (max-width : 800px) {
p.point {
	font-size: 20px;
	margin-top: -30px; /* 上との間隔調整 */
}
p.worker-profile-s {
	width: 80%;
	margin: 30px auto 0;
	text-align: center;
}
p.worker-profile-s img {
	width: 100%;
}
p.work-img {
	width: 100%;
	margin: 20px auto;
}
p.work-img-s {
	width: 90%;
	height: 250px;
	margin: 30px auto;
	position: relative;
}
p.work-img-s img {
	width: 300px;
}
}
@media screen and (max-width : 680px) {
h4.ques {
	font-size: 20px;
	margin: 40px auto 20px;
}
p.work-img-s {
	height: 180px;
}
p.work-img-s img {
	width: 200px;
}
.next-interview {
	padding-bottom: 20px;
}
.next-interview img {
	width: 300px;
}
.icon-angle-double-right {
	float: right;
	color: #F08EC0;
	font-size: 50px;
	padding-right: 10px;
	padding-top: 10px;
}
}
@media screen and (max-width : 420px) {
p.point {
	font-size: 18px;
}
p.worker-profile-s {
	width: 100%;
}
}


/* -------------------------------

	>>>>> RECRUIT（採用情報）
	　
---------------------------------- */
.wrapper article p.copy04 { /* service吹き出しと共用 */
	width: 700px;
	margin: 60px auto 0;
	background: rgba(255, 255, 255, 1);
	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-align: left;
	letter-spacing: 0.1em;
	line-height: 2;
    border-radius: 10px;
	padding: 25px 25px 40px 30px;
	position: relative;
}
#recruitment p.copy04 {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	border: 3px solid  #e8639e;
	padding: 25px 25px 20px 30px;
}
#recruitment p.copy04:after {
	display: none;
}
.red {
	color: #ce2706;
}
.attention02 {
	display: block;
	text-align: right;
	font-size: 16px;
}
#workingstyle-area {
	width: 600px;
	margin: 50px auto 0;
}
li.choice {
	display: inline-block;
  	position: relative;
  	padding: 0 5px 0 10px;
  	background: #e8639e;
  	font-size: 18px;
	font-weight: bold;
  	color: #fff;
	border-radius: 3px;
}
/*　ボタン文字ズレをふせぐ（IE10以降にのみ適用）*/
@media all and (-ms-high-contrast:none)
{
li.choice {
    padding-top: 5px;
    padding-bottom: 1px;
    }
}
p.wish {
	color: #e8639e;
	display: inline-block;
	padding-left: 10px;
  	font-size: 18px;
}
.answer-area {
	width: 600px;
	margin: 0 auto 15px;
	line-height: 40px;
	text-align: left; 
	border-radius: 3px;
	padding-top: 0;
}
#workingstyle-area .icon-angle-double-right {
	float: none;
	color: #f08ec0;
	padding: 0 15px 11px 5px;
	vertical-align: middle;
	display: inline-block;
  	font-size: 30px;
    font-weight: bold;
}
.answer {
	display: inline-block;
	vertical-align: middle;
  	font-size: 18px;
	margin: 0 auto;
	padding-bottom: 10px;
	color: #e8639e;
    font-weight: bold;
}
.answer-detail {
  	font-size: 15px;
	color: #555;
	padding-left: 20px;
	display: inline-block;
	vertical-align: top;
}
/* 背景色指定 */
.wrapper article#recruit-kaigo {
	background: #fff;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.wrapper article#recruit-kango {
	background: #fffaff;
	border-bottom: 1px solid #eee;
}
.wrapper article#recruit-rigaku {
	background: #fefefe;
}
h4.bg-pink { /* serviceと共通 */
	width: 250px;
	margin: 0 auto;
	background: #e8639e;
    display: block;
    padding: 2px 0;
	color: #fff;
    border-radius: 3px;
    font-weight: bold;
	font-size: 22px;
	text-align: center;
}
/*　ボタン文字ズレをふせぐ（IE10以降にのみ適用）*/
@media all and (-ms-high-contrast:none)
{
    h4.bg-pink
    {
    	padding-top: 6px;
    	padding-bottom: 1px;
    }
}
h5 {
	color: #e8639e;
    font-size: 20px;
    font-weight: bold;
	padding: 0.5em 0;
    border-bottom: solid 1px #e8639e;
	margin: 0 auto 30px;
}
dl.recruit {
	width: 800px;
	display: block;
	margin: 0;
	padding: 0;
    border-bottom: 1px dotted #333;
    font-size: 15px;
    line-height: 2;
	margin-bottom: 60px;
}
dl.recruit dt {
    float: left;
	clear: left;
    width: 25%;
    padding: 10px 0px 10px 0px;
    border-top: 1px dotted #333;
    text-align: center;
    font-weight: bold;
}
dl.recruit dd {
	float: left;
	background: #fff;
	width: 75%;
	padding-left: 26%;
    padding: 10px 0px 10px 20px;
    border-top: 1px dotted #333;
}
dl.proper {
	background: #fff2fc;
}
dl.proper dt,
dl.proper span {
	color: #e8639e;
}
/* ご応募ボタン */
.button-wrapper-contact {
  	text-align: center;
}
.button-contact {
  	display: inline-block;
  	width: 350px;
  	height: 100px;
  	outline: none;
  	color: #fff;
    letter-spacing: 0.2em;
	font-size: 22px;
  	line-height: 100px;
  	border-radius: 5px;
	cursor: pointer;
  	background: rgba(240, 142, 192, .98) url(../images/noise.png);
  	border: 2px solid rgba(240, 142, 192, .8);
}
.button-contact:hover {
    opacity: .7;
}
img.img-mail  {
	width: 60px;
	padding-left: 15px;
	padding-bottom: 3px;
	vertical-align: middle;
}
.attention03 {
	text-align: center;
	margin-top: 30px;
}

/* -------------------------------
	>>>>> recruit mediaqueries	　
---------------------------------- */
@media screen and (max-width : 800px) {
#recruitment p.copy04 {
	width: 100%;
}
#workingstyle-area {
	width: 100%;
	margin: 30px auto 0 0;
}
p.wish {
	width: 100%;
	display: inline-block;
	padding: 5px;
}
.answer-area {
	width: 100%;
	line-height: 18px;
	margin-bottom: 25px;
}
.answer {
	margin-bottom: 0;
}
.answer-detail {
	padding-top: 5px;
}
dl.recruit {
	width: 100%;
	margin: 0 auto 80px;
}
.button-contact {
	width: 95%;
}
}
@media screen and (max-width : 680px) {
#recruitment p.copy04 {
	padding: 20px;
}
p.wish {
  	font-size: 16px;
}
.answer {
  	font-size: 16px;
}
.answer-detail {
  	font-size: 14px;
}
h4.bg-pink { /* serviceと共通 */
	width: 150px;
}
}
@media screen and (max-width : 420px) {
.answer-area {
	margin-bottom: 30px;
}
.answer-detail {
	margin-top: -12px;
}
dl.recruit {
	margin: 0 auto 50px;
}
.button-wrapper-contact img {
	display: none;
}
}


/* -------------------------------

	>>>>> SERVICE（サービスのご案内）
	　
---------------------------------- */
/* 背景色指定 */
.wrapper article#teijun {
 	background: #fff;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
p#p-houkan {
	margin: 60px auto;
	//background: rgba(244, 151, 170, .4);
	font-size: 18px;
	border: 3px solid  #e8639e; //変更しました
}
p#p-teijun {
	margin: 60px auto;
	//background: rgba(148, 185, 227, .3); 
	font-size: 18px;
	border: 3px solid  #e8639e; //変更しました
}
p#p-kyotaku {
	margin: 60px auto;
	//background: rgba(147, 221, 203, .4);
	font-size: 18px;
	border: 3px solid  #e8639e; //変更しました
}

/* 吹き出しを変更して、消してあります
.wrapper article p.copy04:after { // 吹き出し
	position: absolute;
  	content: '';
  	bottom: -30px;
  	left: 48%;
  	border: 15px solid transparent;
  	border-top: 15px solid rgba(247, 191, 224, .45);
  	width: 0;
  	height: 0;
}
#houkan .copy04:after { // 吹き出し
  	border-top: 15px solid rgba(244, 151, 170, .4);
}
#teijun .copy04:after { // 吹き出し
  	border-top: 15px solid  rgba(148, 185, 227, .3);
}
#kyotaku .copy04:after { // 吹き出し
  	border-top: 15px solid rgba(147, 221, 203, .4);
}

*/


.img{
	text-align:center;
}


/* ----- houkan -----*/
/* flexbox */
.flexbox {
	margin-top: 40px;
    display: -webkit-flex;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    -webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flexbox .item {
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
    text-align: center;
	width: calc(33.3% - 13px);
	height: 150px;
	display: table;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .2);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.flexbox p {
	font-size: 20px;
	display: table-cell;
	vertical-align: middle;
	position: relative;
	color: #555;
	font-weight: 600;
}
.flexbox p span.item-no {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	position: absolute;
	top: -35px;
	left: -16px;
	font-size: 60px;
	letter-spacing: -0.05em;
	color: rgba(255, 255, 255, .2);
	text-shadow: none;
}
#row1 {
    background: rgba(245, 145, 180, .4) url(../images/noise.png) repeat;
}
#row2 {
    background: rgba(243, 121, 168, .45) url(../images/noise.png) repeat;
}
#row3 {
    background: rgba(241, 98, 157, .5) url(../images/noise.png) repeat;
}
#row4 {
    background: rgba(239, 77, 150, .55) url(../images/noise.png) repeat;
}
#row5 {
    background: rgba(200, 210, 238, .6) url(../images/noise.png) repeat;
}
#row6 {
    background: rgba(188, 198, 239, .6) url(../images/noise.png) repeat;
}
#row7 {
    background: rgba(164, 172, 238, .6) url(../images/noise.png) repeat;
}
#row7a {
    background: rgba(126, 130, 236, .6) url(../images/noise.png) repeat;
}
#row8 {
    background: rgba(204, 238, 238, .9) url(../images/noise.png) repeat;
}
#row9 {
    background: rgba(193, 235, 239, .9) url(../images/noise.png) repeat;
}
#row10 {
    background: rgba(168, 225, 238, .9) url(../images/noise.png) repeat;
}
#img-bg1 {
	margin-top: 50px;
	background: url(../images/service_img11.jpg) no-repeat center;
	background-size: cover;
	border: 8px solid #f3a2c7;
	border-radius: 50%;
	width: 250px;
	height: 250px;
	padding: 0; 
}
#img-bg2 {
	margin-top: 50px;
	background: url(../images/service_img10.jpg) no-repeat center;
	background-size: cover;
	border: 8px solid #f3a2c7;
	border-radius: 50%;
	width: 250px;
	height: 250px;
	padding: 0; 
}
#img-bg3 {
	margin-top: 50px;
	background: url(../images/service_img09.jpg) no-repeat center;
	background-size: cover;
	border: 8px solid #f3a2c7;
	border-radius: 50%;
	width: 250px;
	height: 250px;
	padding: 0; 
}

/* ----- teijun -----*/
.four-service {/* こんな方に適していますと共有 */
	width: 600px;
	margin: 0 auto;
	text-align: center;
  	color: #fff;
  	padding: 5px;
  	border-radius: 5px 5px 0 0;
	background: rgba(239, 77, 150, .65) url(../images/noise.png) repeat;
}
/*　ボタン文字ズレをふせぐ（IE10以降にのみ適用）*/
@media all and (-ms-high-contrast:none)
{
    .four-service
    {
    padding-top: 6px;
    padding-bottom: 1px;
	margin: 0 auto -1px;
    }
}
.strong {
	font-size: 28px;
	font-weight: bold;
}
/* flexbox-chart */
.flexbox-chart {
	margin: 0px auto 60px;
    display: flex;
    display: -webkit-flex;
	display:-ms-flexbox;
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	background: rgba(239, 77, 150, .1) url(../images/noise.png) repeat;
	padding-top: 27px;
	padding-bottom: 27px;
  	border-radius: 5px;
}
.flexbox-chart .item {
    border-radius: 3px;
    padding: 10px;
    margin-bottom: 0;
	width: calc(50% - 25px);
	display: table;
}
.card {
  	margin: 0 auto;
 	width: 350px;
  	background:  #fff;
  	border-radius: 3px;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, .2);
	-moz-box-shadow: 0px 2px 4px rgba(0, 0, 0, .2);
	-webkit-box-shadow:0px 2px 4px rgba(0, 0, 0, .2);
	-ms-box-shadow: 0px 2px 4px rgba(0, 0, 0, .2);
	-o-box-shadow: 0px 2px 4px rgba(0, 0, 0, .2);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.card-img {
  	border-radius: 3px 3px 0 0;
  	max-width: 100%;
  	height: auto;
  	border-bottom: 1px solid #eee;
}
.card-content {
  	padding: 10px 20px 20px;
}
.flexbox-chart p {
	font-size: 16px;
	display: table-cell;
	vertical-align: top;
	color: #555;
	line-height: 30px;
}
.card-title {
  	font-size: 18px;
	color: #e8639e;
  	margin-bottom: 5px;
  	text-align: center;
	display: block;
}
#teijun h5 {/* こんな方に適しています。 */
	margin: 50px auto 0;
	font-size: 20px;
	width: 800px;
	font-weight: bold;
  	padding-top: 8px;
    border-bottom: none;
}
ul.teijun-list {
	color: #444;
	font-size: 17px;
	line-height: 2;
	/* background:  url(../images/service_img08.jpg) no-repeat; 202307 背景削除 */
	padding-top: 35px;
	padding-left: 155px; /* 202307 30pxより変更 */
	padding-bottom: 30px;
	height: 550px;
	border: 8px solid #f497c1;
  	border-radius: 0 0 5px 5px;
}
ul.teijun-list li {
	background: #fcdcf1 url(../images/noise.png) repeat;
}
.item .icon-check {
	padding-top: 8px;
	padding-left: 8px;
	font-size: 20px;
	color: #e8639e;
	float: left;
	width: 20px;
}
.item .teijun-txt {
	font-weight: bold;
	float: right;
	width: 380px;
}
.flexbox-fit .item {
    border-radius: 3px;
    padding: 15px;
    margin-bottom: 20px;
    text-align: left;
	width: 460px;
	height: 100px;
	border: 3px solid #fff;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .2);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}

/* ----- kyotaku -----*/
#kyotaku h5 { 
	text-align: center;
	color: #e8639e;
    font-size: 20px;
	font-weight: bold;
	padding: 0.5em 0;
    border-top: solid 1px #e8639e;
    border-bottom: solid 1px #e8639e;
	margin: 50px auto 0;
}
/* flexbox-list */
.flexbox-list {
	margin: 30px auto;
    display: -webkit-flex;
	display:-ms-flexbox;
    display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    -webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
	position: relative;
}
.flexbox-list .item {
	background: rgba(247, 191, 224, .4) url(../images/noise.png) repeat;
    border-radius: 10px;
    padding: 30px 50px;
    margin-bottom: 10px;
    text-align: left;
	width: 100%;
	display: table;
	border: 5px solid #fff;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-webkit-box-shadow:0px 1px 3px rgba(0, 0, 0, .2);
	-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	-o-box-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.flexbox-list p span.item-ttl {
	font-size: 22px;
	font-weight: 600;
	display: inline-block;
	padding-bottom: 10px;
	color: #e8639e;
}
.flexbox-list p {
	display: table-cell;
	vertical-align: middle;
	color: #555;
	line-height: 30px;
}
.flexbox-list p a {
	color: #e8639e;
}
#careplan p {
	display: inline;
	font-size: 18px;
}
.pink {
	color: #e8639e;
	font-weight: bold;
	font-size: 20px;
	vertical-align: top;
	display: inline-block;
	padding-right: 10px;
}

/* ケアプランの作成 */
ol {
    counter-reset: number; /*数字をリセット*/
    list-style-type: none !important; /*数字を一旦消す*/
    padding: 0.5em;
}
ol li {
    position: relative;
    line-height: 1.8em;
	padding-left: 30px;
    padding: 0.5em 0.5em 0.5em 30px;
}
ol li span { /* ナンバーとの位置調整 */
	padding-left: 10px;
	display: inline-block;
	margin-top: -3px;
}
ol li:before {
  	position: absolute;
  	counter-increment: number;
  	content: counter(number);
  	display: inline-block;
  	background: #e8639e;
	font-family: 'M PLUS Rounded 1c', sans-serif;
  	color: #fff;
  	font-weight: bold;
  	font-size: 14px;
  	border-radius: 50%;
  	left: 0;
  	width: 25px;
  	height: 25px;
  	line-height: 25px;
  	text-align: center;
	padding-left: 3px;
}
.icon-caret-down {
  	font-size: 50px;
	color: rgba(247, 191, 224, .8);
}
.answer-arrow {
	margin: -13px auto -13px 40px; 
}


/* -------------------------------
	>>>>> service mediaqueries	　
---------------------------------- */
@media (max-width: 800px) {
#houkan h3, 
#teijun h3,
#kyotaku h3 {
	margin-bottom: 0;
}
.wrapper article p.copy04 {
	width: 100%;
	padding: 20px;
}
.wrapper article p.copy04:after { /* 吹き出し */
  	left: 45%;
}
p#p-houkan,
p#p-teijun,
p#p-kyotaku {
	margin: 30px auto;
}
.flexbox {
	margin-top: 20px;
}
.flexbox .item {
    width: calc(50% - 10px);
}
#img-bg1,
#img-bg2,
#img-bg3 {
	width: 200px;
	height: 200px;
}
.four-service {/* こんな方に適していますと共有 */
	width: 100%;
}
.flexbox-chart {
	margin: 0px auto 40px;
  	border-radius: 0 0 5px 5px;
}
.flexbox-chart .item {
	width: calc(50% - 50px);
}
.card {
 	width: 280px;
  	height: 380px;
}
#teijun h5 {/* こんな方に適しています。 */
	margin: 30px auto 0;
	width: 100%;
}
.flexbox-list .item {
    padding: 30px;
    text-align: left;
	width: 100%;
}

ul.teijun-list {
	padding-left: 20px; /* 202307追記 */
}


}


@media screen and (max-width : 680px) {
#img-bg1,
#img-bg2,
#img-bg3 {
	width: 33.33%;
	height: 150px;
}
.card {
 	width: 250px;
  	height: 380px;
}
.item .icon-check {
	display: none;
}
.flexbox-fit .item {
	width: 95%;
    padding: 15px;
    text-align: left;
	display: table;
    margin-bottom: 15px;
}
.flexbox-fit .teijun-txt {
	float: none;
	display: table-cell;
	vertical-align: middle;
}
}
@media screen and (max-width : 610px) {
.flexbox-chart .item {
	width: calc(100% - 50px);
}
.card {
 	width: 80%;
  	height: 430px;
}
}
@media screen and (max-width : 470px) {
.flexbox .item {
	height: 180px;
}
.flexbox p {
	font-size: 18px;
}
#img-bg1,
#img-bg2,
#img-bg3 {
	margin-top: 20px;
	border: 4px solid #f3a2c7;
	width: 33.33%;
	height: 110px;
}
.flexbox-chart .item {
	width: calc(100% - 0px);
}
.card {
 	width: 100%;
  	height: 430px;
}
ul.teijun-list {
	font-size: 16px;
	line-height: 1.5;
	padding-top: 25px;
	padding-left: 25px;
	padding-bottom: 25px;
	height: 520px;
}
}
@media screen and (max-width : 420px) {
.wrapper article p.copy04 {
	width: 100%;
	margin: 20px auto 0;
	padding: 20px;
	float: none;
}
.flexbox p span.item-no {
	top: -20px;
	left: -10px;
	font-size: 40px;
}
.card {
  	height: 400px;
}
.flexbox-list .item {
    padding: 20px;
}
#kyotaku h5 { 
    font-size: 18px;
}
}

/* -------------------------------

	>>>>> NEWS（お知らせ一覧ページ PKOBO_News用）
	　
---------------------------------- */
/* clearfix */
.clearfix:after { content:"."; display:block; clear:both; height:0; visibility:hidden; }
.clearfix { display:inline-block; }

/* for macIE \*/
* html .clearfix { height:1%; }
.clearfix { display:block; }

ul#newsList{
	margin: 0 0 30px;
	padding: 0;
	padding-top: 3px;
}
.border-tp ul#newsList {
	border-top: 1px solid #ccc;
    box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -moz-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -ms-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    behavior: url("../common/PIE.htc"); /* CSS3 PIE */
}
ul#newsList li{
	color: #666;
	font-size: 16px;
	margin: 0;
	padding: 25px 0 30px;
	margin-bottom: 10px;
	border-bottom: 1px solid #ccc;
    box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -moz-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    -ms-box-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
    behavior: url("../common/PIE.htc"); /* CSS3 PIE */
	line-height: 120%;
	list-style-type: none;
}
ul#newsList a {color:#666;text-decoration: none;}
ul#newsList a:hover {color:#e8639e;text-decoration: none;}
.catName{
	display: inline-block;
	padding: 5px 8px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-size: 11px;
	line-height: 100%;
	margin: 0 10px;
}
.newMark{
	display: inline-block;
	border: 1px solid #e8639e;
	padding: 2px 4px;
	margin-left: 3px;
	font-size: 11px;
	line-height: 100%;
	background: #e8639e;
	color: #fff;
	font-style: italic;
	border-radius: 3px;
	box-shadow: 1px 1px 1px rgba(55, 55, 55, .3);
	-moz-box-shadow: 1px 1px 1px rgba(55, 55, 55, .3);
	-webkit-box-shadow: 1px 1px 1px rgba(55, 55, 55, .3);
	-ms-box-shadow: 1px 1px 1px rgba(55, 55, 55, .3);
	-o-box-shadow: 1px 1px 1px rgba(55, 55, 55, .3);
	behavior: url("../common/PIE.htc");　 /* CSS3 PIE */
}
.comment{
	display: block;
	padding: 15px 0;
	line-height: 1.5;
	float: left;
	overflow: hidden;
	width: 700px; /* 本文部分の幅 */
}
.thumbNailWrap{ /* サムネイルは現在無効に */
	display: block;
	width: 110px;
	float: left;
	height: 80px;
	overflow: hidden;
	margin-top: 20px;
}
.thumbNailWrap{
	display:block;
	width:110px;
	float:left;
	height:80px;
	overflow:hidden;
}

/* Pager style（外部化可） */
.pager{
	text-align:right;
	padding:10px;
	clear:both;
}
/*ページャーボタン*/
.pager a{
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #333;
    font-size: 12px;
    padding: 3px 7px 2px;
    text-decoration: none;
	margin:0 1px;
}
/*現在のページのボタン*/
.pager a.current{
    background: #999;
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #fff;
    font-size: 12px;
    padding: 3px 7px 2px;
	margin:0 1px;
    text-decoration: none;
}
.pager a:hover{
    background:#999;
    color: #fff;
}
.overPagerPattern{
	padding:0 2px ;	
}
/* /Pager style */

/* お知らせ詳細ページ */
h3.news-detail {
	border-bottom: 1px solid #e8639e;
	margin-bottom: 0;
}
h3.news-detail:after {
	display: none;
}
.php {
	width: 150px;
	margin: 80px auto 0;
	letter-spacing: -0.01em;
	line-height: 5px;
}
#detail {　/* お知らせ詳細　文字の大きさなどはユーザー管理画面に優先される */
	font-size: 18px !important;
	line-height: 2;
}
#detail a {
	color: #e8639e;
}
#detail a:hover {
	opacity: .7;
}

#up_ymd{
	text-align: right;
	font-size: 15px;
	margin-top: 15px;
}


.detailUpfile{
	margin: 5px 0 35px;
	text-align: center;
}
.backORcloseBtn{
	text-align: center;
	line-height: 100%;
	margin-top: 15px;
}
.backORcloseBtn a{
	display:inline-block;
	padding:4px 15px;
	border:1px solid #aaa;
	color:#999;
	border-radius:6px;
	text-decoration:none;
	font-size:12px;
}
.detailUpfile img{
	max-width:100%;
	height:auto;
}
.pNav {
	margin-top: 80px;	
	text-align: right;
}
.pNav a {
	font-size: 16px;
	color: #e8639e;
}
.pNav a:hover {
	opacity: .7;
}

