@charset "utf-8";

/* reset */
html {
margin: 0;
padding:0;
}
body {
margin: 0;
padding: 0;
font-family: "Hiragino Maru Gothic ProN W4","ヒラギノ丸ゴ ProN W4","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", sans-serif;
color: #333;
letter-spacing: 0.1em;
line-height: 2.0;
}
*, *:before, *:after {
-webkit-box-sizing: border-box;
box-sizing: border-box
}
h2,h3,h4,h5 {
margin: 0;
padding: 0;
}
img {
width: 100%;
vertical-align: bottom;
}
figure {
margin: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
ul,li,dl,dt,dd {
margin:0;
padding:0;
list-style: none;
}
a { 
text-decoration: none; 
transition: all .6s ease;
}
a:hover { 
transition: all .6s ease;
}

/* common */
.content-wrapper {
width: 95%;
margin: 0 auto;
max-width: 1400px;
padding-top: 150px;
}
section h2 {
font-size: 2rem;
}

/* common 改行*/
.css-br::after {
  content: "\A";
  white-space: pre;
}

@media screen and (min-width: 768px){
.br-sp {display: none; }
}


@media screen and (max-width: 640px) {/* 640px以下*/

    body{
    line-height: 1.5;
    }
    h1{
        font-size: 1.4rem !important;
    }
    section h2 {
        font-size: 1.2rem;/* 20px*/
    }
	p {
        font-size: 1.0rem;/* 20px*/
    }
	.formtext {
    font-size: 1rem !important;
	}
}

@media screen and (max-width: 479px) {
.formtext {
    font-size: 1.5rem !important;
}	
}		
/* ---------------------------------------------------header */

.header {
display:-ms-flexbox;
display:-webkit-flex;
display: flex;
-ms-flex-pack:justify;
-webkit-justify-content: space-between;
justify-content:space-between;
align-items: center;
width: 100%;
height: 100px;
/*position: absolute; */
z-index: 1;
}

/*.header h1 {
margin: 0 0 0 25px;	
font-size: 1.5rem;
color: #000000;
}*/

.main-logo {
margin: 30px 0 0 25px;	
z-index: 1;
}


@media screen and (max-width: 479px) {
.main-logo {
margin: -4px 0 0 15px;
z-index: 1;
}
}	

/* スマホのみTELボタン*/
@media screen and (max-width: 479px) {
.main-tel {
position: absolute;              /* スクロールしてもボタンを表示し続ける */
top: 10px;                    /* 上から10pxの位置に配置 */
right: 10px;                  /* 右から10pxの位置に配置 */
 z-index: 1000;
	padding: 10px;
}
}	


.btn--orange.main-tel,
a.btn--orange .main-tel{
  color: #fff;
  background-color: #eb6100;
}
.btn--orange:hover,.main-tel
a.btn--orange:hover .main-tel{
  color: #fff;
  background: #f56500;
}

.fa-position-left.main-tel {
  position: absolute;
  top: calc(50% - .5em);
  left: 1rem;
}
/* スマホのみTELボタン*/	


.header nav ul {
display:-ms-flexbox;
display:-webkit-flex;
display: flex;
align-items: center;
font-size: 1.2rem;
}
.header nav ul li {
margin: 0 20px;
}
header nav li a {
color: #000000;
}
header nav li a:hover {
opacity: 0.6;
}


.tel:before{
content:"";
/*display:inline-block;*/
width:1.5em;
height:1/5em;
padding: 10px 0 10px 50px;
background:url(../images/tel_icon.svg) no-repeat;
background-size:contain;
}


@media screen and (max-width: 1199px) {
.hamburger {
display: block;
cursor: pointer;
position:absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 26px;
}
header nav {
display: none;
}

/*ハンバーガーメニューボタン　エフェクトはなし　3本線のみの表示　*/
.nav-button,
.nav-button span {
display: inline-block;
}
.nav-button {
position: relative;
width: 30px;
height: 26px;
}
.nav-button span {
position: absolute;
left: 0;
width: 100%;
height: 4px;
background-color: #fff;
}
.nav-button span:nth-of-type(1) {
top: 0;
}
.nav-button span:nth-of-type(2) {
top: 11px;
}
.nav-button span:nth-of-type(3) {
bottom: 0;
}
} 

/* ---------------------------------------------------mainvisual */

.mainvisual {
position: relative;
text-align: right;
background-color: #F0F0F2;
} 
.mainvisual img {
/* object-fit: cover;
object-position: 0 15%;
-webkit-clip-path: polygon(0 0, 100% 0%, 100% 85%, 0% 100%);	
clip-path: polygon(0 0, 100% 0%, 100% 85%, 0% 100%);*/
}

.main_visual{
width: 1474px;
}

.catchcopy {
position: absolute;
top: 10%;
left: 2%;
width: 1000px;
height: 150px;
z-index: 1;
}


.main_info {
position: absolute;
top: 80%;
right: 1%;
width: 600px;
height: 150px;
z-index: 1;	
}

@media screen and (max-width: 479px){
.main_info {
    /* position: absolute; */
    margin: auto;
    top: 90%;
    width: 85%;
    right: 7%;
}
}
.mainvisual h2 {
position: absolute;
top: 60%;
left: 5%;
color: #000;
font-size: 1.5vw;
text-align: left;
}

@media screen and (max-width: 479px){
.mainvisual h2 {
    position: absolute;
    top: 40% !important;
    left: 0% !important;
    color: #000;
    font-size: 1.8vw !important;
    text-align: left;
}
}

@media screen and (max-width: 768px) {
.mainvisual h2 {
position: absolute;
top: 30%;
left: 3%;
color: #000;
font-size: 3.5vw;
text-align: left;
}	
}	

.text_bg{
background-color: #ffffff9c;
display: block;
padding: 15px;
}


@media screen and (max-width: 1199px) {
.mainvisual img {
height: auto;
}
}


@media screen and (max-width: 479px) {
 .m-logo{
	 width: 50%;
	 
}	
}		
	
	 

/* --- 全体のBOX定義 ---------------------------------------- */
.box {
  position   : relative ;
  max-width  : 1474px;
  height     : 984px;
  margin     : auto;
  overflow   : hidden;
  margin-right: 0px;
}

@media screen and (max-width: 479px) {
  .box {
  position   : relative;
  max-width  : 1474px;
  height     : 280px !important;
  margin     : auto;
  overflow   : hidden;
  margin-right: 0px;
}	
}		

@media screen and (max-width: 768px) {
  .box {
  height     : 480px;
}	
}		


/* --- 背景の指定 ------------------------------------------- */
.box .bgImg {
  position   : absolute;
  top        : 0;
  left       : 0;
  bottom     : 0;
  right      : 0;
  opacity    : 0;
  animation  : bgAnime 20s infinite;   /* 4画像 × 各5s = 20s */
}

/* --- 段差で背景画像のアニメーションを実行 ----------------- */
.box .src1 {
  background-image : url(../images/main_visual_01.jpg);   /* 背景の画像を指定 */
}
@media screen and (max-width: 479px) {
.box .src1 {
  background-image : url(../images/main_visual_01.jpg);   /* 背景の画像を指定 */
	background-size: cover;
}
}	

@media screen and (max-width: 768px) {
.box .src1 {
  background-image : url(../images/main_visual_01.jpg);   /* 背景の画像を指定 */
	background-size: cover;
}
}	

.box .src2 {
  background-image : url(../images/main_visual_02.jpg);   /* 背景の画像を指定 */
  animation-delay  : 5s;
}

@media screen and (max-width: 479px) {
.box .src2 {
  background-image : url(../images/main_visual_02.jpg);   /* 背景の画像を指定 */
  animation-delay  : 5s;
  background-size: cover;
}
}

@media screen and (max-width: 768px) {
.box .src2 {
  background-image : url(../images/main_visual_02.jpg);   /* 背景の画像を指定 */
  animation-delay  : 5s;
  background-size: cover;
}
}	

.box .src3 {
  background-image : url(../images/main_visual_03.jpg);   /* 背景の画像を指定 */
  animation-delay  : 10s;
}
@media screen and (max-width: 479px) {
.box .src3 {
  background-image : url(../images/main_visual_03.jpg);   /* 背景の画像を指定 */
  animation-delay  : 10s;
  background-size: cover;
}
}

@media screen and (max-width: 768px) {
.box .src3 {
  background-image : url(../images/main_visual_03.jpg);   /* 背景の画像を指定 */
  animation-delay  : 10s;
  background-size: cover;
}
}



.box .src4 {
  background-image : url(../images/main_visual_04.jpg);   /* 背景の画像を指定 */
  animation-delay  : 15s;
}
@media screen and (max-width: 479px) {
.box .src4 {
  background-image : url(../images/main_visual_04.jpg);   /* 背景の画像を指定 */
  animation-delay  : 15s;
  background-size: cover;
}
}
@media screen and (max-width: 768px) {
.box .src4 {
  background-image : url(../images/main_visual_04.jpg);   /* 背景の画像を指定 */
  animation-delay  : 15s;
  background-size: cover;
}
}


@keyframes bgAnime {
   0% { opacity: 0; }
   5% { opacity: 1; }
  25% { opacity: 1; }
  30% { opacity: 0; }
 100% { opacity: 0; }
}


/* ---------------------------------------------------topics */

.topics {
/*padding: 120px;*/
margin-top: 150px;
}

@media screen and (max-width: 768px) {
.topics {
margin-top: 30px;
}	
}

/*.topics .content-wrapper {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
} */
.topics .heading {
/*width: 35%;*/
text-align: center;
margin-bottom: 50px;
position: relative;
}
.topics .content {
/*width: 65%;*/
width: 100%;
}

.topics_img01 {
position: absolute;
top: 5%;
left: -3%;
width: 261px;
height: 261px;
z-index: -1;	
}

.topics_img02 {
position: absolute;
top: -30%;
right: 3%;
width: 261px;
height: 261px;
z-index: -1;	
}



.topics2{
position: relative;
z-index: 0;
margin-bottom: 100px;
}

.topics2_cp {
position: absolute;
top: 26%;
left: 2%;
width: 1000px;
height: 150px;
z-index: -1;
}

@media screen and (max-width: 479px) {
.topics2_cp {
 position: absolute !important;
 top: 5% !important;
 left: 3%;
 width: 210px !important;
 height: 80px !important;
 z-index: -1 !important;
}
}

@media screen and (max-width: 768px) {
.topics2_cp {
    position: absolute;
    top: 16%;
    left: 2%;
    width: 470px;
    height: 150px;
    z-index: -1;
}
}

@media screen and (max-width: 1024px) {
.topics2_cp {
    position: absolute;
    top: 6%;
    left: 2%;
    width: 620px;
    height: 150px;
    z-index: -1;
}
}

.topics_right {
float: right;
width: 35%;
}

.topics_left {
width: 55%;
clear: both;
box-shadow: 185px 45px 0px 0 #f0f0f2;
}

.topics_right2 {
position: absolute;
top: 50%;
right: 2%;
width: 35%;
}

.topics .content table {
width: 100%;
margin: 0 0 25px 0;
}
.topics .content th {
padding: 20px 2em 20px 0;
border-bottom: 1px dotted;
}
.topics .content td {
border-bottom: 1px dotted;
}
.topics .content tr:last-of-type th,
.topics .content tr:last-of-type td {
border-bottom: none;
}
.topics .content .btn {
margin: 0;
}
.topics .content .btn a {
display: block;
font-size: 0.8rem;
color: #000;
border: 1px solid #000;
width: 200px;
line-height: 60px;
text-align: center;
margin: 0 0 0 auto;
}
.topics .content .btn a:hover {
background: #333;
color: #fff;
}
@media screen and (max-width: 1199px) {
.topics {
padding: 50px 5vw;
}
	

.topics .content-wrapper {
display: block;
}
.topics .heading {
width: 100%;
}
.topics .heading h2 {
text-align: center;
margin-bottom: 5vw;
}
.topics .content {
width: 100%;
}
}
@media screen and (max-width: 767px) {
.topics {
padding: 50px 0;
width: 90%;
margin: 0 auto;
}
	

		
		
.topics .content .btn a {
width: 35%;
min-width: 200px;
margin: 0 auto;
}
}
@media screen and (max-width: 479px) {
.topics .content th {
display: block;
width: 100%;
text-align: left;
padding: 1.25em 0 0 0;
border-bottom: 0;
}
.topics .content td {
display: block;
width: 100%;
}
}

/* ---------------------------------------------------institution */

.institution {
background: url(../images/content_bg.png);
background-repeat: no-repeat;
background-size: cover;
height: 1400px;
position: relative;
z-index: 1;
width: 100%;
}

@media screen and (max-width: 479px) {
.institution {
    background: url(../images/content_bg.png);
    background-repeat: no-repeat;
     background-size: cover !important;
    height: 600px !important;
    position: relative;
    z-index: 1;
    width: 100%;
}
}

@media screen and (max-width: 768px) {
.institution {
    background: url(../images/content_bg.png);
    background-repeat: no-repeat;
    background-size: contain; 
    height: 1050px;
    position: relative;
    z-index: 1;
    width: 100%;
}
}

@media screen and (max-width: 1024px) {
.institution {
    background: url(../images/content_bg.png);
    background-repeat: no-repeat;
    background-size: contain; 
    height: 1020px;
    position: relative;
    z-index: 1;
    width: 100%;
}
}

.institution::after {
position: absolute;
content: "";
width: 100%;
height: 100%;
}
.institution .content {
/*position: absolute;
top: 10%;*/
text-align: center;
z-index: 2;
background-color: white;
max-width: 1400px;
padding: 3%;
padding-top: 50px;
}

@media screen and (max-width: 479px) {
.institution .content {
text-align: center;
z-index: 2;
background-color: white;
max-width: 1400px;
padding: 3%;
padding-top: 50px;
margin: 10px !important;
}
}


.institution h2 {
margin-top: 20px;
margin: auto;
text-align: center;
color: white;
background: #7DCCEB;/*背景色*/
padding: 0.5em;/*文字まわり（上下左右）の余白*/
border-radius: 0.5em;/*角丸*/

}

.inner {
  padding-top: 30px;
  display: flex;
  justify-content: space-evenly;
}

.institution p {
color: #000;
line-height: 2.5em;
}
.institution p.btn {
margin: 0;
}
.institution p.btn a {
color: #fff;
display: block;
font-size: 0.875rem;
border: 1px solid #fff;
width: 200px;
line-height: 60px;
text-align: center;
}
.institution p.btn a:hover {
background: #fff;
color: #333;
}
@media screen and (max-width: 479px) {
.institution h2 {
text-align: center;
}
.institution p {
text-align: center;
}
.institution p.btn a {
width: 30%;
min-width: 200px;
margin: 0 auto;
}
.guide_h3 {
width: 90% !important;
}
.point_content {
width: 100% !important;
position: absolute !important;
top: 65px !important;
right: 0px!important;
font-size: 14px !important;
padding: 10px;
}
}

.clearfix::after {
content: "";
display: block;
clear: both;
}

.float_r {
float: right;
width: 260px;
margin: auto;
margin-top: 50px;
padding: 25px;
}

.arrow-wrapper {
width: 65%;
margin: auto;
}

@media screen and (max-width: 479px) and  (max-width: 768px){
.arrow-wrapper {
width: 85%;
margin: auto;
}	
}		

@media screen and  (max-width: 768px){
.arrow-wrapper {
width: 75%;
margin: auto;
}	
}	

/* ---------------------------------------------------point */

.point {
background: url(../images/content_bg2.png);
background-repeat: no-repeat;
background-size: cover;
height: 1850px;
z-index: 1;
width: 100%;
}

.point .content {
    text-align: center;
	margin: auto;
    z-index: 2;
}

.point h2 {
    margin-top: 20px;
    margin: auto;
    width: 70%;
    text-align: center;
    color: white;
    background: #E8A556;
    padding: 0.5em;
    border-radius: 0.5em;
}


.price-area {
    margin: 45px auto;
	margin-left: -200px;
    padding: 80px 0 20px 208px;
    width: 1800px;
	height: 247px;
	background-image:url(../images/content_bg2_area01.png);
}

.price-head-area {
    color: #E8A556;
    font-size: 22px;
}

.price-title {
    width: 80%;
}
 
article.point2{
    background: #F8F6E3;
    margin-bottom: 20px;
    height: auto;
	padding: 3%;
	margin-top: 7%;
}

@media screen and (max-width: 479px) {
article.point2{
    background: #F8F6E3;
    margin-bottom: 20px;
    height: auto;
	padding: 3%;
	margin-top: 67%;
}	
}	

.point_h2 {
    text-align: center;
    background: #E8A556;
	width: 60%;
    padding: 0.5em;
    border-radius: 0.5em;
    color: white;
	margin-bottom: 3%;
	margin: auto;
}

@media screen and (max-width: 479px) {
.point_h2 {
	width: 100%;
    text-align: center;
    background: #E8A556;
    padding: 0.9em;
    border-radius: 0.5em;
    color: white;
	margin: auto;
	font-size: 16px !important;
}	
}	

@media screen and (max-width: 768px) {
.point_h2 {
	width: 100%;
    text-align: center;
    background: #E8A556;
    padding: 0.9em;
    border-radius: 0.5em;
    color: white;
	margin: auto;
	font-size: 30px;
}	
}	


.point_area{
	position: relative;
}


@media screen and (min-width: 1025px) {
.point_content {
    width: 71%;
    position: absolute;
    top: 55px;
    right: 249px;
    font-size: 13px;
}
}

@media screen and (max-width: 1024px) {
.point_content {
   width: 71%;
    position: absolute;
    top: 36px;
    right: 139px;
    font-size: 10px;
    
}
}


@media screen and (max-width: 768px) {
.point_content {
    width: 75%;
    position: absolute;
    top: 155px;
    right: 86px;
    font-size: 19px;
}
}



@media screen and (max-width: 479px) {
.point_text{	
color: #E8A556;
font-size: 16px !important;	
}	
}

@media screen and (max-width: 768px) {
.point_text{	
color: #E8A556;
font-size: 30px;	
}	
}

@media screen and (max-width: 1024px){
.point_text {
    color: #E8A556;
    
}
}

@media screen and (min-width: 1025px){
.point_text{
color: #E8A556;
font-size: 22px;		
}
}

/* ---------------------------------------------------recruit */

.recruit {
padding: 10% 0;
position: relative;
}
.recruit::after {
content: "";
background-color: #f3f3f3;
height: 150%;
width: 40%;
position: absolute;
top: -10%;
left: 30%;
transform-origin: left top;
transform: skewX(-30deg);
z-index: -1;
}
.recruit ul {
display:-ms-flexbox;
display:-webkit-flex;
display: flex;
-ms-flex-pack:justify;
-webkit-justify-content: space-between;
justify-content:space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
transform: skewY(2deg);
}
.recruit ul li {
width: 48%;
position: relative;
}
.recruit ul li figure::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
padding-top: 43%;
background: rgba(50, 50, 50, 0.7);
z-index: 1;
transition: all .6s ease;
}
.recruit ul li a:hover figure::after {
background: rgba(50, 50, 50, 0.4);
transition: all .6s ease;
}
.recruit li span {
position: absolute;
width: 100%;
top: 50%;
left: 50%;
transform: translate(-50%,-50%) skewY(-2deg);
z-index: 2;
color: #fff;
font-size: 2rem;
text-align: center;
}
@media screen and (max-width: 767px) {
.recruit ul {
transform: none;
}
.recruit li span {
transform: translate(-50%,-50%);
font-size: 1.75rem;
}
}
@media screen and (max-width: 479px) {
.recruit ul li {
width: 90%;
margin: 0 auto 20px auto;
}
}

