@font-face {
  font-family: 'icomoon';
  font-family: 'Noto Sans JP', sans-serif;
  src: url("../fonts/icomoon/icomoon.eot?srf3rx");
  src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* =======================================================
*
* 	Template Style
*
* ======================================================= */


/*=================================*/
@media screen and (min-width: 991px)
/*=================================*/
{
.sp{display: none;}
.pc{display: block;}
}

body {
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.8;
  color: #777;
  background: #fff;
}
#katagaki {
    color: #e7417c;
    font-size: 18pt;
    font-weight: 700;
    margin-bottom: 30px;
    margin-top: -5px;
}

#page {
  position: relative;
  overflow-x: hidden;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.offcanvas #page:after {
  -webkit-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 101;
  background: rgba(0, 0, 0, 0.7);
  content: "";
}

a {
  color: #e7417c;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
a:hover, a:active, a:focus {
  color: #e7417c;
  outline: none;
  text-decoration: none;
}

p {
  margin-bottom: 30px;
  font-size: 18px;
  color:#000;
}

h1, h2, h3, h4, h5, h6, figure {
  color: #000;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 400;
  margin: 0 0 30px 0;
}
#title a h1 {
    color: #E7417C;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 800;
    font-size: 40px;
	    line-height: 0.6em;
}
a h1 .sub {
    font-size: 16px;
    line-height: 1em;
}
h1.bottom_g{
  background: url(../images/arrow_g.png) bottom left no-repeat;
  text-align: left;
  padding: 0 0 1rem 6rem;
  margin-left:-20%;
  margin-bottom:4%;
}
h1.bottom_w{
  background: url(../images/arrow_w.png) bottom right no-repeat;
  text-align: left;
  padding: 0 6rem 1rem 0;
  margin-right:40%;
  margin-bottom:4%;
  color: #fff;
}
h1 img{
  min-width: 300px;
  max-width: 100%;
}
h1.bottom_gr{
  background: url(../images/arrow_gr.png) bottom left no-repeat;
  text-align: left;
  padding: 0 6rem 1rem 0;
  margin-bottom:4%;
}

.list{
  padding: 0;
  text-align: center;
}
.list li{
  vertical-align:top;
  display: inline-block;
  text-align: left;
  margin: 2rem 4rem;
}
.list li img{
  padding-bottom: 3rem;
}


::-webkit-selection {
  color: #fff;
  background: #339966;
}

::-moz-selection {
  color: #fff;
  background: #339966;
}

::selection {
  color: #fff;
  background: #339966;
}

.gtco-nav {
  position: fixed;
  top: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  padding: 20px 0;
  z-index: 1001;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background: none;
}

.gtco-nav #gtco-logo {
  font-size: 30px;
  line-height: 1;
  margin: 0;
  padding: 0;
  font-weight: bold;
}
#gtco-logo img{
  /*max-width: 296px !important;*/
  max-width: 100%;
}
.gtco-nav #gtco-logo em {
  color: #fff;
  font-weight: 100;
  font-style: normal;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}
.gtco-nav #gtco-logo a {
  padding: 0px 10px;
  color: #000;
  font-weight: 700;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
}


.gtco-nav ul {
  padding: 0;
  margin: 1px 0 0 0;
}
.gtco-nav ul li {
  padding: 0;
  margin: 0;
  list-style: none;
  display: inline;
}
.gtco-nav ul li a {
  font-size: 12px;
  padding: 20px 10px !important;
  text-transform: uppercase;
  color: #000;
  font-weight: 400 !important;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.gtco-nav ul li a:hover, .gtco-nav ul li a:focus, .gtco-nav ul li a:active {
  color: #339966;
}
.gtco-nav ul li.has-dropdown {
  position: relative;
}
.gtco-nav ul li.has-dropdown .dropdown {
  width: 130px;
  -webkit-box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.15);
  z-index: 1002;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 40px;
  left: 0;
  text-align: left;
  background: #fff;
  padding: 20px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: 0s;
  -o-transition: 0s;
  transition: 0s;
}
.gtco-nav ul li.has-dropdown .dropdown:before {
  bottom: 100%;
  left: 40px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-bottom-color: #fff;
  border-width: 8px;
  margin-left: -8px;
}
.gtco-nav ul li.has-dropdown .dropdown li {
  display: block;
  margin-bottom: 7px;
}
.gtco-nav ul li.has-dropdown .dropdown li:last-child {
  margin-bottom: 0;
}
.gtco-nav ul li.has-dropdown .dropdown li a {
  padding: 2px 0;
  display: block;
  color: #999999;
  line-height: 1.2;
  text-transform: none;
  font-size: 15px;
}
.gtco-nav ul li.has-dropdown .dropdown li a:hover {
  color: #000;
}
.gtco-nav ul li.has-dropdown .dropdown li.active > a {
  color: #000 !important;
}
.gtco-nav ul li.has-dropdown:hover a, .gtco-nav ul li.has-dropdown:focus a {
  color: #fff;
}
.gtco-nav ul li.btn-cta a {
  /*color: #fff;*/
}
.gtco-nav ul li.btn-cta a span {
  border: none !important;
  /*background: rgba(255, 255, 255, 0.2);*/
  padding: 4px 20px;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  border-radius: 30px;
}
.gtco-nav ul li.btn-cta a:hover span {
  background: #8bde2f;
  color: #fff;
}
.gtco-nav ul li.active > a {
  color: #000 !important;
  border-bottom: #339966 solid 2px;
}
.gtco-nav.scrolled {
  background: #fff;
  webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
}
.gtco-nav.scrolled ul {
  padding: 0;
  margin: 1px 0 0 0;
}
.gtco-nav.scrolled ul li {
  padding: 0;
  margin: 0;
  list-style: none;
  display: inline;
}
.gtco-nav.scrolled ul li a {
  color: rgba(0, 0, 0, 0.5);
}
.gtco-nav.scrolled ul li a:hover {
  color: black;
}
/*
.gtco-nav.scrolled ul li.active > a {
  color: #339966 !important;
}*/
.gtco-nav.scrolled ul li.btn-cta a {
  color: #fff;
}
.gtco-nav.scrolled ul li.btn-cta a span {
  border: none !important;
  background: #339966;
  padding: 4px 20px;
  color: #fff;
}
.gtco-nav.scrolled #gtco-logo em, .gtco-nav.scrolled #gtco-logo a {
  color: #000;
}

#gtco-hero .gtco-video-link a {
  color: rgba(255, 255, 255, 0.5);
}
#gtco-hero .gtco-video-link a i {
  font-size: 78px;
  top: 2px;
  position: relative;
  color: #fff;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
#gtco-hero .gtco-video-link a:hover {
  color: white;
}
#gtco-hero .gtco-video-link a:hover i {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}


#gtco-header,
#gtco-counter,
.gtco-bg {
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
}
.display-tc-main{
  display: block;
}
.display-tc-main img{
  display: inline-block;
}
.main-item-position{
  position: relative;
  top:10rem;
  z-index: 3;
}


