*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

body{
	background-color: #F2AF2A;
	margin: 0;
	  font-family: "Noto Sans JP", sans-serif;
}



	.container{
	background: #fff;
		margin-bottom: -10px;
	}
	
	.about_meistergate h2{
		margin: 0px auto;
		font-size: 20px;
		text-align: center;
	}
	
	.about_meistergate h2 img{
		width: 430px;
		margin-right: 10px;
	}
	
.flex{
	display: flex;
	    justify-content: space-between;
}

.row{
	flex-direction: row-reverse;
}
.about_meistergate p{
	font-size: 16px;
	line-height: 1.8;
}

.about_meistergate .flex{
	margin: 30px 0;
}

.maekawa .flex{
	align-items: flex-start;
}

.maekawa_txt{
	flex:7;
    font-size: 16px;
    line-height: 1.8;
	margin-left: 50px;
}

.maekawa .min-container{
	position: relative;
}

.ito{
position: absolute;
    width: 180px;
    height: auto;
    left: -150px;
    top: 0;
}

.fuku{
    position: absolute;
    width: 160px;
    height: auto;
    right: -207px;
    bottom: 0;
}

.maekawa h3{
  background: #ffe6f9;
  box-shadow: 0px 0px 0px 5px #ffe6f9;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
	    font-size: 20px;
	        margin-top: 30px;
	        margin-bottom: 25px;
}

.maekawa p{
 font-size: 16px;
	line-height: 1.8;
}
.maekawa_txt h2 img{
	width: 150px;
	margin-right: 20px;
}
.link_container{
	background-color: #FFF7B7;
padding: 30px;
}

.btn-border{
	margin: 20px auto;
}

.link_container p{
	    text-align: center;
    font-size: 23px;
    font-weight: bold;
    margin: 0;
}

.copy{
	    text-align: center;
    padding: 30px;
}
.btn,
a.btn,
button.btn {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  /*display: inline-block;*/
	 display:block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-border {
  margin-bottom: 12px;
  padding: 0;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  border-radius: 0;
}

a.btn-border span {
  position: relative;

  display: block;

  padding:2.25rem 3rem;

  color: #000;
  border: 2px solid #000;
  border-radius: 0.5rem;
  background: #ffb016;
}

a.btn-border:before {
  position: absolute;
  bottom: -8px;
  left: 0;

  display: block;

  width: 100%;
  height: 14px;

  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;

  border: 2px solid #000;
  border-top: 1px solid #000;
  border-radius: 0 0 0.5rem 0.5rem;
  background-image: -webkit-repeating-linear-gradient(
    135deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-image: repeating-linear-gradient(
    -45deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-size: 7px 7px;

  -webkit-backface-visibility: hidden;

  backface-visibility: hidden;
}

a.btn-border:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
}

a.btn-border:hover:before {
  bottom: -5px;
}

a.btn-border:active {
  -webkit-transform: translate(0, 7px);
  transform: translate(0, 7px);
}

a.btn-border:active:before {
  bottom: -1px;
}

.sma{
    display: none;
}


@media screen and (max-width:767px) {
    /*　画面サイズが480pxからはここを読み込む　*/
	main{
		overflow: hidden;
	}
	.main_pc{
		display: none;
	}
		.main_sp{
		display:block;
			width: 100%;
	}
	.container{
	width: 95vw;
	margin:0 auto -20px;
	}
	.min-container{
	width: 85vw;
	margin:50px auto;
	}
	.maekawa_txt{
	margin-left: 0px;
	}
	p{
		font-size: 16px;
	}
	.flex{
		display: inline;
	}
	.about_meistergate h2 {
    font-size: 20px;
    text-align: center;
		margin-top: 50px;
		margin-bottom: 50px;
}
	
	.about_meistergate h2 img {
    max-width: 400px;
		width: 60vw;
}
	.about_meistergate{
		
	}
	
	.tablet{
		width: 150px;
		margin: 0 auto;
		display: block;
	}
	    .maekawa_img {
        max-width: 100%;
        margin: 0 auto;
        display: block;
	}
	.maekawa_txt h2{
		text-align: center;
		margin-bottom: 10px;
	}
	    .maekawa_txt h2 img {
        width: 100px;
        margin-right: 20px;
    }
	.maekawa_txt {
		margin-left: 0;
	}
	
	.ito {
    position: absolute;
    width: 100px;
    height: auto;
    left: -62px;
    top: -23px;
}
	.fuku{
	position: absolute;
    width: 110px;
    height: auto;
    right: -70px;
    bottom: -74px;	
}
	a.btn-border span{
		font-size: 18px;
		padding: 2.25rem 1rem;
	}
	.sma{
		display: block;
	}
}

@media only screen and (min-width: 767px) and (max-width: 1024px)  {
    /*　画面サイズが768pxから1024pxまではここを読み込む　*/
	main{
		overflow: hidden;
	}
.main_sp{
		display: none;
	}
	.main_pc{
		display:block;
		width: 100%;
	}
	.container{
	width: 90vw;
	margin:0 auto -20px;
	}
	.min-container{
	width: 83vw;
	margin:50px auto;
	}
	.maekawa_img{
	flex:3;
	max-width:310px; 
	align-items: flex-start;
}
	.maekawa_txt{
	flex:7;
    font-size: 16px;
    line-height: 1.8;
	margin-left: 30px;
}
	
	.maekawa_txt h2{
		margin :0;
	}	
.maekawa_txt h2 img {
    width: 100px;
    margin-right: 20px;
}
	.ito {
    position: absolute;
    width: 130px;
    height: auto;
    left: -121px;
    top: -23px;
}
	.fuku{
	position: absolute;
    width: 140px;
    height: auto;
    right: -149px;
    bottom: -24px;	
}

.about_meistergate .flex{
align-items: flex-start;
}
.about_meistergate p {
	flex: 7;
	margin-right: 20px;
}
.tablet{
	flex:3;

}
}
@media screen and (min-width:1024px) {
    /*　画面サイズが1024pxからはここを読み込む　*/
	.main_sp{
		display: none;
	}
	.main_pc{
		display:block;
	}
	
	.container{
	width: 1000px;
	margin:0 auto -20px;
		
	}
	
	.min-container{
	width: 800px;
	margin:50px auto;
	}
	

	
	.btn-border{
	width: 500px;
		margin: 30px auto;
	}
	.maekawa_txt{
	margin-left: 50px;
}
	.maekawa_img{
	flex:3;
	max-width:400px; 
	align-items: flex-start;
}
}


.yajirushi{
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
    -moz-animation:blink 0.5s ease-in-out infinite alternate;
    animation:blink 0.5s ease-in-out infinite alternate;
	color: #921717;
    font-weight: bold;
    font-size: 20px;
    margin: 10px 10px 3px;
    text-align: center;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}