/* ---------------------------------------------------profile */
.profile{
width: 50%;
float: left;
margin-bottom: 100px;
padding: 50px;
}


.profile3{
padding: 30px;
margin: auto;
margin-top: 10px;
margin-bottom: 50px;
border: 20px solid #e8e8e8;
}

.small{
font-size: 0.8rem;	
}

/* ---------------------------------------------------guide */
article.guide {
    background: #F0FBFF;
    margin-bottom: 20px;
    height: auto;
	padding: 3%;
}

.guide_h2 {
    text-align: center;
    background: #7DCCEB;
    padding: 0.5em;
    border-radius: 0.5em;
    color: white;
	margin-bottom: 3%;
}

.gide_content{
	width: 80%;
	height: auto;
	background: white;
	margin: auto;
	padding: 3%;
	position: relative;
	
}

.guide_h3 {
	width: 40%;
    text-align: center;
    background: #7DCCEB;
    padding: 0.8em;
    color: white;
	margin-bottom: 3%;
	margin: auto;
}

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

.guide_h3 {
	width: 100%;
    text-align: center;
    background: #7DCCEB;
    padding: 0.8em;
    color: white;
	margin-bottom: 3%;
	margin: auto;
}	
}	

.gide_arrow {
    width: 50%;
    margin: auto;
}