.hero-box{
  background: url("../images/img_bg_4.jpg") no-repeat;
  background-size: cover;
  padding: 10rem 0 ;
  min-height:600px;
}

.gtco-bg {
  background-position: center center;
  width: 100%;
  float: left;
  position: relative;
}

.gtco-video {
  height: 450px;
  overflow: hidden;
  margin-bottom: 30px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  -ms-border-radius: 7px;
  border-radius: 7px;
}
.gtco-video.gtco-video-sm {
  height: 250px;
}
.gtco-video a {
  /*z-index: 1001;*/
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -45px;
  margin-left: -45px;
  width: 90px;
  height: 90px;
  display: table;
  text-align: center;
  background: #fff;
  -webkit-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
}
.gtco-video a i {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  font-size: 40px;
}
.gtco-video .overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.gtco-video:hover .overlay {
  background: rgba(0, 0, 0, 0.7);
}
.gtco-video:hover a {
  position: relative;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

.gtco-cover {
  height: 75rem;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  float: left;
  top:-10rem;
  width: 100%;
}
.gtco-cover a {
  color: #339966;
}
.gtco-cover a:hover {
  color: white;
}
.gtco-cover .overlay {
  /*z-index: 1;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  /*background: rgba(35, 35, 35, 0.5);*/
}
.gtco-cover > .container {
  position: relative;
  z-index: 10;
}
.top-main{
  z-index: 1 !important;
}

.main-img img{
  position:relative;
  top:23rem;
  min-width: 546px;
  max-width: 100%;
}
.top-main .main-img img{
  top:23rem ;
}

.gtco-cover .display-t,
.gtco-cover .display-tc {
  height: 900px;
  display: table;
  width: 100%;
}
.gtco-cover{left:-2rem; width:110%;}

/*====================================*/
@media screen and (max-width: 990px)
/*====================================*/
{
  .top-main .main-img img{
    top:38rem;
  }
  p img{max-width: 100%;}
  .gtco-cover {
	height: 600px;
  }

.main-img img{
  position:relative;
  top:25rem;
  left:-70%;
  min-width: 300px;
  max-width: 100%;
  z-index: -1;
}
.movie-wrap iframe{ width: 90% !important;}

.img-left{
  position:relative;
  top:25rem;
  left:5% !important;
  max-width: 80%;
  z-index: -1;
}
.col-md-6{
  width: 90%;
  margin: 0 auto;
}

h1.bottom_g{
  padding: 0 0 3rem 0;
  margin-left:0;
  margin-bottom:4%;
}
h1.bottom_w{
  background: url(../images/arrow_w.png) bottom right no-repeat;
  text-align: left;
  padding: 0 0 3rem 0;
  margin-right:0;
  margin-bottom:4%;
  color: #fff;
}
#gtco-topprofile:before{
  width:170% !important;
  top:6rem !important;
  left:-20% !important;
  height: 95%!important;
}
#gtco-topprofile .container{
  padding: 10rem 0 0 0 ;
}
.top_profile img{top:0 !important;}

.pull-left{float:none !important;}
.gtco-social-icons{text-align: center;}
.pull-banner{width: 90% !important; margin: 2rem auto  0  !important;}
.pull-banner li img{padding: 1rem 0;}
#gtco-footer .col-md-6{
  width: 90% !important;
  margin: 1rem auto 0 !important;
  padding-top:1rem !important ; }
#gtco-footer .row img{padding-bottom: 2rem;}

.gototop{right:10px !important; bottom: 60px !important;}
.gototop img{max-width: 80px;}

}

/*====================================*/
@media screen and (max-width: 990px)
/*====================================*/{
  .gtco-cover .display-t,
  .gtco-cover .display-tc {
	height: 600px;
  }
}
.gtco-cover.gtco-cover-sm {
  height: 600px;
}

.gtco-cover.gtco-cover-sm .display-t,
.gtco-cover.gtco-cover-sm .display-tc {
  height: 600px;
  display: table;
  width: 100%;
}

.gtco-cover.gtco-cover-xs {
  height: 500px;
}

.gtco-cover.gtco-cover-xs .display-t,
.gtco-cover.gtco-cover-xs .display-tc {
  height: 500px;
  display: table;
  width: 100%;
}

.gtco-cover.gtco-cover-xxs {
  padding: 3em 0;
}
.gtco-cover .btn-primary {
  color: #fff !important;
}

#gtco-about,
#gtco-practice-areas,
#gtco-our-team,
#gtco-contact {
  padding: 7em 0;
  clear: both;
}


.bg-g{
  background: #339966;
}
.top-img{
  background-image: url("../images/top_topbg.svg");
  background-size: cover;
  padding: 45rem ;
  width: 100%;
  position: absolute;
  top:-8.2rem;
}
.bottom-img{
  background-image: url("../images/top_bottombg.svg");
  background-size: cover;
  padding-bottom: 45rem ;
  position: relative;
  bottom:1rem;
}


#topprofile .top-img{
  background-image: url("../images/top_topbg.svg");
  background-size: cover;
  width: 100%;
  position: relative;
  top:0.1rem;
  min-height:435px;
}
#topprofile .bottom-img{
  background-image: url("../images/top_bottombg.svg");
  background-size: cover;
  padding-bottom: 45rem ;
  position: relative;
  bottom:1rem;
}
.topprofile{
  position: absolute;
  width: 100%;
}


#gtco-topmovie{
  padding: 7em 0 0 0;
  clear: both;
}

#gtco-about .img-shadow,#gtco-topmovie .img-shadow {
  position: relative;
  background: #339966;
  width: 100%;
  float: left;
}
#gtco-about .img-shadow img,#gtco-topmovie .img-shadow img {
  position: relative;
  top: -20px;
  left: -20px;
}
#gtco-about .heading,#gtco-topmovie .heading {
  position: relative;
}
#gtco-about .heading .subtle-text,#gtco-topmovie .heading .subtle-text {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
}
#gtco-topmovie{
  position: relative;
  /*top:-10rem;
  overflow: hidden;
  margin: 10% 0;
  padding: 80px 0;*/
}
.policy-img:before{
  background-image:url("../images/img_bg_5.jpg") !important;
}
.overlay:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 120%;
  margin: 3% -10% 0;
  background-image:url("../images/img_bg_4.jpg");
  background-repeat:no-repeat;
  background-size: cover;
  background-position:0px 0px;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);
  z-index: -1;
}
#gtco-topmovie:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 80%;
  margin: 3% -10% 0;
  background: #81bb41;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);
  z-index: -1;
}
#gtco-topright:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 80%;
  margin: 3% -10% 0;
  background: #fff;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);
}

#gtco-topmovie_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}


