@charset "utf-8";
/*
Theme Name: RD THEME
Author: RUSH DESIGN
Version: 1.0.0
*/
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Poppins:wght@800&display=swap);
/******************************************************
font読み込み
******************************************************/
@font-face {
   font-family: "Noto Sans JP";
   font-style: normal;
   font-weight: 400;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format("woff2"),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format("woff"),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format("opentype");
}
/******************************************************
リセット
******************************************************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
  font-weight: normal;
	font: inherit;
	vertical-align: middle;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
html, body {
  margin: 0;
	padding: 0;
	border: 0;
  color: #333;
	font-size: 100%;
  font-weight: normal;
	font: inherit;
	vertical-align: middle;
  word-break : break-all;
}
html {
  font-size: 62.5%;
}
body {
  position: relative;
  font-size: 14px;
	font-size: 1.4rem;
  line-height: 2;
  font-weight: normal;
  font-family: "游明朝体", "Yu Mincho", "Hiragino Mincho Pro", "Hiragino Mincho ProN", YuMincho, "MS PMincho", "Times New Roman", serif;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  line-height: 1.5;
}
table, th, td {
  border-collapse: collapse;
  font-weight: normal;
}
dl, dt, dd {
  margin: 0;
  padding: 0;
}
p, ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul, ol {
  font-size: 0;
  text-align: left;
}
li {
  font-size: 1.4rem;
}
img {
  max-width: 100%;
	height: auto;
  vertical-align: middle;
}
a {
  color: #333;
  text-decoration: none;
  vertical-align: baseline;
  border:none;
  outline:none;
}
span {
  vertical-align: baseline;
}
*:focus {
  outline: none;
}
/******************************************************
animate.css カスタマイズ
******************************************************/
@keyframes fadeInUpHalf {
  from {
    opacity: 0;
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUpHalf {
  animation-name: fadeInUpHalf;
  animation-duration: 2.5s;
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-moz-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
/******************************************************
iPhoneリセット
******************************************************/
.clearfix:after,
.inner:after,
.l_inner:after,
.box:after,
.s_box:after {
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  line-height: 0;
  clear: both;
  visibility: hidden;
}
/******************************************************
iPhoneリセット
******************************************************/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
input[type=text], input[type=email], input[type=tel], textarea, select {
  box-sizing: border-box;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  outline: none;
  -webkit-appearance:none;
  border-radius: 0;
  box-shadow: none;
  border: 1px solid #ccc;
}
/******************************************************
レスポンシブ
******************************************************/
.pc, .tab, .sp {display: none;}
.inner {position: relative;}
@media screen and (max-width: 767px){
  .inner,
  .l_inner {
    margin: 0 1.5rem;
  }
  .sp {display: block;}
  .sp-left {text-align:left!important;}
  .sp-right {text-align:right!important;}
  .sp-center {text-align:center!important;}
  .sp_image {
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 768px) {
  .l_inner {
    width: 1300px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5rem;
    box-sizing: border-box;
  }
  .inner {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5rem;
    box-sizing: border-box;
  }
  #page .inner {
    width: 1100px;
  }
  .pc {display: block;}
  .pc-left {text-align:left!important;}
  .pc-right {text-align:right!important;}
  .pc-center {text-align:center!important;}
  .sp_image {
    display: none;
  }
}
/******************************************************
基本フォント
******************************************************/
.text-center {text-align: center;}
.text-right {text-align: right;}
.text-left {text-align: left;}
.sans {font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;}
.serif {font-family: "游明朝体", "Yu Mincho", "Hiragino Mincho Pro", "Hiragino Mincho ProN", YuMincho, "MS PMincho", "Times New Roman", serif;}
.bold {font-weight: bold;}
/******************************************************
パンくず
******************************************************/
#breadcrumb {
  padding: 1em 0;
  background: #fdffe4;
}
#breadcrumb li {
  display: inline-block;
  color: #999;
  font-size: 1.2rem;
}
#breadcrumb li a {
  color: #b1e10d;
}
#breadcrumb li a:hover {
  color: #999;
}
#breadcrumb li a.breadcrumb_home:before {
  content: "\f015";
  font-family: "FontAwesome";
  margin-right: .5em;
}
#breadcrumb li:after {
  content: "\f105";
  font-family: "FontAwesome";
  margin: 0 .5em;
}
#breadcrumb li:last-child:after {
  content: none;
  margin: 0;
}
/******************************************************
ページネーション
******************************************************/
#pagination ul {
  text-align: center;
}
#pagination li {
  display: inline-block;
  margin-right: .3rem;
  font-size: 1.2rem;
}
#pagination li:last-child {
  margin-right: 0;
}
#pagination li a,
#pagination li span {
  display: block;
  width: 3rem;
  height: 3rem;
  color: #fff;
  line-height: 3rem;
  background: #ccc;
}
#pagination li a:hover {
  background: #b1e10d;
}
#pagination li span.current {
  background: #b1e10d;
}
#pagination li span.dots {
  color: #b1e10d;
  background: none;
}
/******************************************************
トップページ
******************************************************/
@media screen and (min-width:1025px) {
  .main_title {
    margin-bottom: 4rem;
    font-size: 2.8rem;
  }
  #top_main {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 100vh;
    padding: 0;
    background: url(/wp-content/uploads/images/main_img001.jpg) top center no-repeat;
    background-size: cover;
    overflow: hidden;
  }
  #top_main .logo {
    width: 50%;
    margin-left: auto;
    text-align: center;
  }
  #top_main .logo img {
    width: 8vw;
  }
  #top_information {
    padding: 8rem 0 10rem;
    color: #fff;
    background: #000;
  }
  #top_information h2 {
    text-align: center;
  }
  #top_information .information_list {
    border-top: 1px dotted #808080;
  }
  #top_information .information_list .list {
    border-bottom: 1px dotted #808080;
  }
  #top_information .information_list .list {
    display: flex;
    flex-wrap: wrap;
    padding: 1em 0;
  }
  #top_information .information_list .list time,
  #top_information .information_list .list h3 {
    line-height: 1.5;
    vertical-align: baseline;
  }
  #top_information .information_list .list time {
    width: 100px;
  }
  #top_information .information_list .list h3 {
    width: calc(100% - 100px);
  }
  #top_message {
    padding: 8rem 0 10rem;
    color: #fff;
    background: url(/wp-content/uploads/images/top_bg001.jpg) top center no-repeat fixed;
    background-size: cover;
  }
  #top_message h2 {
    text-align: center;
  }
  #top_message .message {
    font-size: 2rem;
    line-height: 3;
    text-align: center;
    letter-spacing: .2em;
  }
  #top_message .message p:nth-child(n+2) {
    margin-top: 1em;
  }
  #top_works {
    padding: 8rem 0 10rem;
    color: #fff;
    background: #590000;
  }
  #top_works h2 {
    text-align: center;
  }
  #top_works .works_list {
    display: flex;
    flex-wrap: wrap;
  }
  #top_works .works_list .list {
    width: calc(25% - 3px);
    margin-right: 4px;
  }
  #top_works .works_list .list:nth-child(4n) {
    margin-right: 0;
  }
  #top_works .works_list .list:nth-child(n+5) {
    margin-top: 4px;
  }
  #top_introduction {
    padding: 8rem 0 10rem;
    color: #fff;
    background: url(/wp-content/uploads/images/top_bg002.jpg) top center no-repeat fixed;
    background-size: cover;
  }
  #top_introduction .introduction {
    width: 80%;
    margin-left: auto;
  }
  #top_introduction .introduction h3 span {
    font-size: 2rem;
  }
  #top_introduction .introduction p:nth-child(n+2) {
    margin-top: 1em;
  }
  #top_introduction .introduction_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #top_introduction .introduction_list .list {
    width: calc(50% - 2rem);
  }
  #top_introduction .introduction_list .list h3 {
    font-size: 1.8rem;
    font-weight: bold;
  }
  #top_introduction .introduction_list .list .after {
    text-align: right;
  }
  #top_school {
    padding: 8rem 0 10rem;
    color: #fff;
    background: #000;
  }
  #top_school h2 {
    text-align: center;
  }
  #top_school .school {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  #top_school .school .image {
    width: calc(50% - 3rem);
  }
  #top_school .school .data {
    width: calc(50% - 3rem);
  }
  #top_school .school .data table {
    width: 100%;
    margin-bottom: 1em;
    table-layout: fixed;
    text-align: left;
  }
  #top_school .school .data th,
  #top_school .school .data td {
    padding-bottom: 1rem;
    vertical-align: top;
  }
  #top_school .school .data th {
    width: 30%;
  }
  #top_school .school .data table p:nth-child(n+2) {
    margin-top: 1em;
  }
  #f_map .map {
    margin: 0!important;
    height: 0;
    overflow: hidden;
    padding-bottom: 480px;
    position: relative;
  }
  #f_map .map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
  }
  #f_contact {
    padding: 8rem 0 10rem;
    color: #fff;
    text-align: center;
    background: #590000;
  }
  #f_contact .contact_form {
    padding: 5rem;
    color: #000;
    background: #fff;
  }
  #f_contact .contact_form p {
    margin-bottom: 3rem;
    color: #8a8000;
  }
  #f_contact .contact_form table {
    width: 100%;
    margin-bottom: 3rem;
    table-layout: fixed;
    border-top: 1px solid #ccc;
  }
  #f_contact .contact_form tr {
    border-bottom: 1px solid #ccc;
  }
  #f_contact .contact_form th,
  #f_contact .contact_form td {
    position: relative;
    padding: .5rem 0;
    text-align: left;
  }
  #f_contact .contact_form th {
    width: 30%;    
  }
  #f_contact .contact_form th:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 1rem;
    margin-top: -1.5rem;
    padding: 0 1em;
    content: "必須";
    color: #fff;
    line-height: 3rem;
    background: #8a8000;
  }
  #f_contact .contact_form input[type=text],
  #f_contact .contact_form input[type=email],
  #f_contact .contact_form textarea {
    width: 100%;
    padding: 1rem;
    border: none;
    background: #f2f2f2;
  }
  #f_contact .contact_form .submit input[type=submit] {
    width: 420px;
    color: #fff;
    font-size: 1.6rem;
    text-aling: center;
    line-height: 6rem;
    border-radius: 3rem;
    background: #a40000;
  }
  #copyright {
    color: #fff;
    text-align: center;
    line-height: 7rem;
    background: #000;
  }
}
@media screen and (max-width:1024px) {
  .main_title {
    margin-bottom: 3rem;
    font-size: 2.4rem;
  }
  #top_main {
    display: flex;
    justify-content: flex-end;
    min-height: 65vh;
    padding: 0;
    background: url(/wp-content/uploads/images/main_img001sp.jpg) top center no-repeat;
    background-size: cover;
    overflow: hidden;
  }
  #top_main .logo {
    width: 50%;
    margin-left: auto;
    padding: 3rem;
    text-align: right;
    box-sizing: border-box;
  }
  #top_main .logo img {
    width: 12vw;
  }
  #top_information {
    padding: 5rem 0;
    color: #fff;
    background: #000;
  }
  #top_information h2 {
    text-align: center;
  }
  #top_information .information_list {
    border-top: 1px dotted #808080;
  }
  #top_information .information_list .list {
    border-bottom: 1px dotted #808080;
  }
  #top_information .information_list .list {
    display: block;
    padding: 1em 0;
  }
  #top_information .information_list .list time,
  #top_information .information_list .list h3 {
    line-height: 1.5;
    vertical-align: baseline;
  }
  #top_information .information_list .list time {
    display: block;
  }
  #top_information .information_list .list h3 {}
  #top_message {
    padding: 5rem 0;
    color: #fff;
    background: url(/wp-content/uploads/images/top_bg001sp.jpg) top center no-repeat fixed;
    background-size: cover;
  }
  #top_message h2 {
    text-align: center;
  }
  #top_message .message {
    font-size: 1.6rem;
    line-height: 3;
    text-align: center;
    letter-spacing: .2em;
  }
  #top_message .message p:nth-child(n+2) {
    margin-top: 1em;
  }
  #top_works {
    padding: 5rem 0;
    color: #fff;
    background: #590000;
  }
  #top_works h2 {
    text-align: center;
  }
  #top_works .works_list {
    display: flex;
    flex-wrap: wrap;
  }
  #top_works .works_list .list {
    width: calc(50% - 2px);
    margin-right: 4px;
  }
  #top_works .works_list .list:nth-child(2n) {
    margin-right: 0;
  }
  #top_works .works_list .list:nth-child(n+3) {
    margin-top: 4px;
  }
  #top_introduction {
    padding: 5rem 0;
    color: #fff;
    background: url(/wp-content/uploads/images/top_bg002sp.jpg) top center no-repeat fixed;
    background-size: cover;
  }
  #top_introduction .introduction {}
  #top_introduction .introduction h3 span {
    font-size: 2rem;
  }
  #top_introduction .introduction p:nth-child(n+2) {
    margin-top: 1em;
  }
  #top_introduction .introduction_list .list h3 {
    font-size: 1.8rem;
    font-weight: bold;
  }  
  #top_introduction .introduction_list .after {
    text-align: right;
  }
  #top_introduction .introduction_list .list:nth-child(n+2) {
    margin-top: 3rem;
  }
  #top_school {
    padding: 5rem 0;
    color: #fff;
    background: #000;
  }
  #top_school h2 {
    text-align: center;
  }
  #top_school .school {}
  #top_school .school .image {
    margin-bottom: 3rem;
  }
  #top_school .school .data {}
  #top_school .school .data table {
    width: 100%;
    margin-bottom: 1em;
    table-layout: fixed;
    text-align: left;
  }
  #top_school .school .data th,
  #top_school .school .data td {
    padding-bottom: 1rem;
    vertical-align: top;
  }
  #top_school .school .data th {
    width: 35%;
  }
  #top_school .school .data table p:nth-child(n+2) {
    margin-top: 1em;
  }  
  #f_map .map {
    margin: 0!important;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
  }
  #f_map .map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
  }
  #f_contact {
    padding: 5rem 0;
    color: #fff;
    text-align: center;
    background: #590000;
  }
  #f_contact .contact_form {
    padding: 3rem;
    color: #000;
    background: #fff;
  }
  #f_contact .contact_form p {
    margin-bottom: 3rem;
    color: #8a8000;
  }
  #f_contact .contact_form table {
    width: 100%;
    margin-bottom: 3rem;
    table-layout: fixed;
    border-top: 1px solid #ccc;
  }
  #f_contact .contact_form tr {
    border-bottom: 1px solid #ccc;
  }
  #f_contact .contact_form th,
  #f_contact .contact_form td {
    display: block;
    width: 100%;
    position: relative;
    padding: 1rem 0 .5rem;
    text-align: left;
  }
  #f_contact .contact_form td {
    paddign: .5rem 0 1rem;
  }
  #f_contact .contact_form th {}
  #f_contact .contact_form th:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 1rem;
    margin-top: -1rem;
    padding: 0 1em;
    content: "必須";
    color: #fff;
    font-size: 1.2rem;
    line-height: 2.5rem;
    background: #8a8000;
  }
  #f_contact .contact_form input[type=text],
  #f_contact .contact_form input[type=email],
  #f_contact .contact_form textarea {
    width: 100%;
    padding: 1rem;
    border: none;
    background: #f2f2f2;
  }
  #f_contact .contact_form .submit input[type=submit] {
    width: 100%;
    color: #fff;
    font-size: 1.6rem;
    text-aling: center;
    line-height: 5rem;
    border-radius: 2.5rem;
    background: #a40000;
  }
  #copyright {
    color: #fff;
    text-align: center;
    line-height: 7rem;
    background: #000;
  }
}