.gide_art00 {
    width: 150px;
    position: absolute;
    top: 210px;
    right: 85px;
}

.gide_art01 {
    width: 200px;
    position: absolute;
    top: 170px;
    left: 15px;
}
.gide_art02 {
    width: 200px;
    position: absolute;
    top: 170px;
    right: 15px;
}
.gide_art03 {
    width: 162px;
    position: absolute;
    top: 20px;
    right: 7px;
}

/* ---------------------------------------------------contact */

.contact {
width: 100%;
height: 660px;
background: url(../images/content_bg3.png);
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
position: relative;
display:-ms-flexbox;
display:-webkit-flex;
display: flex;
align-items: center;
}
.contact::after {
position: absolute;
content: "";
width: 100%;
height: 100%;
}
.contact ul {
display:-ms-flexbox;
display:-webkit-flex;
display: flex;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
z-index: 1;
width: 100%;
}
.contact li {
width: 300px;
margin: 0 50px;
}
.contact li a {
border: 1px solid #fff;
font-size: 1.25rem;
color: #fff;
display: block;
text-align: center;
padding: 1em 0;
}
.contact li a:hover {
background: #fff;
color: #333;
}

.content {
    padding: 20px;
    background-color: #fff;
    margin: 50px;
}

.line {
  position: relative;
  text-align: center;
}