#gtco-practice-areas .heading {
  position: relative;
}
#gtco-practice-areas .heading .subtle-text {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
  line-height: 1;
}
#gtco-practice-areas .heading .subtle-text span {
  display: block;
}
#gtco-practice-areas .gtco-practice-area-item {
  margin-bottom: 30px;
}
#gtco-practice-areas .gtco-practice-area-item .gtco-icon,
#gtco-practice-areas .gtco-practice-area-item .gtco-copy {
  display: table-cell;
  vertical-align: top;
}
#gtco-practice-areas .gtco-practice-area-item .gtco-icon {
  width: 100px;
}

#gtco-practice-areas .gtco-practice-area-item .gtco-copy h3 {
  margin-bottom: 15px;
  font-size: 24px;
}

#gtco-our-team .heading {
  position: relative;
}
#gtco-our-team .heading .subtle-text {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
  line-height: 1;
}
#gtco-our-team .heading .subtle-text span {
  display: block;
}
#gtco-our-team .team-item {
  margin-bottom: 9em;
}
#gtco-our-team .team-item:last-child {
  margin-bottom: 0;
}
#gtco-our-team .gtco-team-reverse .img-shadow,
#gtco-our-team .gtco-team .img-shadow {
  position: relative;
/*  background: #339966;*/
background: #339966;
  width: 100%;
  float: left;
  margin-bottom: 30px;
}
#gtco-our-team .gtco-team-reverse .img-shadow img,
#gtco-our-team .gtco-team .img-shadow img {
  position: relative;
  top: -20px;
  right: -20px;
}
#gtco-our-team .gtco-team .img-shadow img {
  top: -20px;
  left: -20px;
}

#gtco-contact .heading {
  position: relative;
}
#gtco-contact .heading .subtle-text {
  position: absolute;
  bottom: -1em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
  line-height: 1;
}
#gtco-contact .heading .subtle-text span {
  display: block;
}
#gtco-contact .form-group {
  margin-bottom: 30px;
}
#gtco-contact .form-control {
  height: 70px;
  font-size: 18px;
  box-shadow: none !important;
  border: 1px solid #cccccc;
  padding-left: 20px;
  padding-right: 20px;
  background: #fff;
}
#gtco-contact textarea {
  height: inherit !important;
  resize: vertical;
}

.heading {
  text-align: center;
  margin-bottom: 70px;
}
.heading h1 {
  margin-bottom: 10px;
}

.heading .sub {
  position: relative;
  padding-bottom: 40px;
  font-size: 18px;
  color: #757575;
}
.heading .sub:after {
  bottom: 0;
  left: 50%;
  margin-left: -36px;
  content: "";
  position: absolute;
  width: 72px;
  height: 2px;
  /*background: #339966;*/
  background: #339966;
}

.heading-colored {
/*  color: #3399661;*/
  color: #36c200;
}

.read-more i {
  position: relative;
  top: 2px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.read-more:hover i {
  padding-left: 10px;
}

.gtco-social-icons {
  margin: 0;
  padding: 0;
}
.gtco-social-icons li {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
.gtco-social-icons li a {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
/*  color: #36c200;*/
  color: #339966;
  padding-left: 10px;
  padding-right: 10px;
}
.gtco-social-icons li a i {
  font-size: 20px;
}

.gtco-contact-info {
  margin-bottom: 30px;
  float: left;
  width: 100%;
  position: relative;
}
.gtco-contact-info ul {
  padding: 0;
  margin: 0;
  clear: both;
}
.gtco-contact-info ul li {
  padding: 0 0 0 50px;
  margin: 0 0 30px 0;
  list-style: none;
  position: relative;
}
.gtco-contact-info ul li:before {
  /*  color: #36c200;*/
    color: #339966;
  position: absolute;
  left: 0;
  top: .05em;
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.gtco-contact-info ul li.address:before {
  font-size: 30px;
  content: "\e9d1";
}
.gtco-contact-info ul li.phone:before {
  font-size: 23px;
  content: "\e9f4";
}
.gtco-contact-info ul li.email:before {
  font-size: 23px;
  content: "\e9da";
}
.gtco-contact-info ul li.url:before {
  font-size: 23px;
  content: "\e9af";
}

form label {
  font-weight: normal !important;
}

#gtco-header .display-tc,
.gtco-cover .display-tc {
  display: table-cell !important;
  vertical-align: middle;
}
#gtco-header .display-tc h1, #gtco-header .display-tc h2,
.gtco-cover .display-tc h1,
.gtco-cover .display-tc h2 {
  margin: 0;
  padding: 0;
  color: white;
}
#gtco-header .display-tc h1,
.gtco-cover .display-tc h1 {
  margin-bottom: 30px;
  font-size: 59px;
  line-height: 1.5;
  font-weight: 100;
  text-align: left;
}

#gtco-header .display-tc h2,
.gtco-cover .display-tc h2 {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 30px;
}

#gtco-footer .gtco-footer-links {
  padding: 0;
  margin: 0 0 20px 0;
  float: left;
  width: 100%;
}
#gtco-footer .gtco-footer-links li {
  padding: 0;
  margin: 0 0 15px 0;
  list-style: none;
  line-height: 1;
}
#gtco-footer .gtco-footer-links li a {
  text-decoration: none;
}
#gtco-footer .gtco-footer-links li a:hover {
  text-decoration: underline;
}
#gtco-footer .gtco-widget {
  margin-bottom: 30px;
}
#gtco-footer .gtco-widget h3 {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
#gtco-footer .gtco-widget .gtco-quick-contact {
  padding: 0;
  margin: 0;
}
#gtco-footer .gtco-widget .gtco-quick-contact li {
  padding: 0;
  margin: 0 0 10px 0;
  list-style: none;
}
#gtco-footer .gtco-widget .gtco-quick-contact li i {
  width: 30px;
  float: left;
  font-size: 18px;
  position: relative;
  margin-top: 4px;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

#gtco-footer .copyright .block {
  display: block;
}

#gtco-offcanvas {
  position: absolute;
  position: fixed;
  z-index: 1901;
  width: 270px;
  /*background: #36c200;*/
  background: #339966;
  top: 0;
  right: 0;
  top: 0;
  bottom: 0;
  padding: 45px 40px 40px 40px;
  overflow-y: auto;
  display: none;
  -moz-transform: translateX(270px);
  -webkit-transform: translateX(270px);
  -ms-transform: translateX(270px);
  -o-transform: translateX(270px);
  transform: translateX(270px);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.offcanvas #gtco-offcanvas {
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  -o-transform: translateX(0px);
  transform: translateX(0px);
}
#gtco-offcanvas a {
  color: #fff;
}
#gtco-offcanvas a:hover {
  color: rgba(255, 255, 255, 0.8);
}
#gtco-offcanvas ul {
  padding: 0;
  margin: 0;
}
#gtco-offcanvas ul li {
  padding: 1rem 0;
  margin: 0;
  list-style: none;
}
#gtco-offcanvas ul li > ul {
  padding-left: 20px;
  display: none;
}
#gtco-offcanvas ul #twis {
    display: none;
}
#gtco-offcanvas ul li.offcanvas-has-dropdown > a {
  display: block;
  position: relative;
}
#gtco-offcanvas ul li.offcanvas-has-dropdown > a:after {
  position: absolute;
  right: 0px;
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e921";
  font-size: 20px;
  color: rgba(255, 255, 255, 0.2);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
