
#header{
  position: fixed;
  top: 0;
  background-color: #FFF;
  /* background-color: #F7F7CB; */
  width: 100%;
  z-index: 7;
  padding: 0 20px;
  text-align: center;
}
#header h1{
  margin: 0;
}
#header .header-inner{
  max-width: 1100px;
  margin: 0 auto;
  display:flex;
  justify-content: space-between;
  align-items: center;
}
#header .logo {
}
#header .logo-link{
  display: inline-block;
}
#header .logo-link h1 {
  float: left;
}
#header img {
  width: 200px;
  margin-bottom: 7px;
}
#header nav {

}

#header nav ul.dropdwn {
  display: block;
  width: auto;
  margin: 0;
}
#header nav ul.dropdwn li {
  display: inline-block;
  margin-right: 30px;
}


#header nav ul.dropdwn li:last-child {
  margin-right: 0;
}
#header nav ul.dropdwn li a {
  color: #000;
  position: relative;
  display: block;
}
#header nav ul.dropdwn li a::after {
    position: absolute;
    bottom: -8px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #333;
    opacity: 0;
    visibility: hidden;
    transition: .5s;
}
#header li a:hover::after {
  bottom: -4px;
  opacity: 1;
  visibility: visible;
}
#header nav ul.dropdwn li {
}
#header nav ul.dropdwn li a {
  color: #000;
}
#header nav ul.dropdwn li a span.en {
  font-size: 1rem;
  font-weight: 500;
}
#header nav ul.dropdwn li a span.ja {
  font-size: 0.8rem;
  position: relative;
  top: -6px;
}

#header nav ul.dropdwn li ul.dropdwn_menu{
    width: auto;
    display: none;
    position: absolute;
    margin-left: 0px;
    margin-top: 0px;
    padding: 0;
}

#header nav ul.dropdwn li ul.dropdwn_menu li{
    width: 100%;
}

#header nav ul.dropdwn li ul.dropdwn_menu li a{
    padding: 5px 0;
    margin: -5px 5px -5px 0px;
    display: block;
    color: #000;
    text-align: left;
    font-size: 0.8rem;
    font-weight: 500;
}

@media screen and (max-width:1100px){
  #header{
  }
  #header .logo {
  }
  #header .logo-link{
    display: block;
  }
  #header .logo-link h1 {
  }
  #header.logo-link h1 img {
    width: 180px;
  }
  #header nav {
  }
  #header nav ul {
  }
  #header nav ul li {
  }
  #header nav ul li a {
  }
}
@media screen and (max-width:639px){
  #header{
  }
  #header .logo {
  }
  #header .logo-link{
  }
  #header .logo-link h1 {
  }
  #header .logo-link h1 img {
    width: 140px;
  }
  #header nav {
  }
  #header nav ul {
  }
  #header nav ul li {
  }
  #header nav ul li a {
  }
}
@media screen and (max-width:1100px){}

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


.contents-inner {
  max-width: 1100px;
  margin: 0 auto;
}
h2 {
  text-align: center;
  padding: 60px 0 50px;
}
h2 .en{
  font-size: 2.3rem;
}
h2 .ja{
  font-size: 1.2rem;
  font-weight: 300;
  position: relative;
  top: -10px;
}
#main {
    padding: 50px 0 0;
}
@media screen and (max-width:1100px){
  h2 {
    padding: 50px 0 50px;
  }
  #main {}
}
@media screen and (max-width:639px){
#main {}
}



/*============================
#about
============================*/
#about {
}
h2 {
  text-align: center;
}
#about h2 span.en {
}
#about h2 span.ja {
}
#about .contents-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 10px;
}
#about .contents-inner dl {
  max-width: 960px;
  margin: 0 auto;
  padding: 45px 80px;
  background-color: #fff;
  box-shadow: 0px 3px 6px rgba(0,0,0,0.25);
}
#about .contents-inner dl dt {
  float: left;
  clear: both;
  font-size: 1rem;
  padding: 20px;
}
#about .contents-inner dl dd {
  padding: 20px 0 20px 260px;
  margin: 0;
  font-size: 1rem;
  border-bottom: solid 1px #ccc;
}

@media screen and (max-width:1100px){
  #about .contents-inner dl {
    padding: 35px 40px;
  }
  #about .contents-inner dl dd {
    padding: 20px 0 20px 160px;
  }

}

@media screen and (max-width:639px){}
  #about .contents-inner dl {
    padding: 25px 25px;
  }

/*============================
#member
============================*/
#member {
}
#member .contents-inner {
  max-width: 1100px;
  margin: 0 auto;
}
#member .contents-inner .member-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 70px;
}
#member .contents-inner .member-wrap figure {
  width: 33%;
  padding: 0 20px 40px 30px;
}
#member .contents-inner .member-wrap figure img {
  border-radius: 30px;
}
#member .contents-inner .member-wrap figure p {
}
#member .contents-inner .member-wrap figure figcaption {
}
#member .contents-inner .member-wrap figure figcaption h3 {
}
@media screen and (max-width:1100px){
  #member .contents-inner .member-wrap {
    margin-bottom: 50px;
    padding: 0 20px;
  }
  #member .contents-inner .member-wrap figure img {
    width: 100%;
  }
  #member .contents-inner .member-wrap figure {
    width: 50%;
    padding: 0 20px 0;
  }
}

