
li.linkcolor a {
	color: rgba(252,81,133,0.7);
	transition: 1.0s ;
}
li.linkcolor a:hover {
	color: rgba(252,81,133,1);
}



.shadow {
	box-shadow: 50px 50px 0 #f5f5f5;
}
.beige {
	background-color: #efe7df;
}

.heading01 {
	display: inline;
	background-image: linear-gradient(rgba(0,0,0,0) 70%, rgb(252,81,133) 70%);
}


.heading07 {
	position: relative;
}

.heading07 span {
	position: relative;
	z-index: 2;
}

.heading07::before {
	content: attr(data-en);
	position: absolute;
	transform: rotate(-5deg);
	top: -13px;
	left: -20px;
	color: rgba(252,81,133,0.7);
	font-size: 50px;
	font-weight: 400;
	font-family: luxus-brut, cursive;
	z-index: -1;
}



h1.box {
	box-decoration-break: clone;	
	-webkit-box-decoration-break: clone;
	display: inline;
	padding: .3em;
	line-height: 2.5;
	font-size: 35px;
	font-weight: 600;
	background-color: #fff;
}


.slanted {
  position: relative;
  z-index: 0;
}
.slanted::before{
  content: '';
  position: absolute;
  top: 0;
  left: -0;
  width: 100%;
  height: 30%; /* 高さを指定 */
  background:#fff;
  transform-origin: top right;
  transform: skewY(3deg);
  z-index: -1;
    overflow: hidden;
}

.slanted-gray {
  position: relative;
  z-index: 0;
}
.slanted-gray::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 105%; /* 高さを指定 */
  background:#f5f5f5;
  transform-origin: top right;
  transform: skewY(3deg);
  z-index: -1;
    overflow: hidden;
}




.wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.flex-item {
  padding: 30px;
  width: calc((100% - 30px * 1) / 2);
  background-color: #fff;
}

@media not all and (min-width: 768px) {
  .flex-item {
    width: 100%;
  }
}




ul.achievements li.divider {
	margin: 10px 0;
}
ul.achievements li div.label {
	font-size: 11px;
	font-weight: 900;
}
ul.achievements li div.credit {
	line-height: 2em;
}



.title-design {
    font-family: 'Noto Sans JP';
    font-size: 2.5em;
    z-index: 1;
    margin: 0 0 10px;
}

.weight600 {
	font-weight:600;
	font-size:130%;
	line-height: 1.5em;
}





















	.swiper-container {
      width: 100%;
      height: 100%;
    }

    .swiper-slide {
      text-align: center;
      font-size: 18px;
      background: #fff;
      width: 80%;

      /* Center slide text vertically */
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
    }

    .swiper-slide:nth-child(2n) {
      width: 60%;
    }

    .swiper-slide:nth-child(3n) {
      width: 40%;
    }
.bg-wood{
	background-image: url("../images/wood.jpg");
    background-size:  cover;
	background-repeat: repeat-y;  
}


.sidenav .row {
  position: absolute;
  top: 45%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
	width:80%;
  }

@media only screen and (min-width: 0) {
	.flex{
		display:block;
	}
}
@media only screen and (min-width: 1200px) {
	.flex{
		display:flex;
	}
}

@media only screen and (min-width: 0) {
	.border-content{
		border-left:none;
	}
}
@media only screen and (min-width: 1200px) {
	.border-content{
		border-left: 2px dashed #555;
		margin-left: 20px;
	}
}


.height45{
	height: 45px;
}
.height55{
	height: 55px;
}
.fadein{
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  opacity: 1;
}

/*
h1 {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
h1:before {
  content: '';
  position: absolute;
  bottom: -25px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #333;
  border-radius: 2px;
}
*/

@media screen and (max-width: 1199px) {
  .sp-left {
    text-align: left!important;
  }
}

@media screen and (max-width: 1199px) {
  br {
    display: none;
  }
}
@media screen and (max-width: 1199px) {
  br.block {
    display: block;
  }
}
.date{
background:#333;
color:#F4EC93;
font-size:10px;
padding:5px;
margin-right:10px;
vertical-align:2px;
}
.content-list-title{
	background:#333;
	color:#F4EC93;
	font-size:0.8em;
	padding:5px;
	margin-right:10px;
	vertical-align:2px;
	display: inline;
}