#gtco-offcanvas ul li.offcanvas-has-dropdown.active a:after {
  -webkit-transform: rotate(-180deg);
  -moz-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.uppercase {
  font-size: 14px;
  color: #000;
  margin-bottom: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.gototop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.gototop.active {
  opacity: 1;
  visibility: visible;
}
.gototop a {
  width: 50px;
  height: 50px;
  display: table;
/*  background: rgba(0, 0, 0, 0.5);*/
  color: #fff;
  text-align: center;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
.gototop a i {
  height: 50px;
  display: table-cell;
  vertical-align: middle;
}
.gototop a:hover, .gototop a:active, .gototop a:focus {
  text-decoration: none;
  outline: none;
}

.gtco-nav-toggle {
  width: 25px;
  height: 25px;
  cursor: pointer;
  text-decoration: none;
}
.gtco-nav-toggle.active i::before, .gtco-nav-toggle.active i::after {
  background: #444;
}
.gtco-nav-toggle:hover, .gtco-nav-toggle:focus, .gtco-nav-toggle:active {
  outline: none;
  border-bottom: none !important;
}
.gtco-nav-toggle i {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 2px;
  color: #252525;
  font: bold 14px/.4 Helvetica;
  text-transform: uppercase;
  text-indent: -55px;
  background: #252525;
  transition: all .2s ease-out;
}
.gtco-nav-toggle i::before, .gtco-nav-toggle i::after {
  content: '';
  width: 25px;
  height: 2px;
  background: #252525;
  position: absolute;
  left: 0;
  transition: all .2s ease-out;
}
.gtco-nav-toggle.gtco-nav-white > i {
  color: #fff;
  background: #fff;
}
.gtco-nav-toggle.gtco-nav-white > i::before, .gtco-nav-toggle.gtco-nav-white > i::after {
  background: #fff;
}

.gtco-nav-toggle i::before {
  top: -7px;
}

.gtco-nav-toggle i::after {
  bottom: -7px;
}

.gtco-nav-toggle:hover i::before {
  top: -10px;
}

.gtco-nav-toggle:hover i::after {
  bottom: -10px;
}

.gtco-nav-toggle.active i {
  background: transparent;
}

.gtco-nav-toggle.active i::before {
  top: 0;
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  -ms-transform: rotateZ(45deg);
  -o-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.gtco-nav-toggle.active i::after {
  bottom: 0;
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

.gtco-nav-toggle {
  position: fixed;
  right: 0px;
  top: 10px;
  z-index: 21;
  padding: 6px 0 0 0;
  display: block;
  margin: 0 auto;
  display: none;
  height: 44px;
  width: 44px;
  z-index: 2001;
  border-bottom: none !important;
}



.btn {
  margin-right: 4px;
  margin-bottom: 4px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  padding: 8px 30px;
}
.btn.btn-md {
  padding: 8px 20px !important;
}
.btn.btn-lg {
  padding: 18px 36px !important;
}
.btn:hover, .btn:active, .btn:focus {
  box-shadow: none !important;
  outline: none !important;
}

.btn-primary {
/*  background: #36c200;*/
background: #339966;
  color: #fff;
  border: 2px solid #339966 !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background: #339966 !important;
  border-color: #339966 !important;
}
.btn-primary.btn-outline {
  background: transparent;
  color: #339966;
  border: 2px solid #339966;
}
.btn-primary.btn-outline:hover, .btn-primary.btn-outline:focus, .btn-primary.btn-outline:active {
  background: #339966;
  color: #fff;
}

.btn-success {
  background: #5cb85c;
  color: #fff;
  border: 2px solid #5cb85c;
}
.btn-success:hover, .btn-success:focus, .btn-success:active {
  background: #4cae4c !important;
  border-color: #4cae4c !important;
}
.btn-success.btn-outline {
  background: transparent;
  color: #5cb85c;
  border: 2px solid #5cb85c;
}
.btn-success.btn-outline:hover, .btn-success.btn-outline:focus, .btn-success.btn-outline:active {
  background: #5cb85c;
  color: #fff;
}

.btn-info {
  background: #5bc0de;
  color: #fff;
  border: 2px solid #5bc0de;
}
.btn-info:hover, .btn-info:focus, .btn-info:active {
  background: #46b8da !important;
  border-color: #46b8da !important;
}
.btn-info.btn-outline {
  background: transparent;
  color: #5bc0de;
  border: 2px solid #5bc0de;
}
.btn-info.btn-outline:hover, .btn-info.btn-outline:focus, .btn-info.btn-outline:active {
  background: #5bc0de;
  color: #fff;
}

.btn-warning {
  background: #f0ad4e;
  color: #fff;
  border: 2px solid #f0ad4e;
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
  background: #eea236 !important;
  border-color: #eea236 !important;
}
.btn-warning.btn-outline {
  background: transparent;
  color: #f0ad4e;
  border: 2px solid #f0ad4e;
}
.btn-warning.btn-outline:hover, .btn-warning.btn-outline:focus, .btn-warning.btn-outline:active {
  background: #f0ad4e;
  color: #fff;
}

.btn-danger {
  background: #d9534f;
  color: #fff;
  border: 2px solid #d9534f;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
  background: #d43f3a !important;
  border-color: #d43f3a !important;
}
.btn-danger.btn-outline {
  background: transparent;
  color: #d9534f;
  border: 2px solid #d9534f;
}
.btn-danger.btn-outline:hover, .btn-danger.btn-outline:focus, .btn-danger.btn-outline:active {
  background: #d9534f;
  color: #fff;
}

.btn-white {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
}
.btn-white:hover, .btn-white:focus, .btn-white:active {
  color: #000;
  background: #f2f2f2 !important;
  border-color: #f2f2f2 !important;
}
.btn-white.btn-outline {
  color: #fff;
  border: 2px solid #fff;
}
.btn-white.btn-outline:hover, .btn-white.btn-outline:focus, .btn-white.btn-outline:active {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
}

.btn-outline {
  background: none;
  border: 2px solid gray;
  font-size: 16px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.btn-outline:hover, .btn-outline:focus, .btn-outline:active {
  box-shadow: none;
}

.btn.with-arrow {
  position: relative;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.btn.with-arrow i {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  right: 0px;
  top: 50%;
  margin-top: -8px;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}
.btn.with-arrow:hover {
  padding-right: 50px;
}
.btn.with-arrow:hover i {
  color: #fff;
  right: 18px;
  visibility: visible;
  opacity: 1;
}

#gtco-contact h3 {
  color: #fff;
  font-size: 30px;
}

.row-pb-md {
  padding-bottom: 4em !important;
}

.row-pb-sm {
  padding-bottom: 2em !important;
}

/*
.gtco-loader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: url(../images/loader.gif) center no-repeat #fff;
}*/

.js .animate-box {
  opacity: 0;
}

/*=====TOPムービー=====*/
.movie-wrap {
	 position: relative;
	 top:-12rem;
	 padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	 height: 0;
	 overflow: hidden;
   z-index: 3;
}

.movie-wrap iframe {
	 position: absolute;
	 top: 0px;
	  right: 0px;
	  bottom: 0px;
	  left: 0px;
	  margin: auto;
	 width: 100%;
	 height: 100%;
}
/*=====TOPムービー END=====*/

/*=====TOPポリシー=====*/
#gtco-topright:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 80%;
  margin: 3% -10% 0;
  background: #fff;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);

 z-index: -1;
}
#gtco-topright_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: c
enter;
}
#gtco-topright {
  clear: both;
}
#gtco-topright .img-shadow {
  position: relative;
  background: #339966;
  width: 100%;
  float: left;
}
#gtco-topright .img-shadow img {
  position: relative;
  top: -20px;
  left: -20px;
}
#gtco-about .heading,#gtco-topright .heading {
  position: relative;
}
#gtco-topright .heading .subtle-text {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
}
#gtco-topright{
  position: relative;
  top:-10rem;
  /*overflow: hidden;
  margin: 10% 0;
  padding: 80px 0;*/
}
#gtco-topright{
  position: relative;
  top:-10rem;
  /*overflow: hidden;
  margin: 10% 0;
  padding: 80px 0;*/
}
.read-more{
  background: #000;
  color: #fff;
  padding: 10px 20px;
}
.read-more:hover{
  color: #000;
  background: #fff;
  border: 1px solid #000;
}
.img-left{
  position: relative;
  top:-8rem;
  left:40%;
}