@media screen and (max-width:639px){
  #member .contents-inner .member-wrap {
    margin-bottom: 50px;
    padding: 0 20px;
  }
  #member .contents-inner .member-wrap figure img {
    width: 100%;
  }
  #member .contents-inner .member-wrap figure {
    width: 100%;
    padding: 0 15px 30px;
  }
}


/*============================
#service
============================*/
#service {
}
#service .contents-inner {
  max-width: 1100px;
  margin: 0 auto;
}
#service .contents-inner h2 {
}
#service .contents-inner h2 span.en {
}
#service .contents-inner h2 span.ja {
}
#service .contents-inner h3 {
  width: 100%;
  font-size: 1.2rem;
  padding: 20px 0;
  margin: 0 0 30px;
  border-radius: 60px;
  background-color: rgba(0, 0, 0, 0.05);
  text-align: center;
}
#service .contents-inner p {
  margin-bottom: 50px;
  font-size: 1rem;
  padding: 0 50px 0;
  line-height: 2;
}
#service .contents-inner ul {
  margin-bottom: 70px;
  display: flex;
  flex-wrap: wrap;
}
#service .contents-inner ul li {
  margin-right: 40px;
  position: relative;
  margin-bottom: 10px;
}
#service .contents-inner ul li::after{
  content: "/";
  position: absolute;
  top: calc(50% - 13px);
  right: -25px;
}
#service .contents-inner ul li:last-child::after{
  display: none;
}
@media screen and (max-width:1100px){
  #service .contents-inner {
    padding: 30px;
  }
  #service .contents-inner h3 {
    margin: 20px 0 40px;
    padding: 20px 10px;
  }
}

@media screen and (max-width:639px){
  #service .contents-inner h3 {
  }
  #service .contents-inner {
    padding: 15px;
  }
}
@media screen and (max-width:385px){
  #service .contents-inner ul li::after{
    display: none;
  }
}

/*============================
#philosophy
============================*/
#philosophy {
  text-align: center;
}
#philosophy .contents-inner {
  max-width: 1100px;
  margin: 0 auto;
}
#philosophy .contents-inner h2 {
}
#philosophy .contents-inner h2 span.en {
}
#philosophy .contents-inner h2 span.ja {
}
#philosophy .contents-inner h3 {
  width: 100%;
  font-size: 1.2rem;
  padding: 20px 0;
  margin: 0 0 30px;
  border-radius: 60px;
  background-color: rgba(0, 0, 0, 0.05);
  text-align: center;
}
#philosophy .contents-inner p {
  margin-bottom: 50px;
  line-height: 2.3rem;
}
#philosophy .contents-inner ul {
  margin-bottom: 70px;
  padding: 0;
}
#philosophy .contents-inner ul li {
  margin-bottom: 13px;
}

@media screen and (max-width:1100px){
  #philosophy .contents-inner {
    padding: 30px;
  }
  #philosophy .contents-inner h3 {
    margin: 20px 0 30px;
    padding: 20px 10px;
  }
}

@media screen and (max-width:639px){
  #philosophy .contents-inner h3 {
  }
  #philosophy .contents-inner {
    padding: 15px;
  }
}

/*============================
#message
============================*/
#message {
}
#message h2 {
}
#message h2 span.en {
}
#message h2 span.ja {
}
#message .contents-inner {
  display: flex;
}
#message .contents-inner figure {
  width: 30%;
}
#message .contents-inner figure img {
  border-radius: 30px;
}
#message .contents-inner .message-area {
  width: 70%;
  padding: 0 40px 30px;
}
#message .contents-inner .message-area h3 {
  margin-bottom: 30px;
  font-size: 1.7rem;
  font-weight: 500;
}
#message .contents-inner .message-area p {
  margin-bottom: 1em;
  font-size: 1rem;
  line-height: 2;
}
#message .contents-inner .message-area p.sign {
  margin-bottom: 50px;
  float: right;
  clear: both;
  text-align: right;
  font-weight: 500;

}
#message .contents-inner .message-area p.sign span.sign-company {
  font-size: 0.7rem;
}
#message .contents-inner .message-area p.sign span.sign-ceo {
  font-size: 1.5rem;
}

@media screen and (max-width:1100px){
  #message .contents-inner {
    padding: 0 15px;
  }
  #message .contents-inner .message-area {
    padding: 0 0 0 20px;
    overflow: hidden;
  }
}
@media screen and (max-width:639px){
  #message .contents-inner {
    display: block;
  }
  #message .contents-inner figure {
    width: 100%;
    margin: 0 0 30px;
  }
  #message .contents-inner figure img {
    width: 100%;
  }
  #message .contents-inner .message-area {
    width: 100%;
    padding: 0;
  }
}