.line:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #1B8FBA;
}

footer.footer {
    background: #9ED1E5;
}
.footer section {
padding-top: 120px;
}
.footer .high {
border-bottom: 1px solid #333;
display:-ms-flexbox;
display:-webkit-flex;
display: flex;
-ms-flex-pack:justify;
-webkit-justify-content: space-between;
justify-content:space-between;
align-items: flex-end;
}
.footer .high h1 {
font-size: 1.5rem;
}
.footer .high ul {
display:-ms-flexbox;
display:-webkit-flex;
display: flex;
margin-bottom: 25px;
}
.footer .high li a {
color: #333;
padding: 0 25px;
}
.footer .high li a:hover {
opacity: 0.6;
}
.footer .low {
padding: 25px 0 80px 0;
color: #333;
}
.footer .low span {
padding-left: 1em;
}
.footer section p {
color: #333;
text-align: center;
font-size: 0.75rem;
}
@media screen and (max-width: 1199px) {
.footer .high {
display: block;
}
}
@media screen and (max-width: 767px) {
.footer section {
padding-top: 50px;
}
.footer .high li {
width: calc(100%/3);
margin: 0 0 10px;
}
.footer .high li a {
display: block;
text-align: center;
padding: 0;
}
}
@media screen and (max-width: 479px) {
.footer .high h1,.low {
text-align: center;
}
}