/*=====TOPポリシー END=====*/

/*=====TOPプロフィール=====*/

#gtco-about .img-shadow,#gtco-topprofile .img-shadow {
  position: relative;
  background: #339966;
  width: 100%;
  float: left;
}
#gtco-about .img-shadow img,#gtco-topprofile .img-shadow img {
  position: relative;
  top: -20px;
  left: -20px;
}
#gtco-about .heading,#gtco-topprofile .heading {
  position: relative;
}
#gtco-about .heading .subtle-text,#gtco-topprofile .heading .subtle-text {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
}
#gtco-topprofile{
  position: relative;
  top:-10rem;
  z-index: 3;
  /*overflow: hidden;
  margin: 10% 0;
  padding: 80px 0;*/
}
#gtco-topprofile:before {
  content: '';
  position: absolute;
  top: -3rem;
  left: 0;
  width: 120%;
  height: 102%;
  margin: 3% -10% 0;
  background: #81bb41;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);
  z-index: -1;
}
#gtco-topprofile_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}
#gtco-topprofile p{color: #fff;}
.top_profile img{
  position: relative;
  top:-18rem;
}

/*=====TOPプロフィール END=====*/

/*=====フッター=====*/

#gtco-footer .row{
  border-top: #eee solid 1px;
  padding-top: 30px;
}
#gtco-footer .col-md-6{vertical-align:top;}
#gtco-footer h3{
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 1rem 0;
}
#gtco-footer p{font-size: 14px;}
.pull-banner{
  text-align: center;
  margin: 0 auto;
  width: 60%;
}
.pull-banner a:hover,.gtco-social-icons a:hover,.gototop a:hover{
  opacity: 0.3;
}

.copyright{
  background: #000;
  text-align: center;
}
.copyright p{
  color: #fff;
  padding: 1.5rem 0 0 0 ;
}
#gtco-footer .col-md-6{
  width: 30%;
  padding: 0 2rem;
  display: inline-block;
  float: none;
}

/*=====フッター END=====*/

/*=====プロフィール=====*/

#gtco-profmain{
	background-image:url("../images/profile_main.png");
	background-size:cover;
  background-position: right;
}
#profile .container{
  margin-top: 10rem;
}
.inner{
  margin: 4rem 0 8rem 0 ;
}
.message_img{
  text-align: right;
}
#gtco-message{
  margin: 10rem 0 ;
}
#gtco-support{
  margin-bottom: 6rem;
}


/*=====プロフィール END=====*/

/*=====ポリシー=====*/

#gtco-hero .container{
  /*z-index: -1;*/
}


#gtco-policy-even{
  position: relative;
  /*top:-10rem;
  overflow: hidden;
  margin: 10% 0;
  padding: 80px 0;*/
}

#gtco-policy-even_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}
#gtco-policy-even{
  padding: 0 0 0 0;
  clear: both;
}
#gtco-policy-even{
  position: relative;
  top:-10rem;
  /*overflow: hidden;
  margin: 10% 0;
  padding: 80px 0;*/
}
#gtco-policy-even:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 140%;
  margin: 3% -10% 0;
  background: #eaf0d9;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);
  z-index: -1;
}
#gtco-policy-even_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}

#gtco-policy-even .img-shadow {
  position: relative;
  background: #339966;
  width: 100%;
  float: left;
}
#gtco-policy-even .img-shadow img {
  position: relative;
  top: -20px;
  left: -20px;
}
#gtco-policy-even .heading {
  position: relative;
}
#gtco-policy-even .heading .subtle-text {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
}
.policy-mainimg{
  min-width:357px !important;
  max-width: 100% !important;
  left: -70%;
}
.no-img{
  float: left;
  padding: 0 2rem 0 0 ;
}


#gtco-policy-no4{
  position: relative;
  /*top:-10rem;
  overflow: hidden;
  margin: 10% 0;
  padding: 80px 0;*/
}

#gtco-policy-no4_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}
#gtco-policy-no4{
  padding: 0 0 0 0;
  clear: both;
}
#gtco-policy-no4{
  position: relative;
  margin: 10% 0;
  /*overflow: hidden;
  padding: 80px 0;*/
}
#gtco-policy-no4:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 140%;
  margin: 3% -10% 0;
  background: #eaf0d9;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);
  z-index: -1;
}
#gtco-policy-no4_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}

#gtco-policy-no4 .img-shadow {
  position: relative;
  background: #339966;
  width: 100%;
  float: left;
}
#gtco-policy-no4 .img-shadow img {
  position: relative;
  top: -20px;
  left: -20px;
}
#gtco-policy-no4 .heading {
  position: relative;
}
#gtco-policy-no4 .heading .subtle-text {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  text-transform: uppercase;
  font-size: 208px;
  color: #F8F8F8;
  font-weight: 900;
  z-index: -1;
}
.policy-top{
  z-index: -1 !important;
}
.pol-img{
  top:0 !important;
}


/*=====ポリシー END=====*/

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