.dotline li{
    padding-bottom: 10px;
    border-bottom: 2px dashed #555;
    line-height: 2;
    margin-bottom: 10px;
}
.dotline li:last-child{
  padding-bottom:15px;
  border-bottom: none;
  line-height: 2;
}

.ribbon {
  display: inline-block;
  position: relative;
  height: 60px;
  line-height: 60px;
  text-align: center;
  padding: 7px 0;
  font-size: 18px;
  background: #F4EC93;
  color: #;
  box-sizing: border-box;
}

.ribbon h1 {
  margin: 0;
  padding: 0 30px;
  border-top: dashed 2px rgba(127, 127, 127, 0.5);
  border-bottom: dashed 2px rgba(127, 127, 127, 0.5);
  line-height: 42px;
}

.ribbon:before, .ribbon:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon:before {
  /*左の山形*/
  top: 0;
  left: 0;
  border-width: 30px 0px 30px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon:after {
  /*右の山形*/
  top: 0;
  right: 0;
  border-width: 30px 15px 30px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}


.ribbon15-wrapper {  
  display: block;
  position: relative;
  margin: 15px auto;
  padding: 10px 0;
  background: #F4EC93;
  box-sizing: border-box;
  border-radius:10px;
  }

.ribbon15 {  
  display: inline-block;
  position: absolute;
  top: -6px;
  right: 15px;
  margin: 0;
  padding: 10px 0;
  z-index: 2;
  width: 40px;
  text-align: center;
  color: #F4EC93;
  font-size: 17px;
  background: #333;
  border-radius: 2px 0 0 0;
  }

.ribbon15:before {
  position: absolute;
  content: '';
  top: 0;
  right: -6px;
  border: none;
  border-bottom: solid 6px #000;
  border-right: solid 6px transparent;
}
.ribbon15:after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 20px solid #333;
  border-right: 20px solid #333;
  border-bottom: 10px solid transparent;
}





a.underline {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
a.underline::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
a.underline:hover::after {
  bottom: -4px;
  opacity: 1;
  visibility: visible;
}

h1,h2,h3,h4,h5{
font-size:1em;}

.topnews {
  position: relative;
  }
.topnews::after{
  content: "";
  position: absolute;
    top: 1.5%;
    left: 1.5%;
    width: 96%;
    height: 95%;
  display: block;
  border: 2px dashed white;
margin:5px;
}

.topnews .slide-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
	width:80%;
  }
.topnews .slide-text-top {
  position: absolute;
  top: 30%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
	width:80%;
  }
.topnews .slide-text-bottom {
  position: absolute;
  top: 70%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
	width:80%;
  }

.topnews img {
  width: 100%;
  }



.grey.darken-middle {
	background-color: #18191a !important;
}

@media only screen and (min-width: 0) {
	footer ul li{ 	
		display: block;
		padding:20px 0;
		font-size: 12px;
	}
	footer ul li + li {
		border-left:none;
	}
	footer .link-btn{
		height: 54px;
		line-height: 7px;
		font-size: 15px;
		padding: 25px 120px;
		margin:5px;
	}
}
@media only screen and (min-width: 1200px) {
	footer ul li{ 	
		display: inline;
		padding:0 20px;
		font-size: 12px;
	}
	footer ul li + li {
		border-top:none;
		border-left: 1px solid #333;
	}
	footer .link-btn{
		height: 54px;
		line-height: 7px;
		font-size: 15px;
		padding: 25px 120px;
		margin:5px;
	}
}


.footer-copyright span{
	font-size:13px;
}

header{
z-index:20;
}


@media only screen and (min-width: 0px) {
	.top-customer{
		background-image: none;
	}
}
@media only screen and (min-width: 992px) {
	.top-customer{
		background-image: url(../images/family/7.jpg);
		background-size: 60%;
		/* width: 70%; */
		/* height: 100%; */
		background-position: left top;
		background-repeat: no-repeat;
	}
}

.advantage-box {
  position: relative;
  background: #F4EC93;
  box-shadow: 0px 0px 0px 5px #F4EC93;
  border: dashed 2px white;
  border-radius:10px;
}