/* ---------------------------------------------------map */
.map{
background-color: #F4EFE2;
padding: 3%;
}
.bold{
	font-weight: bold;
}
.underline{
border-bottom: solid 3px #D8875B;
padding: 5px;
}


/* ---------------------------------------------------form */

article.form {
    padding: 10px;
    background: #F0F0F2;
}

.form-wrapper {
    margin: 50px auto;
    padding: 40px;
    max-width: 1500px;
    background: white;
}

.text_bgcolor{
    background-color: #EB8E7D;
    display: block;
    padding: 5px;
	text-align: center;
    color: white;
}
.formtext{
	font-size: 3.0rem;
	margin: 0;
	line-height: normal;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */

.sp { display: none; }
.tablet { display: none; }

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

  スマートフォン/タブレット対応

---------------------------------*/
@media screen and (max-width: 479px) {

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

.tablet {
	display: none !important;
}

img.main_visual.sp{
	width: 100%;
		
	}
}

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

.pc {
	display: none;
}
}

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

.pc {
	display: none;
}
}

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

.tablet {
	display: block;
}
}

@media screen and (max-width: 1023px){
.point_area.pc {
    display: none;
}
}

@media screen and (min-width: 1024px){
.wrapper >.pc {
    display: block;
}
}

@media screen and (min-width: 1024px){
.wrapper >.point_content {
    width: 77%;
    position: absolute;
    top: 35px;
    right: 111px;
    font-size: 10px;
}
}