#contact {
	background: #fff;
	color: #111;
	text-decoration: inherit;
	vertical-align: inherit;
	background-repeat: no-repeat;
	margin: 0px;
	padding: 0px;
	display: block;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ W3', 'ヒラギノ角ゴ Pro W3', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'メイリオ', sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

#contact .clear {
	clear: both;
}

#contact .clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

#contact .clearfix {
	min-height: 1px;
}

#container {
	margin: 80px auto;
	padding: 0;
	position: relative;
	text-align: center;
	width: 100%;
	height: auto;
}

#contact .title-area {
	position: relative;
	width: 100%;
	height: auto;
}

#contact .contents-main-title {
	border-bottom: solid 1px #ddd;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	font-weight: 600;
	color: #222;
	display: inline-block;
	letter-spacing: .3rem;
	line-height: 1;
	margin: auto;
	padding: 0 30px 40px;
	min-width: 200px;
}

#contact .contents-sub-title {
	font-family: 'BrandonGrotesque Light', sans-serif;
	font-size: 1rem;
	color: #999;
	letter-spacing: .3em;
	line-height: 1;
	margin: auto;
	position: absolute;
	top: 10px;
	right: 0;
	bottom: 0;
	left: 0;
	text-transform: uppercase;
	width: auto;
	height: 10px;
	z-index: 11;
}

#contact .form-container a:link,
#contact .form-container a:visited {
	color: #000;
	text-decoration: underline;
}

#contact .form-item {
	display: table;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .1rem;
	padding: 18px 0 18px 25px;
	width: 100%;
}

#contact .form-item + .form-item {
	border-top: solid 1px #e5e5e5;
}

#contact .form-container .need:after {
	border: solid 1px #e30076;
	color: #e30076;
	content: '必須';
	font-size: 1.1rem;
	font-weight: bold;
	padding-left: .5em;

	display: inline-block;
	margin-left: .75em;
	padding: 0 3px;
	text-align: center;
}

#contact .form-container .any:after {
	border: solid 1px #0F6BB8;
	color: #0F6BB8;
	content: '任意';
	font-size: 1.1rem;
	font-weight: bold;
	padding-left: .5em;

	display: inline-block;
	margin-left: .75em;
	padding: 0 3px;
	text-align: center;
}

#contact .form-item-title {
	display: table-cell;
	line-height: 1.7rem;
	vertical-align: middle;
	width: 22rem;
}

#contact .form-item-title-caption {
	font-size: 1.2rem;
	margin-right: 4em;
}

#contact .form-item span {
	display: inline-block;
	padding: 0 .5em;
	text-align: center;
}

#contact .form-item-body {
	display: table-cell;
	line-height: 1.7rem;
	vertical-align: middle;
}

#contact .form-item-title br,
#contact .form-item-body br {
	display: none;
}

#contact .form-container label {
	cursor: pointer;
}

#contact .form-container input,
#contact .form-container select,
#contact .form-container textarea,
#contact .form-container button {
	background: #eee;
	border: none;
	border-radius: 2px;
}

#contact .form-container input[type="file"] {
	background: none;
	border: none;
}

#contact .form-container input[type="text"],
#contact .form-container input[type="tel"],
#contact .form-container input[type="email"] {
	line-height: 3.5rem;
	padding: 0 .5em;
	max-width: 480px;
	min-width: 300px;
	width: 100%;
	height: 2.7em;
}

#contact .form-container input[type="text"].input-short {
	max-width: 180px;
	min-width: 100px;
}

#contact .form-container select {
	height: 3.5rem;
}

#contact .form-container textarea {
	line-height: 1.75;
	padding: .5em;
	min-height: 12em;
	width: 100%;
}

#contact .form-container input[type="radio"],
#contact .form-container input[type="checkbox"] {

}

#contact .form-container input[type="submit"],
#contact .form-container input[type="reset"],
#contact .form-container button {
	background: #000;
	color: #fff;
	cursor: pointer;
	display: block;
	font-size: 1.4rem;
	letter-spacing: .2rem;
	line-height: 4rem;
	margin: 0 auto 40px auto;
	position: relative;
	width: 300px;
}

#contact .form-container input[type="submit"],
#contact .form-container input[type="reset"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent !important;
	position: absolute;
}

#contact .form-attention {
	border-top: solid 1px #e5e5e5;
	padding: 40px 0;
	text-align: center;
}

#contact .form-container .confirm {
	display: table;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .1rem;
	padding: 15px 0 15px 25px;
	width: 100%;
}

#contact .form-container .confirm + .confirm {
	border-top: solid 1px #e5e5e5;
}

#contact .label-radio + .label-radio {
	margin-left: 1em;
}

#contact .label-checkbox {
	display: inline-block;
	margin: .5em 0;
	min-width: 8.5em;
}
#contact .contact-header {
	padding: 50px 0;
	text-align: center;
}

#contact .contact-header p {
	font-size: 1.3rem;
	letter-spacing: .1rem;
	line-height: 1.8;
}

#contact .contact-header p + p {
	margin-top: 2em;
}

#contact .contact-attention {
	border-bottom: solid 1px #e5e5e5;
	font-size: 1.3rem;
	line-height: 1.8;
	padding: 15px 25px;
}


#contact .main-contents + .contact-body {
	margin-top: 40px;
}

#contact .contact-body {
	border-top: solid 1px #e5e5e5;
	border-bottom: solid 1px #e5e5e5;
	display: block;
	font-size: 1.3rem;
	margin: 0 auto 40px auto;
	max-width: 960px;
	min-width: 300px;
	width: 100%;
}

#contact .contact-form {
	border-bottom: none;
}

#contact .contact-title {
	border-bottom: solid 1px #e5e5e5;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: .2rem;
	line-height: 1;
	padding: 15px 25px;
	text-align: left;
}

#contact .contact-detail {
	text-align: left;
}

#contact .contact-phone-number,
#contact .contact-mail-address {
	color: #000;
	float: left;
	font-family: 'Yantramanav', sans-serif;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 4.2rem;
	margin: 25px;
	padding-right: 15px;
}

#contact .contact-phone-number {
	font-size: 3rem;
}

#contact .contact-phone-number:before {
	content: 'TEL.';
	display: inline-block;
	font-size: 1.6rem;
}

#contact .contact-info {
	border-left: dotted 1px #ccc;
	float: left;
	font-size: 1.3rem;
	line-height: 1.4rem;
	margin: 25px 0;
	padding-left: 20px;
}

#contact .contact-info li + li {
	margin-top: 1em;
}

#contact .contact-info li:first-child:before {
	color: #000;
	content: '【受付時間】';
	font-weight: bold;
}

#contact .contact-header .contact-header-post {
	font-size: 1.3rem;
	margin: 40px auto 0 auto;
	max-width: 940px;
	min-width: 290px;
	text-align: left;
}

#contact .contact-header .contact-header-post .caution {
	color: #bf0000;
	font-size: 1.2rem;
}