/*============================
#contact
============================*/
#contact {
}
#contact .contents-inner {
}
#contact .contents-inner h2 {
}
#contact .contents-inner h2 span.en {
}
#contact .contents-inner h2 span.ja {
}
#contact .contents-inner h3 {
  width: 100%;
  font-size: 1.2rem;
  padding: 20px 0;
  margin: 0 0 30px;
  border-radius: 60px;
  background-color: rgba(0, 0, 0, 0.05);
  text-align: center;
}
#contact .contents-inner p {
  text-align: center;
  margin-bottom: 40px;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 1100px){
  #contact .contents-inner {
    padding: 30px;
  }
  #contact .contents-inner h3 {
    margin: 20px 0 30px;
    padding: 20px 10px;
  }
  h2 {
  }
}
@media screen and (max-width:639px){
  #contact .contents-inner {
    padding: 15px;
  }
}

/*============================
#news
============================*/
#news {
}
#news h2 {
}
#news h2 span.en {
}
#news h2 span.ja {
}
#news .contents-inner {
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 55px;
}
#news .contents-inner figure {
  margin: 0 20px 25px;
  padding: 10px;
  width: calc(33% - 40px);
  background-color: #fff;
  box-shadow: 0 3px 6px rgb(0 0 0 / 15%);
}
#news .contents-inner figure time {
  display: block;
  margin-bottom: 14px;
  font-size: 1rem;
}
#news .contents-inner figure img {
  margin-bottom: 10px;
  width: 100%;
}
#news .contents-inner figure a {
  display: block;
  font-weight: 300;
}
#news .contents-inner figure figcaption {
}
#news .contents-inner figure figcaption h3 {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 1100px){
  #news .contents-inner figure {
    margin: 0 15px 25px;
    padding: 20px;
    width: calc(50% - 30px);
  }
  #news .contents-inner {
    padding: 0 15px;
  }
}
@media screen and (max-width:639px){
  #news .contents-inner {
    padding: 0 10px;
    display: block;
  }
  #news .contents-inner figure {
    padding: 20px;
    width: calc(100% - 30px);
  }
}

.contact-form {
  max-width: 900px;
  margin: 0 auto;
  background-color: #fff;
  padding: 80px 80px 1px;
  margin: 0 auto 40px;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.15);
}
.contact-form dt {
  font-weight: 500;
  float: left;
}
.contact-form dt .must {
  font-weight: 300;
  color: red;
  font-size: 14px;
  position: relative;
  right: -9px;
}
.contact-form dd {
  margin: 0 0 50px 250px;
}
input[type="tel"],
input[type="email"],
input[type="text"],
textarea{
  display: block;
  width: 100%;
  height: 45px;
  margin-bottom: 0;
  padding: 0 12px;
  border: solid 1px #CCC;
  border-radius: 3px;
  background-color: #fff;
  box-shadow: none;
  color: #5c6b80;
  font-size: 1em;
  border-width: 1px;
}
textarea{
  width: 100%;
  height: 180px;
  line-height: 1.5em;
  padding: 10px;
  overflow: auto;
  border: soled 1px #000;
  border-radius: 3px;
  background-color: #fff;
  box-shadow: none;
  color: #5c6b80;
  font-size: 1em;
}
input[type="submit"] {
  margin: 30px auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  justify-content: center;
  align-items: center;
  background-color: #FFB641;
  color: #FFF;
  width: 480px;
  height: 60px;
  border-radius: 5px;
  font-size: 1.5em;
  font-weight: 500;
}

@media screen and (max-width:1100px){
  .contact-form {
    padding: 60px 40px 1px;
    margin: 0 auto 30px;
  }
  .contact-form dd {
    margin: 0 0 40px 250px;
  }
}
@media screen and (max-width:639px){
  .contact-form dt {
    float: none;
  }
  .contact-form dd {
    margin: 8px 0 30px 0px;
  }
  input[type="submit"] {
    width: 80%;
  }
  .contact-form {
    padding: 50px 20px 1px;
  }
  .agreement .inner {
    padding: 15px;
  }
.agreement .inner dl dd ol {
    padding: 0;
  }
  .agreement .inner dl dd {
    margin-left: 20px;
  }
}

/*============================
#single
============================*/
#single {
}
#single h2.section-title {
}
#single .single-inner {
  text-align: left;
  max-width: 1100px;
  margin: 0 auto;
}
#single .single-inner .eyecatch-image {
  text-align: center;
  margin: 0 0 20px;
}
#single .single-inner .eyecatch-image img {
}
#single .single-inner .date {
}
#single .single-inner .date p {text-align: center;font-size: 0.8rem;}
#single .single-inner .title {
}
#single .single-inner .title h3 {
  margin: 0px 0 0px;
  padding: 20px 0;
  font-size: 1.5rem;
  text-align: center;
}
#single .single-inner .text {background: #FFF;max-width: 960px;margin: 0 auto 50px;padding: 20px 20px;box-shadow: 0 3px 6px rgba(0,0,0,0.15);}
#single .single-inner .text p {line-height: 1.8;font-size: 1rem;margin: 0 0 1em;}