.advantage-box:after {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff #F4EC93;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}


@media only screen and (min-width: 0px) {
	.border-plan-left{
		border-left:none;
	}
	.border-plan-right{
		border-right:none;
	}
}
@media only screen and (min-width: 1200px) {
	.border-plan-left{
		border-left:1px solid #ccc;
	}
	.border-plan-right{
		border-right:1px solid #ccc;
		padding: 0 25px!important;
	}
}


.border-subtitleunder{
	border-bottom:3px solid #F4EC93;
	display: inline-block;
}


.icon-block {
  padding: 0 15px;
}
.icon-block .material-icons {
	font-size: inherit;
}
.mplus1p {
	font-family: "M PLUS 1p";
}
.mplus1-round {
	font-family: "M PLUS Rounded 1c";
}
.font32{
	font-size:32px;
}
.font23{
	font-size:20px;
}

.fs-title{
	font-family:'Freestyle Script Regular';font-weight:normal;font-size:72px;line-height: 0.7em;
}
.fs-footer-name{
	font-family:'Freestyle Script Regular';font-weight:normal;font-size:36px;
}

.gothic-title-sm{
	font-family: 'Noto Sans JP';
	font-weight:700;
	font-size:1.3em;
	letter-spacing: .1rem;
	z-index:1;
	margin: 0 0 10px;
}

.gothic-title{
	font-family: 'Noto Sans JP';
	font-weight:700;
	font-size:1.5em;
	letter-spacing: .1rem;
	z-index:1;
	margin: 0 0 10px;
	line-height: 1.5em;
}

.gothic-title-eg{
	font-family: 'Noto Sans JP';
	font-weight:700;
	font-size:32px;
	letter-spacing: .1rem;
	z-index:1;
	margin: 0 0 10px;
}

@media only screen and (min-width: 0) {
	.gothic-title-h1{
		font-weight:700;
		font-size:15px;
		letter-spacing: .1rem;
		z-index:1;
		margin: 0 0 10px;
	}
}
@media only screen and (min-width: 992px) {
	.gothic-title-h1{
		font-weight:700;
		font-size:15px;
		letter-spacing: .1rem;
		z-index:1;
		margin: 0 0 10px;
	}
}





.gothic-subtitle{
	font-weight:700;
	font-size:1.2em;
	letter-spacing: .1rem;
	z-index:1;
	margin: 0 0 10px;
}

.gothic-link-eg{
	font-family: 'Noto Sans JP';
	font-weight:700;
	font-size:15x;
	letter-spacing: .1rem;
	z-index:1;
	margin: 0 0 10px;
}

.radius{
  border-radius:10px;
}
.radius-topleft{
  border-radius:10px 0 0 0;
}
.radius-topright{
  border-radius:0 10px 0 0;
}
.radius-underleft{
  border-radius:0 0 0 10px;
}
.radius-underright{
  border-radius:0 0 10px 0;
}



.no-margin {
  margin: 0 !important;
}

.bg-yellow{
	background-color:#F4EC93;
}

@media only screen and (min-width: 0px) {
	.bg-yellow-concept {
		position: absolute;
		width: 100%;
		height: 1000px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 150px;
	}
}
@media only screen and (min-width: 992px) {
	.bg-yellow-concept {
		position: absolute;
		width: 100%;
		height: 1030px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 215px;
	}
}
@media only screen and (min-width: 1200px) {
	.bg-yellow-concept {
		position: absolute;
		width: 100%;
		height: 670px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 215px;
	}
}


@media only screen and (min-width: 0px) {
	.bg-yellow-awards {
		position: absolute;
		width: 100%;
		height: 930px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 75px;
	}
}
@media only screen and (min-width: 992px) {
	.bg-yellow-awards {
		position: absolute;
		width: 100%;
		height: 1030px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 75px;
	}
}
@media only screen and (min-width: 1200px) {
	.bg-yellow-awards {
		position: absolute;
		width: 100%;
		height: 630px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 75px;
	}
}



@media only screen and (min-width: 0px) {
	.bg-yellow-aboutphotographer {
		position: absolute;
		width: 100%;
		height: 90px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}
@media only screen and (min-width: 760px) {
	.bg-yellow-aboutphotographer {
		position: absolute;
		width: 100%;
		height: 90px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 90px;
	}
}
@media only screen and (min-width: 992px) {
	.bg-yellow-aboutphotographer {
		position: absolute;
		width: 100%;
		height: 90px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 120px;
	}
}
@media only screen and (min-width: 1200px) {
	.bg-yellow-aboutphotographer {
		position: absolute;
		width: 100%;
		height: 100px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 110px;
	}
}





@media only screen and (min-width: 0px) {
	.bg-yellow-workflow {
		position: absolute;
		width: 100%;
		height: 1380px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}
@media only screen and (min-width: 992px) {
	.bg-yellow-workflow {
		position: absolute;
		width: 100%;
		height: 1100px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}
@media only screen and (min-width: 1200px) {
	.bg-yellow-workflow {
		position: absolute;
		width: 100%;
		height: 800px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}


@media only screen and (min-width: 0px) {
	.bg-yellow-gallery {
		position: absolute;
		width: 100%;
		height: 420px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}
@media only screen and (min-width: 767px) {
	.bg-yellow-gallery {
		position: absolute;
		width: 100%;
		height: 640px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}
@media only screen and (min-width: 992px) {
	.bg-yellow-gallery {
		position: absolute;
		width: 100%;
		height: 690px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}
@media only screen and (min-width: 1200px) {
	.bg-yellow-gallery {
		position: absolute;
		width: 100%;
		height: 1070px;
		background: #F4EC93;
		z-index: -99;
		margin-top: 70px;
	}
}







@media only screen and (min-width: 0) {
	.margin-left-15-pc {
		margin-left: 0;
	}
}
@media only screen and (min-width: 992px) {
	.margin-left-15-pc {
		margin-left: 15px;
	}
}













@font-face {
font-family: 'Freestyle Script Regular';
font-style: normal;
font-weight: normal;
src: local('Freestyle Script Regular'), url('../font/FREESCPT.woff') format('woff');
}






body{
	font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,Osaka,arial,sans-serif;color:#212121;
}

*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
/* 
.cp_cont {
	height: 65vh;
}
.cp_offcm01 {
	position: absolute;
	top: 20px;
	right: 20px;
	display: inline-block;
}
.cp_offcm01 .cp_menu {
	position: fixed;
	top: 0;
	right: -100vw;
	width: 250px;
	height: 100%;
	cursor: pointer;
	-webkit-transition: 0.53s transform;
	        transition: 0.53s transform;
	-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	        transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	background-color: #607D8B;
	opacity: 0.8;
}
.cp_offcm01 .cp_menu ul {
	margin: 0;
	padding: 0;
}
.cp_offcm01 .cp_menu li {
	list-style: none;
}
.cp_offcm01 .cp_menu li a {
	display: block;
	padding: 20px;
	text-decoration: none;
	color: #ffffff;
	border-bottom: 1px solid #ffffff;
}

.cp_offcm01 #cp_toggle01 {
	position: absolute;
	display: none;
	opacity: 0;
}
.cp_offcm01 #cp_toggle01:checked ~ .cp_menu {
	-webkit-transform: translateX(-100vw);
	        transform: translateX(-100vw);
}
.cp_offcm01 #cp_toggle01 ~ label {
	display: block;
	padding: 0.5em;
	cursor: pointer;
	-webkit-transition: 0.5s transform;
	        transition: 0.5s transform;
	-webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	        transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	text-align: center;
	color: #333333;
}
.cp_offcm01 #cp_toggle01:checked ~ label {
	-webkit-transform: translateX(-250px);
	        transform: translateX(-250px);
}
.cp_offcm01 #cp_toggle01 ~ label::before {
	font-family: 'FontAwesome';
	content: '\f0c9';
	font-size: 2em
}
.cp_offcm01 #cp_toggle01:checked ~ label::before {
	content: '\f00d';
}
.cp_contents {
	color: #333333;
	text-align: center;
}




 */
html{
-webkit-scroll-behavior:smooth;
scroll-behavior: smooth;
}
.century{
font-family: Futura, 'Century Gothic';
}

.hannari { font-family: "Hannari"; }


nav ul a,
nav .brand-logo {
  color: #444;
}

p {
  line-height: 2.5rem;
}

.button-collapse {
  color: #795548;
}

.parallax-container {
  min-height: 480px;
  line-height: 0;
  height: auto;
  color: rgba(255,255,255,.9);
}
  .parallax-container .section {
    width: 100%;
  }

@media only screen and (max-width : 992px) {
  .parallax-container .section {
    position: absolute;
    top: 40%;
  }
  #index-banner .section {
    top: 10%;
  }
}

@media only screen and (max-width : 600px) {
  #index-banner .section {
    top: 0;
  }
}

.icon-block {
  padding: 0 15px;
}
.icon-block .material-icons {
  font-size: inherit;
}

footer.page-footer {
  margin: 0;
}



h4.workflow{text-align:left;}
span.workflow{text-align:left;}


.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
.material-icons.md-60 { font-size: 60px;padding-top:30px; }



.mdl-typography--subhead, .mdl-typography--subhead-color-contrast {
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 24px;
}


.mdl-card__title {
    align-items: center;
    box-sizing: border-box;
    color: #000;
    display: flex;
    justify-content: stretch;
    line-height: normal;
    padding: 16px;
    perspective-origin: 165px 56px;
    transform-origin: 165px 56px 0;
}

.mdl-card__title-text {
    align-self: flex-end;
    color: inherit;
    display: flex;
    font-size: 24px;
    font-weight: 300;
    line-height: normal;
    margin: 0;
    overflow: hidden;
    transform-origin: 149px 48px 0;
}

.mdl-typography--display-1, .mdl-typography--display-1-color-contrast {
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 40px;
}

.typography-h1{
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 40px;
    padding-top:30px;
}

.typography-h2{
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 40px;
    padding-bottom:30px;
}







.footer-h5{
	border-bottom:1px solid #333;
}



.font60{font-size:60%;display: inline-block;}
.font70{font-size:70%;display: inline-block;}
.font80{font-size:80%;display: inline-block;}
.font90{font-size:90%;display: inline-block;}
.font120{font-size:120%;display: inline-block;}
.padding-side-15rem-for-l{padding:0 1.5rem}
.padding-left-0{padding-left:0}
.padding-top-005{padding-top:5%}
.padding-top-0{padding-top:0}
.padding-top-5{padding-top:5px}
.padding-top-10{padding-top:10px}
.padding-top-15{padding-top:15px}
.padding-top-20{padding-top:20px}
.padding-top-25{padding-top:25px}
.padding-top-30{padding-top:30px}
.padding-top-30-l-only{padding-top:30px}
.padding-top-50{padding-top:50px}
.padding-top-100{padding-top:100px}
.padding-top-125{padding-top:125px}
.padding-top-150{padding-top:150px}
.padding-bottom-0{padding-bottom:0}
.padding-bottom-5{padding-bottom:5px}
.padding-bottom-10{padding-bottom:10px}
.padding-bottom-15{padding-bottom:15px}
.padding-bottom-20{padding-bottom:20px}
.padding-bottom-25{padding-bottom:25px}
.padding-bottom-30{padding-bottom:30px}
.padding-bottom-50{padding-bottom:50px}
.padding-bottom-100{padding-bottom:100px}
.padding-bottom-150{padding-bottom:150px}
.margin-top-0{margin-top:0}
.margin-top-5{margin-top:5px}
.margin-top-10{margin-top:10px}
.margin-top-15{margin-top:15px}
.margin-top-20{margin-top:20px}
.margin-top-25{margin-top:25px}
.margin-top-30{margin-top:30px}
.margin-top-50{margin-top:50px}
.margin-top-100{margin-top:100px}
.margin-bottom-0{margin-bottom:0}
.margin-bottom-5{margin-bottom:5px}
.margin-bottom-10{margin-bottom:10px}
.margin-bottom-15{margin-bottom:15px}
.margin-bottom-20{margin-bottom:20px}
.margin-bottom-25{margin-bottom:25px}
.margin-bottom-30{margin-bottom:30px}
.margin-bottom-50{margin-bottom:50px}
.margin-bottom-100{margin-bottom:100px}
.padding-24{padding:24px}
.padding-25{padding:25px}
.padding-50{padding:50px}
.padding-100{padding:100px}
.padding-150{padding:150px}
.margin-25{margin:25px}
.margin-50{margin:50px}
.margin-100{margin:100px}
.margin-150{margin:150px}
.margin-0-25{margin:0 25px}
.padding-l-25{padding-left:25px}
.padding-l-50{padding-left:50px}
.padding-r-10{padding-right:10px}
.padding-r-25{padding-right:25px}
.padding-r-50{padding-right:50px}
.margin-l-25{margin-left:25px}
.margin-r-25{margin-right:25px}

.padding-left-5{padding-left: 5px!important;}
.padding-right-5{padding-right: 5px!important;}












.mfp_ok{display:none!important;}

.full-width-img img {width : 100%; /* 画像を枠の100%の横幅にする */
}


a.btn img{  vertical-align: middle;
}

.profile-text{font-size:13px;}
.profileh5{font-size:16px;}

.first-h1 {
    color: #000;
    font-size: 32px;
    line-height: 170%;
}
.h-title {
    color: #000;
    font-size: 25px;
}

.sub-title {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
  font-size: 15px;
}


.sobabien_bg {
  background-image: url(../images/sobabien_bg.jpg); 
  background-size:  cover;
}
																																																										
																																																										
.sobabien_bg p {text-shadow: 1px 2px 3px #000; }
																																																										
																																																										
																																																										
																																																										
																																																										
.border-all {
  border:1px solid #fff;
  padding: 50px !important;
}



:root {
    --color-primary: #005AF0;
    --color-secondary: #00DCC0;
    --color-text-light: #fff;
    --space-2: 1rem;   /* 16px */
    --box-shadow-1: 0 1px 1px 0 rgba(0,0,0,.14), 0 1px 1px -1px rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12);
}
  .scrollToTop {
    color: var(--color-text-light);
    font-size: 1.4em;
    box-shadow: var(--box-shadow-1);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    outline: none;
    background: #fc5184 !important;
    z-index: 9999;
    bottom: var(--space-2);
    right: var(--space-2);
    position: fixed;
    opacity: 0;
    visibility: hidden;
	padding: 5px 0 0 0;
  }
  .spacer {
    width: 100vw;
    max-width: 700px;
    height: 200vh;
    background-color: var(--color-secondary);
  }
  /* we move the anchor down to componsate the fixed header */
  .target {
    position: relative;
  }
  .target-anchor {
    position: absolute;
    top: -72px;
    left: 0;
  }


.button a,button,button:active {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 300px;
	height: 60px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s;
	background-color: #909090;
	margin-top: 25px;
	border: none;
}

.button a:hover,button:hover,button:active {

}


.button-arrow a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: rotate(45deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
																																																													border-style: solid;
																																																													/*
	border-color: #333;
*/
}

.button-arrow a:hover ,button:hover ,button:active{
	background-color: #fc5184;
}

.button-arrow a:hover::after {
	border-color: #f2f2f2 #f2f2f2 transparent transparent;
}

.h-border {
	position: relative;
	padding-bottom:10px;
	border-bottom: 5px solid #6cb787;
}

.h-border::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 95px;
	height: 5px;
	background-color: #4ea06c;
}


table td.title {
	text-align-last: justify;
	padding: 0 20px;
	border: 0px solid #ddd;
}



@media only screen and (min-width: 0px) {
	table td.title {
		width:auto;
	}
}
@media only screen and (min-width: 767px) {
	table td.title {
		width:20%;
	}
}


.text-dot {
  text-emphasis: dot #e5bb09;
  -webkit-text-emphasis: dot #4ea06c;
}

.bold-text{
	font-weight: 700;
	font-size: 1.3em;
}




.menu-reco::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    z-index: 1;
    border-style: solid;
    border-width: 0 0 50px 50px;
    border-color: transparent transparent transparent var(--bgcolor-kahki);
}
figcaption, figure, main {
    display: block;
}
figcaption {
    position: absolute;
    top: 7px;
    left: 7px;
    z-index: 1;
    color: var(--textcolor-offwhite);
    width: max-content;
}

.case-before {
	position: relative;
}

.case-before::before{
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
}

.case-before::before {
    top: 0;
    left: 0;
	border-width: 0 0 50px 50px;
	border-color: transparent transparent transparent #6cb787;
}


.case-after {
	position: relative;
}

.case-after::before{
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
}

.case-after::before {
    top: 0;
    left: 0;
	border-width: 0 0 50px 50px;
	border-color: transparent transparent transparent #4ea06c;
}



.text-liner {
	padding-right: 0.5em;
	padding-left: 0.5em;
	line-height: 3em;
	background-image: linear-gradient(transparent 0, transparent 97%, #ddd 100%);
	background-size: 100% 3em;
}


.heading-number {
	position: relative;
	font-size: 21px;
	font-weight:700;
}

.heading-number::before {
	content: attr(data-number);
	display: inline-block;
	margin-right: 10px;
	color: #4ea06c;
	font-size: 21px;
	font-weight:700;
	border-bottom: 1px solid #4ea06c;
}