#contact .contact-header .contact-header-post p {
	font-size: 1.3rem;
	letter-spacing: .1rem;
}

/* confirm
------------------------------------ */

#contact .confirm-attention {
	border-bottom: solid 1px #e5e5e5;
	font-size: 1.4rem;
	line-height: 2;
	padding: 15px 25px;
	text-align: center;
}

#contact .confirm-attention span {
	color: #A37E39;
	font-weight: bold;
}


#contact .confirm-title {
	border: none;
	border-radius: 2px;
	display: table-cell;
	line-height: 1.6;
	padding: 0 .5em;
	vertical-align: middle;
	width: 33%;
}

#contact .confirm-body {
	border: none;
	border-radius: 2px;
	display: table-cell;
	line-height: 1.6;
	padding: 0 .5em;
	vertical-align: middle;
}

#contact .confirm-buttons {
	border-top: solid 1px #e5e5e5;
	padding: 40px 0;
	text-align: center;
}

#contact .form-container button.cancel {
	background: #888;
	display: inline-block;
	margin-right: 100px;
}

#contact .form-container button.send {
	display: inline-block;
}


#contact .contact-detail table {
	width: 100%;
}

#contact .confirm-title {
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 25px;
}

#contact .confirm-body {
	padding-top: 15px;
	padding-bottom: 15px;
}





/*# sourceMappingURL=style.css.map */
body {
    background: #fff;
    font-family: "brandon-grotesque", 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1;
    font-size: 14px;
    color: #444;
    font-feature-settings: "palt";
    letter-spacing: 1pt
}
header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    height: 90px;
    display: block;
    width: 100%;
}
#title {
    width: 160px;
    height: auto;
    margin-top: 20px;
    margin-right: 50px;
    margin-left: 20px;
    margin-bottom: 10px;
}
#navigation {
    width: 50%;
	position: absolute;
    top: 20px;
    left: 180px;
    z-index: 10;
    text-align: left;
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
    list-style: none;
}
#navigation .contents {
    width: auto;
    text-align: center;
    display: inline-block;
    margin-right: 30px;
    text-decoration: none;
    color: #e7417c;
    font-weight: bold;
    font-size: 15px;
}
#navigation .contents:hover {
    opacity: 0.5;
}
#snsnavi {
    width: 300px;
    height: 90px;
	display: flex;
	align-items: center;
}
#snsnavi .sns {
    width: 33px;
    display: inline-block;
    margin-left: 15px;
}
#snsnavi .sns:hover {
    opacity: 0.5;
}
nav #navileft {
    width: 50%;
    float: left;
    clear: both;
}
nav #naviright {
    float: right;
    width: 300px;
    height: 90px;
}

section {
}
#main {
    width: 100%;
	display: block;
    min-width: 960px;
    height: 700px;
    position: relative;
    top: 90px;
    margin-bottom: 90px;
    background-image: url(../images/main.jpg);
    background-position-x: center;
    background-position-y: top;
    background-size: cover;
    background-repeat-x: no-repeat;
    background-repeat-y: no-repeat;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
}
#navigation .sns {
    width: 3%;
    float: right;
    clear: none;
}
#naviright #snsnavi #navitwi {
    display: none;
}
#profile {
    width: 50%;
    padding-left: 8%;
    padding-top: 30px;
    float: left;
    clear: left;
}
#profile .name {
    color: #e7417c;
    padding-top: 0px;
    font-weight: bolder;
    font-size: 30pt;
    margin-bottom: 0px;
}
#profile p {
    line-height: 1.7em;
}
#profile .ruby {
    color: #e7417c;
    font-size: 14pt;
    font-weight: 900;
    margin-bottom: 0px;
}
.timeline {
    width: 50%;
    float: right;
    clear: right;
    margin-right: 4%;
    margin-top: 40px;
    display: none;
}
#policy {
}
#policy img {
    width: 100%;
    height: auto;
}
#activity_report .report {
    text-align: center;
    color: #e7417c;
    font-weight: 700;
}
#activity_report hr {
    width: 100%;
	background-color: #e7417c;
	height: 2px;
}
#activity_report {
    margin-top: 100px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
#activity_report article {
    width: 30%;
    height: auto;
}
#activity_report #artbox {
	display: flex;
	justify-content: space-between;
}
#artbox article .date {
    margin-top: 10px;
    font-size: 11pt;
    margin-bottom: 0px;
}
#artbox article img {
    width: 100%;
    height: auto;
    margin-top: 3px;
    margin-bottom: 10px;
}
#activity_report #artbox .text {
    width: 100%;
    text-align: justify;
    line-height: 1.5em;
    font-size: 12pt;
    font-weight: 200;
    letter-spacing : -0.1px;
    margin-bottom: 0px;
}
#artbox article h4 {
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 15pt;
}
#movies {
    margin-top: 100px;
	margin-borrom: 120px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
#movies .movie {
	text-align: center;
    color: #e7417c;
    font-weight: 700;
}

#movies hr {
    width: 100%;
    background-color: #e7417c;
    height: 2px;
    margin-bottom: 40px;
}
#ishin {
    text-align: right;
    height: 120px;
    padding-top: 30px;
    padding-right: 10%;
}
#ishin img {
    width: 300px;
}
.copyright {
    background-color: #e7417c;
    height: 50px;
    margin-top: 0px;
}
.adress {
    margin-bottom: 0px;
    background: linear-gradient(to right, #8cbb2a, #c2db8e);
    height: 150px;
    padding-top: 30px;
    padding-left: 60px;
}
.adress p {
    color: #FFFFFF;
    line-height: 1.5em;
    margin-top: 0px;
    font-size: 12pt;
}
.adress h3 {
    color: #FFFFFF;
    margin-bottom: 8px;
    font-size: 12pt;
    font-weight: 700;
    margin-top: 10px;
}
#gtco-offcanvas ul li a img {
    width: 20%;
}
	.clear:after {
  content: "";
  display: block;
  clear: both;
}
#information {
    padding-left: 4%;
    padding-right: 4%;
    padding-top: 40px;
    padding-bottom: 40px;
    margin-left: 4%;
    margin-right: 4%;
    margin-top: 50px;
    margin-bottom: 80px;
    border: 2px solid #e7417c;
}
#information h2 {
    width: 70pt;
    height: 30px;
    background-color: #e7417c;
    color: #FFFFFF;
    font-weight: 800;
    font-size: 16px;
	display: flex;
  	align-items: center;
	justify-content: center;
}
#information dl dt {
    font-size: 11pt;
	color: #e7417c;
}
#information dl dd {
    font-size: 14pt;
}
#information dl dd h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 0px;
    margin-top: 10px;
    color: #e7417c;
}
#information dl dd hr {
	width: 100%;
    height: 2px;
	color: #e7417c;
}
.b {
    font-weight: bolder;
}
.redtext {
    color: #C70003;
}
#youtube {
    text-align: center;
    width: 50%;
}
#tiktok {
    width: 50%;
    text-align: center;
}
#moviebox {
	display: flex;
}
#tiktok h5 {
    font-weight: 700;
    color: #51B7B2;
}
#youtube h5 {
    font-weight: 700;
    color: #E81F1F;
}
.gradient-banner {
    background: linear-gradient(to right, #8cbb2a, #c2db8e); /* 左→右のグラデーション */
    padding: 16px 8px;
    position: relative;
    color: white;
    margin-top: 60px;
}
.banner-text {
  font-size: 54px;
  margin: 0;
  padding: 0 4%;
  box-sizing: border-box;
  color: white;
  font-family: 'Noto Serif JP', serif;
  word-break: break-word;
  line-height: 1.4;
  text-align: left;
  max-width: 100%;
}
#description {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 200;
    font-size: 16px;
    line-height: 2em;
    margin-left: 4%;
	margin-right: 4%;
    margin-top: 20px;
}