/*---------------------------------/* 共通 */
.wrapper {
    width: 95%;
    margin: 0 auto;
    max-width: 1400px;
}

.flex{
  display:flex;/*コレ*/
  width:100%;
  margin:0;
} 
.flex>div{
  width:48%;
  margin:0 1%;
  background:#FFF;
}

.w-100px{
	width: 100px;
	margin: 1%;
}

.w-50px{
	width: 50px;
	margin: 1%;
	vertical-align: middle;
}

@media screen and (max-width: 959px){
.w-50px {
    width: 20px;
}
}

.no-color-change{
	color: black;
}

.center{
	text-align: center!important;
}

.mgt-50 {
	margin-top: 50px;
}

@media screen and (max-width: 959px){
.mgt-50  {
   margin-top: 10px;
}
}


.d-none {
    display: none!important;
}

@media screen and (max-width: 959px){
.gide_content {
    width: 100%;
}
}

@media screen and (max-width: 768px){
.contact {
    width: 100%;
    height: 400px !important;
    background: url(../images/content_bg3.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
}

@media screen and (max-width: 959px){
.contact {
    width: 100%;
	height: 210px;
    background: url(../images/content_bg3.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
}


p.center.muryou{
	font-size: 1.2rem;
}



/*メニューをページ下部に固定*/
#sp-fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   opacity: 0.9;
   z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 50%;
   padding:0;
   margin:0;
   font-size: 12px;
   border-right: 1px solid #fff;
}

/*左側メニューを緑色に*/
#sp-fixed-menu li:first-child{
   background: #f3a324;
}

/*左側メニューをオレンジ色に*/
#sp-fixed-menu li:last-child{
   background: #38b435;
}

/*ボタンを調整*/
#sp-fixed-menu li a{
   color: #fff;
   text-align: center;
   display:block;
   width: 100%;
   padding:20px;
}