.image-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 4%;
  gap: 10px;
}

.image-row a {
  width: calc(33.333% - 10px);
  text-align: center;
}

.image-row img {
  width: 100%;
  height: auto;
  display: block;
}

/* レスポンシブ */

/* スクリーンサイズが991px以上の場合に適用 */
@media only screen and (min-width: 991px) {
    #spimage {
 	display: none !important; 
}
	#policy {
	display: none !important; 
}
	#policy_pc {
    clear: both;
    margin-top: 40px;
}
	#policy_pc img {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 0px;
}
}

/* スクリーンサイズが990px以下の場合に適用 */
@media only screen and (max-width: 990px) {
    #main { display: none !important; 
}
	#spimage {
	display: block;
    width: 100%;
    height: auto;
    position: relative;
    top: 90px;
    margin-bottom: 90px;
    background-position-x: center;
    background-position-y: top;
    background-size: cover;
    background-repeat-x: no-repeat;
    background-repeat-y: no-repeat;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-image: url(../images/main_sp.jpg);
	aspect-ratio: 1 / 1;
}
	nav #naviright {
    display: none !important;
}
#navigation {
    width: 70%;
}
#profile .name {
    font-size: 22pt;
}
#profile p {
    line-height: 1.8em;
    font-size: 12pt;
}
#profile .ruby {
    font-size: 10pt;	
}
.timeline {
    margin-bottom: 30px;
}
#movies .movie {
	font-size: 16pt;
    margin-bottom: 0px;
    margin-top: 50px;
}
#movies hr {
    width: 100%;
    height: 2px;
}
#policy_pc img {
	display: none !important; 
}
}
/* スクリーンサイズが767px以下の場合に適用 */

@media only screen and (max-width: 767px) {
	
#navigation {
	display: none !important; 
}
.timeline {
    position: static !important;
    width: 90%;
    margin-right: 5%;
    margin-bottom: 40px;
    margin-top: 20px;
}
#profile {
    width: 100%;
    padding-left: 5%;
    padding-top: 3%;
    position: static;
}
#profile .name {
    font-size: 26pt;
}
#profile p {
    line-height: 1.7em;
    font-size: 14pt;
}
#profile .ruby {
    font-size: 12pt;
}
#activity_report article {
    width: 100%;
    margin-bottom: 40px;
}
#activity_report #artbox {
	display:block;
}
#activity_report {
    margin-top: 50px;
    width: 85%;
}
#activity_report .report {
    font-size: 16pt;
    margin-bottom: 0px;
    margin-top: 50px;
}
#activity_report hr {
	height: 1px;
}
#activity_report #artbox .text {
    width: 100%;
    text-align: justify;
    line-height: 1.5em;
    font-size: 12pt;
    letter-spacing : 0.1px;
    margin-bottom: 0px;
}
#artbox article h4 {
    margin-bottom: 4px;
    font-weight: 600;
    margin-top: 3px;
}
#movies {
    margin-top: 50px;
    width: 85%;
}
#movies .movie {
	font-size: 16pt;
    margin-bottom: 0px;
    margin-top: 50px;
}
#movies hr {
    width: 100%;
    height: 1px;
}
#ishin {
    height: 80px;
    padding-top: 30px;
    padding-right: 7%;
    padding-bottom: 20px;
}
#ishin img {
    width: 200px;
}
.adress {
    margin-bottom: 0px;
    height: 115px;
    padding-top: 10px;
    padding-left: 30px;
}
.adress p {
    font-size: 11pt;
}
.adress h3 {
    margin-bottom: 6px;
    font-size: 11pt;
    font-weight: 700;
    margin-top: 15px;
}
.copyright {
    height: 50px;
}
p .bottomtext {
    font-size: 9pt;
    margin-bottom: 30px;
}
#information {
    padding-left: 6%;
    padding-right: 6%;
    padding-top: 40px;
    padding-bottom: 20px;
    margin-left: 4%;
    margin-right: 4%;
    margin-top: 50px;
    margin-bottom: 80px;
    line-height: 1.4em;
}
#information h2 {
    width: 70pt;
    height: 30px;
    background-color: #e7417c;
    color: #FFFFFF;
    font-weight: 800;
    font-size: 16px;
	display: flex;
  	align-items: center;
	justify-content: center;
}
#information dl dt {
    font-size: 11pt;
	color: #e7417c;
}
#information dl dd {
    font-size: 13pt;
}
#information dl dd h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 0px;
    margin-top: 10px;
    color: #e7417c;
}
#information dl dd hr {
	width: 100%;
    height: 2px;
	color: #e7417c;
}
#moviebox {
    display: block;
}
#youtube {
    text-align: center;
    width: 100%;
}
#tiktok {
    width: 100%;
    text-align: center;
}
	#gtco-offcanvas ul #twis {
    display: none;
}
	#katagaki {
    color: #e7417c;
    font-size: 16pt;
    font-weight: 700;
    margin-bottom: 30px;
    margin-top: 0px;
}
  .image-row {
    flex-direction: column;
    gap: 20px; /* 縦並び時の間隔をちょっと広めに */
}

  .image-row a {
    width: 100%; /* 縦並びのときは全幅で */
}
#general-questions #description p {
    font-size: 15px;
    line-height: 1.5em;
}
.gradient-banner {
    margin-top: 20px;
}
.banner-text {
  font-size: 32px;
}
}
/* スクリーンサイズが1400px以上の場合に適用 */
@media only screen and (min-width: 1400px) {
    #main { display: none !important; 
}
   #spimage {
 	display: none !important; 
}
#longimage {
    width: 100%;
	display: block;
    min-width: 960px;
    height: 700px;
    position: relative;
    top: 90px;
    margin-bottom: 90px;
    background-image: url(../images/main_long.jpg);
    background-position-x: center;
    background-position-y: top;
    background-size: cover;
    background-repeat-x: no-repeat;
    background-repeat-y: no-repeat;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
}
}
