@charset "UTF-8";
@font-face {
  font-family: "notosans-thin";
  src: url("../font/NotoSansJP-Thin.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "notosans-l";
  src: url("../font/NotoSansJP-Light.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "notosans-r";
  src: url("../font/NotoSansJP-Regular.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "notosans-m";
  src: url("../font/NotoSansJP-Medium.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "notosans-b";
  src: url("../font/NotoSansJP-Bold.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "roboto-bl";
  src: url("../font/Roboto-Black.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "roboto-l";
  src: url("../font/Roboto-Light.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "roboto-thin";
  src: url("../font/Roboto-Thin.woff") format("woff");
  font-display: swap; }
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

@media screen and (min-width: 320px) {
  html {
    font-size: 12px; } }
@media screen and (min-width: 600px) {
  html {
    font-size: 16px; } }
@media screen and (min-width: 960px) {
  html {
    font-size: 17px; } }
@-ms-viewport {
  width: device-width; }
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block; }

body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #333;
  text-align: left;
  background-color: #fff; }

[tabindex="-1"]:focus {
  outline: 0 !important; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0; }

p {
  margin: 0;
  padding: 0; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  list-style: none;
  margin: 0;
  padding: 0; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin: 0; }

dt {
  margin-bottom: 0;
  font-weight: normal; }

dd {
  margin-bottom: 0;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

dfn {
  font-style: italic; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #0072d2;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }

a:hover {
  color: #0072d2;
  text-decoration: none; }

a:not([href]):not([tabindex]) {
  text-decoration: none; }

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  text-decoration: none; }

a:not([href]):not([tabindex]):focus {
  outline: 0; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: top; }

th {
  text-align: inherit; }

label {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0; }

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

input::placeholder {
  color: #acacac; }

input:-ms-input-placeholder {
  color: #acacac; }

input::-ms-input-placeholder {
  color: #acacac; }

input[type="text"],
input[type="password"],
textarea,
select {
  padding: 0.5rem;
  border: solid 1px #acacac;
  border-radius: 0.25rem; }

body {
  background-color: #fff;
  font-size: 1rem;
  font-family: "notosans-r", sans-serif;
  font-weight: normal;
  font-feature-settings: "palt";
  line-height: 2em;
  color: #555; }

h1, h2, h3, h4, h5, h6, p, li a {
  letter-spacing: 0.025em; }

/*------------------------------------------------------------------------------
  共通パーツ
------------------------------------------------------------------------------*/

.br-o600,
.br-o768,
.br-o960,
.br-o1140,
.br-o1280,
.br-o1340 {
  display: none; }

.btn-box02{
	margin: auto;
	padding: 30px 0;
	max-width: 267px;
	font-family: "josefinsans-sb";
	font-size: 0.8rem;}

a.btn{
	display: flex;
	align-items: center;
	margin-top: 0.8rem;
	position: relative;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	transition-duration: 0.3s;
	justify-content: center;
	width: 100%;
	height: 50px;
	background: #0072D2;
	border: 1px solid #0072D2;
	padding: 0 25px 0 40px;
	color: #fff;}
	
a.btn:after{
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	transform: rotate(45deg);
	position: absolute;
	top: 55%;
	right: 30px;
	margin-top: -6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;}

a.btn:hover {
	background: #fff;
	color: #0072D2; }

a.btn:hover:after {
	border-top: 2px solid #0072D2;
	border-right: 2px solid #0072D2; }

  .about_title_bg {
    background: url("../img/about_mv_s.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .priest_title_bg {
    background: url("../img/priest_mv_s.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .guide_title_bg {
    background: url("../img/guide_mv_s.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .acsess_title_bg {
    background: url("../img/acsess_mv_s.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .info_title_bg {
    background: url(../img/info_mv_s.jpg) no-repeat center bottom;
    background-size: cover; }

  .privacy_title_bg {
    background: url(../img/privacy_mv_s.jpg) no-repeat center bottom;
    background-size: cover; }
	
  .contact_title_bg {
    background: url(../img/contact_mv_s.jpg) no-repeat center bottom;
    background-size: cover; }

.menu1_title_bg {
  background: url(../img/menu1_mv_s.jpg) no-repeat center bottom;
  background-size: 100% auto; }

.menu2_title_bg {
  background: url(../img/menu2_mv_s.jpg) no-repeat center bottom;
  background-size: 100% auto; }

.menu3_title_bg {
  background: url(../img/menu3_mv_s.jpg) no-repeat center bottom;
  background-size: 100% auto; }

.menu4_title_bg {
  background: url(../img/menu4_mv_s.jpg) no-repeat center bottom;
  background-size: 100% auto; }

/*------------------------------------------------------------------------------
  TOPページ
------------------------------------------------------------------------------*/

header {
  width: 100%;
  height: 6rem;
  background: white; }

.header_logo {
  margin-left: 1rem; }
  .header_logo a {
    display: inline-block;
    height: 6rem;
    font-family: "notosans-b", sans-serif;
    font-weight: normal;
    font-size: 2rem;
    line-height: 6rem;
    color: #333; }

.global_navi {
  display: none;
  position: fixed;
  top: 0;
  z-index: 3000;
  width: 100%;
  height: 100%;
  padding-top: 72px;
  overflow: auto;
  background-color: rgba(255, 255, 255, 0.9); }
  .global_navi ul {
    list-style: none;
    margin: 0;
    padding: 0 1rem 2rem;
    font-size: 1.5rem; }
  .global_navi li {
    margin-bottom: 2rem; }
  .global_navi li a {
    display: block;
    padding: 1.5rem 0;
    border-bottom: solid 1px #dcdcdc;
    color: #333; }
  .global_navi li span {
    display: block;
    font-size: 1rem; }

.global_navi_inner {
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch; }

.navi_child_box ul {
  margin-top: 1rem;
  margin-left: 1rem;
  font-size: 1.16rem;
  padding: 0; }
  .navi_child_box ul li {
    margin-bottom: 0; }
  .navi_child_box ul li a {
    border-bottom: dashed 1px #5c5c5c;
    color: #dcdcdc; }

.contact_menu {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 900;
  width: 100%;
  padding: 1.5rem 0 1.25rem;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 0;
  text-align: center; }
  .contact_menu .contact_form,
  .contact_menu .contact_tel {
    text-align: center;
    width: 45vw;
    height: 3.33rem;
    background-color: #03042b;
    color: #fff;
    vertical-align: top;
    line-height: 3.33rem; }
  .contact_menu a {
    display: inline-block;
    width: 100%;
    color: #fff; }
  .contact_menu .contact_form {
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 14px; }
    .contact_menu .contact_form span {
      display: inline-block;
      /*min-height:1.75rem;*/
      padding-left: 2rem;
      background: url(../img/icn_form.svg) no-repeat left center;
      background-size: 1.55rem 1.16rem;
      /*line-height:1.75rem;*/ }
  .contact_menu .contact_tel {
    display: inline-block;
    margin-right: 0.5rem;
    font-size: 16px; }
    .contact_menu .contact_tel span {
      display: inline-block;
      /*min-height:1.33rem;*/
      padding-left: 2rem;
      background: url(../img/icn_tel.svg) no-repeat left center;
      background-size: 1.5rem 1.25rem;
      /*line-height:1.33rem;*/ }
  .contact_menu p {
    padding-top: 0.25rem;
    font-size: 0.9rem;
    text-align: center; }

.sp_menu {
  position: fixed;
  z-index: 10000;
  right: 1rem;
  top: calc((6rem - 48px) / 2 );
  width: 48px;
  height: 48px;
  border-radius: 4px;
  /*box-shadow: 0 2px 3px rgba(0,0,0,0.3);*/
  background-color: rgba(255, 255, 255, 0.9); }

.sp_menu.close {
  background-color: tranceparent; }

.sp_menu span {
  display: block;
  position: absolute;
  z-index: 2000;
  top: 23px;
  right: 10px;
  width: 28px;
  height: 0;
  padding-top: 3px;
  background-color: #999;
  overflow: hidden; }

.sp_menu::before {
  display: block;
  position: absolute;
  z-index: 2000;
  top: 12px;
  right: 10px;
  width: 28px;
  height: 3px;
  background-color: #999;
  content: "";
  -webkit-transition: .15s ease-in-out;
  -moz-transition: .15s ease-in-out;
  transition: .15s ease-in-out; }

.sp_menu::after {
  display: block;
  position: absolute;
  z-index: 120;
  top: 34px;
  right: 10px;
  width: 28px;
  height: 3px;
  background-color: #999;
  content: "";
  -webkit-transition: .15s ease-in-out;
  -moz-transition: .15s ease-in-out;
  transition: .15s ease-in-out; }

.sp_menu.close span {
  display: none; }

.sp_menu.close::before {
  top: 24px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg); }

.sp_menu.close::after {
  top: 24px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg); }

footer {
  padding: 4rem 0;
  background-color: #f9f9f9; }
  footer .footer_navi {
    padding: 0 0.5rem; }

.footer_company_name {
  margin-bottom: 3rem;
  font-size: 1.5rem;
  text-align: center; }

.footer_navi ul {
  margin: auto;
  text-align: center;
  letter-spacing: 0.025em; }
.footer_navi li {
  display: inline-block;
  padding: 0 0.5rem 1rem; }
.footer_navi a {
  display: inline-block;
  color: #555; }
.footer_navi a:hover {
  color: #555; }
.footer_navi a:active,
.footer_navi a:focus {
  text-decoration: none; }

.copyright {
  padding: 1.66rem 0 0;
  font-size: 0.875rem;
  text-align: center;
  color: #808080;
  line-height: 100%; }

.page_top {
  display: none; }

main {
  margin-top: 0; }

.img_o960 {
  display: none; }

.border {
  border-bottom: solid 1px #dcdcdc; }

.bgcolor01 {
  background-color: #f9f9f9; }

.wrapper {
  padding-right: 3.3vw;
  padding-left: 3.3vw; }

.breadcrumb {
  display: none; }

.page_title_box {
  width: 100%;
  margin-bottom: 4rem; }

.page_title {
  height: 50vw;
  line-height: 100%;
  margin-bottom: 4rem; }
  .page_title h1, .page_title div {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50vw;
    padding-bottom: 1.25rem;
    background-color: rgba(0, 0, 0, 0.3);
    font-family: "notosans-b", sans-serif;
    font-weight: normal;
    font-size: 2.75rem;
    letter-spacing: 0.05em;
    color: #fff;
    line-height: 100%;
    letter-spacing: -0.03em; }

.section_title_m {
  margin-bottom: 2.75rem;
  padding-left: 0.75rem;
  border-left: 5px solid #ccc;
  font-family: "notosans-l", sans-serif;
  font-weight: normal;
  font-size: 2rem;
  color: #333;
  line-height: 100%; }

.section_title_s {
  margin-bottom: 1.5rem;
  font-family: "notosans-b", sans-serif;
  font-weight: normal;
  font-size: 1.16rem;
  color: #555; }

.btn_style01 {
  text-align: center; }
  .btn_style01 a {
    display: inline-block; }

.section_style01,
.section_style02 {
  padding-bottom: 4rem; }
  .section_style01 p,
  .section_style02 p {
    margin-bottom: 1.5rem;
    line-height: 2.25em; }
  .section_style01 p:last-child,
  .section_style02 p:last-child {
    margin-bottom: 0; }
  .section_style01 p + .section_title_s,
  .section_style02 p + .section_title_s {
    margin-top: 2.5rem; }

.top_acsesss{
  padding-top: 4rem;}

.profile {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 3rem; }
  .profile dt {
    flex-basis: 5.5rem;
    max-width: 5.5rem;
    padding: 1.5rem 0;
    border-bottom: solid 1px #dcdcdc;
    font-weight: bold; }
  .profile dd {
    flex-basis: calc(100% - 5.5rem);
    max-width: calc(100% - 5.5rem);
    padding: 1.5rem 0;
    border-bottom: solid 1px #dcdcdc; }

.second_googlemap {
  width: 100%;
  height: 28rem; }
  .second_googlemap iframe {
    width: 100%;
    height: 100%; }

.mainvisual img {
  width: 100%; }
.mainvisual .main_l {
  display: none; }

.top_main_copy {
  padding: 4rem 0; }
  .top_main_copy p {
    margin-bottom: 0.5rem;
    line-height: 2.25rem; }
  .top_main_copy h1 {
    margin-bottom: 1.5rem;
    font-size: 2.33rem;
    font-family: "notosans-l", sans-serif;
    font-weight: bold;
    line-height: 1.4em;
    color: #333; }

.top_works{
	width: 100%;
	padding: 100px 0;}

.top_works_container{
	/*width: 90%;*/
	margin: 0 auto;}

.works_box{
	width: 80%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	margin-top: 2rem;
	justify-content: space-between;}

.works_card{
	margin-top: 4rem;}

.works_img{
	text-align:center;}

.works_img img{
	width:100%;}

.top_information {
  padding: 4rem 0;
  background-color: #f0f0f0;
  background-size: 64px 64px; }
  .top_information li {
    position: relative;
    border-bottom: solid 1px #dcdcdc; }
    .top_information li a {
      display: block;
      padding: 1.5rem 3rem 1.5rem 1rem;
      color: #555;
      background: url(../img/icn_top_info_arrow.svg) no-repeat right center;
      background-size: 0.66rem 1.166rem;
      line-height: 1.6em; }
  .top_information li::before {
    position: absolute;
    top: 1.25rem;
    content: "・";
    color: #555; }

.top_info_date {
  display: block;
  font-size: 0.9rem;
  color: #999; }

.top_title_m {
  margin-bottom: 1.16rem;
  padding-left: 0.75rem;
  border-left: 5px solid #ccc;
  font-family: "notosans-l", sans-serif;
  font-weight: normal;
  font-size: 2rem;
  color: #333;
  line-height: 100%; }

.top_title_s {
  margin-bottom: 1.5rem;
  font-family: "notosans-b", sans-serif;
  font-weight: normal;
  font-size: 1.16rem;
  color: #555; }

.top_see_more {
  margin-top: 1.5rem;
  text-align: right; }
  .top_see_more a {
    display: inline-block;
    padding-right: 1.75rem;
    background: url(../img/icn_link_arrow.svg) no-repeat right center;
    background-size: 0.66rem 1.166rem; }

.top_topics {
  padding: 4rem 0; }
  .top_topics ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: calc(83.32vw + 2rem);
    margin: 0 auto 1.5rem; }
    .top_topics ul li {
      flex-basis: 41.66vw;
      margin-top: 1rem; }
      .top_topics ul li a, .top_topics ul li span {
        display: block;
        color: #333; }
      .top_topics ul li span.top_case_title {
        margin-top: 0.5rem;
        line-height: 1.3em;
        letter-spacing: 0.05em; }
      .top_topics ul li span.top_case_date {
        font-size: 0.9rem;
        color: #969696; }
      .top_topics ul li span.top_case_img {
        width: 100%;
        height: 27.77vw;
        overflow: hidden;
        text-align: center;
        box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
        background-color: #c6c6c6; }
      .top_topics ul li img {
        width: auto;
        height: 100%; }
    .top_topics ul li:nth-child(even) {
      margin-right: 0;
      margin-left: 1rem; }
    .top_topics ul li:nth-child(odd) {
      margin-right: 1rem;
      margin-left: 0; }

.top_access {
  padding: 4rem 0;
  background: url(../img/top_bg_access.png) repeat center top;
  background-size: 412px 300px; }
  .top_access .top_access_info {
    margin: 2.5rem;
    text-align: center; }
  .top_access h3 {
    margin-bottom: 0.5rem;
    font-size: 1.33rem; }

.top_section {
  padding-bottom: 4rem; }
  .top_section p {
    margin-bottom: 1.5rem;
    line-height: 2.25rem; }
  .top_section p:last-child {
    margin-bottom: 0; }
  .top_section p + .top_title_s {
    margin-top: 2.5rem; }

.top_mission_card img{
	width: 100%;}

.top_googlemap {
  width: 100%;
  height: 66.6vw;
  padding: 3px;
  background-color: #fff; }
  .top_googlemap iframe {
    width: 100%;
    height: 100%; }

.blog_wrapper {
  padding: 0 3.3vw 4rem; }

.blog_main {
  padding-bottom: 4rem; }

.blog_side {
  padding: 1.5rem 3.3vw;
  background-color: #f0f0f0; }

.blog_category {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  line-height: 100%;
  color: #fff; }

.blog_post_title {
  display: block;
  font-size: 1.75rem;
  font-family: "notosans-m", sans-serif;
  font-weight: normal;
  color: #333; }

.blog_post_date {
  display: inline-block;
  margin-top: 0.75rem;
  color: #969696;
  line-height: 1em; }

.blog_post_index {
  list-style: none;
  margin: 0;
  padding: 0; }
  .blog_post_index li {
    border-bottom: solid 1px #dcdcdc; }
    .blog_post_index li a {
      display: block;
      padding: 2rem 0;
      color: #464646; }
  .blog_post_index li:first-child a {
    padding-top: 0; }
  .blog_post_index .blog_post_title {
    font-size: 1.33rem; }

.blog_index_header {
  display: block;
  margin-bottom: 2.33rem; }

.blog_index_discription {
  display: block; }

.blog_index_content {
  display: none; }

.blog_index_thumbnail {
  display: block;
  background: url(../img/blog_thumbnail_noimage.png) no-repeat center top; }
  .blog_index_thumbnail img {
    width: 100%; }

.blog_index_seemore {
  display: block;
  margin-top: 2.33rem;
  padding-right: 1.5rem;
  background: url(../img/icn_blog_arrow.svg) no-repeat right center;
  background-size: 1rem 1rem;
  text-align: right;
  color: #5d5853; }

.blog_body {
  margin-top: 2.33rem; }
  .blog_body p {
    margin-bottom: 2rem;
    line-height: 2em; }
  .blog_body img {
    display: block;
    width: 100%;
    margin-bottom: 2rem; }
  .blog_body a {
    text-decoration: underline; }

.blog_resently_post h2,
.blog_category_list h2 {
  margin-bottom: 1.5rem;
  padding-left: 0.5rem;
  border-left: solid 5px #ccc;
  font-family: "notosans-l", sans-serif;
  font-weight: normal;
  font-size: 1.5rem;
  line-height: 100%;
  color: #333; }
.blog_resently_post ul li,
.blog_category_list ul li {
  position: relative;
  padding-left: 1rem; }
.blog_resently_post ul li::before,
.blog_category_list ul li::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 0.25rem;
  content: "・"; }
.blog_resently_post ul a,
.blog_category_list ul a {
  display: block;
  padding: 0.25rem 0; }

.blog_pager {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem; }
  .blog_pager a, .blog_pager .blog_nolink {
    display: inline-block;
    width: 7.5rem;
    height: 3rem;
    border-radius: 4px;
    border: solid 1px #0072d2;
    color: #0072d2;
    text-align: center;
    line-height: 2.8rem; }
  .blog_pager .blog_pager_previous {
    display: inline-block;
    padding-left: 0.8rem;
    background: url(../img/icn_arrow_blog_l.svg) no-repeat left center;
    background-size: 0.33rem 0.5rem; }
  .blog_pager .blog_pager_next {
    display: inline-block;
    padding-right: 0.8rem;
    background: url(../img/icn_arrow_blog_r.svg) no-repeat right center;
    background-size: 0.33rem 0.5rem; }
  .blog_pager .blog_nolink {
    border: solid 1px #bcbcbc; }
    .blog_pager .blog_nolink .blog_pager_previous {
      background: url(../img/icn_arrow_blog_l_off.svg) no-repeat left center;
      background-size: 0.33rem 0.5rem;
      color: #bcbcbc; }
    .blog_pager .blog_nolink .blog_pager_next {
      background: url(../img/icn_arrow_blog_r_off.svg) no-repeat right center;
      background-size: 0.33rem 0.5rem;
      color: #bcbcbc; }

.blog_pagenation {
  margin-top: 2.33rem;
  text-align: center; }
  .blog_pagenation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    margin: auto; }
    .blog_pagenation ul li {
      padding: 0 0.33rem; }
      .blog_pagenation ul li a {
        display: inline-block;
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 4px;
        border: solid 1px #4051a1;
        line-height: 2rem;
        color: #4051a1; }
    .blog_pagenation ul li.blog_pagenation_here a {
      background-color: #4051a1;
      border-color: #4051a1;
      color: #fff; }

.case_index_wrapper,
.case_detail_wrapper {
  padding: 0 3.3vw 4rem; }

.case_category {
  width: 100%;
  overflow-x: hidden; }

.case_category_navi {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2.5rem; }
  .case_category_navi dt {
    flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 0.5rem;
    font-size: 1.16rem; }
  .case_category_navi dd {
    margin-bottom: 0.25rem;
    color: #969696;
    font-size: 1.16rem; }
  .case_category_navi dd::after {
    display: inline-block;
    padding: 0 1rem;
    content: "|";
    color: #767676; }

.case_post_index {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -2rem; }
  .case_post_index li {
    flex-basis: 43.33vw;
    max-width: 43.33vw;
    margin-bottom: 2rem; }

.case_list_img,
.case_list_title,
.case_list_date {
  display: block;
  width: 100%; }

.case_list_img {
  overflow: hidden;
  margin-bottom: 0.5rem;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  background-color: #c6c6c6;
  text-align: center; }
  .case_list_img img {
    width: auto;
    height: 28.88vw; }

.case_list_title {
  font-family: "notosans-m", sans-serif;
  font-weight: normal;
  font-size: 1.16rem;
  line-height: 1.3em;
  color: #333; }

.case_list_date {
  color: #969696; }

.case_categories {
  display: flex;
  margin-top: 1rem; }
  .case_categories span {
    display: block;
    margin-right: 0.5rem;
    padding: 0.3rem 1rem 0.5rem;
    background-color: #a7a5b0;
    color: #fff;
    line-height: 100%;
    white-space: nowrap; }

.information_title_bg {
  background: url(../img/info_mv_s.jpg) no-repeat center top;
  background-size: cover; }

.topics_title_bg {
  background: url(../img/case_mv_s.jpg) no-repeat center top;
  background-size: cover; }

.form_box {
  font-size: 1.16rem; }

input[type="text"],
input[type="password"],
textarea,
select {
  font-size: 1.16rem; }

.form_flow {
  margin: 3.33rem 0 2.5rem; }
  .form_flow ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .form_flow li {
    display: none;
    height: 4rem;
    background-color: #efefef;
    color: #9c9c9c;
    text-align: center;
    line-height: 4rem; }
  .form_flow li.here,
  .form_flow li.last {
    display: block;
    background-color: #969bb3;
    color: #fff;
    font-weight: bold; }

.form_lead {
  margin-bottom: 2.5rem;
  text-align: center; }

.form_box ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: solid 1px #dcdcdc; }
.form_box li {
  padding: 1.5rem 0;
  border-bottom: solid 1px #dcdcdc; }

.form_btn_box {
  padding: 4rem 0;
  text-align: center; }
  .form_btn_box a {
    display: inline-block;
    width: 16.66rem;
    height: 3.5rem;
    border-radius: 0.25rem;
    line-height: 3.5rem;
    color: #fff; }

.form_btn_left {
  margin-bottom: 1rem; }

.form_btn01 {
  background-color: #4051a1; }

.form_btn02 {
  background-color: #999; }

.form_data_header {
  margin-bottom: 0.75rem; }
  .form_data_header label {
    margin: 0; }
  .form_data_header span {
    display: inline-block; }
  .form_data_header span.form_required {
    display: inline-block;
    width: 3.5rem;
    height: 2rem;
    margin-left: 0.5rem;
    background-color: #681111;
    color: #fff;
    text-align: center;
    line-height: 2rem; }

.form_data_item input[type="text"], .form_data_item textarea {
  width: 100%; }

.form_error_msg_first {
  padding-bottom: 1rem;
  color: #971717;
  font-weight: bold;
  text-align: center;
  font-size: 1.16rem; }

.form_error_msg {
  padding: 0.5rem 0;
  color: #971717;
  font-weight: bold; }

.form_data_item.address input[type="text"], .form_data_item.address select {
  margin-left: 1.4rem;
  margin-top: 1rem; }
.form_data_item.address input[type="text"] {
  width: calc(100% - 1.4rem); }
.form_data_item.address select {
  display: block; }
.form_data_item.address input[type="text"].form_zipcode {
  margin-top: 0;
  margin-left: 0.25rem;
  width: 10rem; }
.form_data_item.address .form_error_msg {
  margin-left: 1.4rem; }

.form_title_m {
  margin-bottom: 1.25rem;
  font-size: 1.33rem;
  text-align: center; }

.form_thanks_text {
  text-align: center;
  line-height: 1.8em; }

.form_back_home {
  margin: 3rem 0 0;
  padding-bottom: 4rem;
  text-align: center; }

.form_error_msg {
  display: none; }

/* -- privacy policy -- */
.privacy_section {
  padding-bottom: 4rem; }
  .privacy_section h2 {
    margin-bottom: 0.5rem;
    font-family: "notosans-l", sans-serif;
    font-weight: normal;
    font-size: 1.75rem;
    color: #333; }
  .privacy_section p {
    line-height: 2em; }
  .privacy_section ul {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0; }
    .privacy_section ul li {
      position: relative;
      margin-bottom: 0.5rem;
      padding-left: 1rem; }
    .privacy_section ul li::before {
      position: absolute;
      left: 0;
      content: "・"; }

.privacy_address {
  margin-top: 4rem; }
  .privacy_address h3 {
    font-family: "notosans-b", sans-serif;
    font-weight: normal;
    margin-bottom: 0.25rem;
    font-size: 1.33rem; }

/* -- 404 error -- */
.error404 {
  padding-top: 12rem;
  padding-bottom: 8rem;
  text-align: center; }
  .error404 h1 {
    margin-bottom: 1rem; }

.notfound {
  margin-bottom: 6rem;
  font-size: 1.33rem;
  font-family: "roboto-l";
  font-weight: normal; }

.notfound404 {
  display: inline-block;
  margin-bottom: 1rem;
  height: 38vw;
  font-size: 42vw;
  line-height: 100%;
  font-family: "roboto-bl";
  font-weight: normal;
  color: #d6d6d6; }

/* -- sitemap -- */
.sitemap_list {
  padding-bottom: 4rem;
  overflow-x: hidden; }
  .sitemap_list li {
    position: relative;
    padding-left: 1.25rem;
    border-bottom: solid 1px #dcdcdc;
    font-size: 1.16rem; }
    .sitemap_list li a {
      display: block;
      padding: 1.5rem 0;
      color: #333; }
  .sitemap_list li::before {
    display: inline-block;
    position: absolute;
    left: 0;
    padding-top: 1.5rem;
    content: "・";
    color: #666; }
  .sitemap_list li:first-child {
    margin-top: -1.5rem; }


.layout_img_l_txt_r,
.layout_img_r_txt_l {
  margin-bottom: 2.5rem; }
  .layout_img_l_txt_r figure,
  .layout_img_r_txt_l figure {
    display: block;
    margin-top: 1.5rem;
    text-align: center; }
  .layout_img_l_txt_r img,
  .layout_img_r_txt_l img {
    width: 55.55vw; }

ul.list_style01,
ol.list_style01 {
  margin: 3.5rem 0;
  padding-top: 1.5rem;
  border-top: solid 1px #dcdcdc; }
  ul.list_style01 li,
  ol.list_style01 li {
    position: relative;
    padding-left: 1.25rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: solid 1px #dcdcdc; }

ul.list_style01 li::before {
  display: inline-block;
  position: absolute;
  left: 0;
  content: "・"; }

.waku_style01,
.waku_border_style01 {
  margin: 2.5rem 0;
  padding: 2rem;
  border-radius: 4px; }

.waku_style01 {
  background-color: #f0f0f0; }

.waku_border_style01 {
  border: solid 1px #dcdcdc; }

section .waku_style01 p,
section .waku_border_style01 p {
  margin-bottom: 0; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  z-index: 50;
  display: block;
  width: 2rem;
  height: 2rem;
  margin-top: -1rem;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent; }

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none; }

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1; }

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25; }

.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  border-radius: 1rem;
  background: url(../img/slider_prev.svg) no-repeat 0.65rem 0.75rem rgba(64, 140, 175, 0.9);
  background-size: 0.5rem auto;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  left: 10%; }

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto; }

.slick-prev:before {
  content: ''; }

[dir='rtl'] .slick-prev:before {
  content: ''; }

.slick-next {
  border-radius: 1rem;
  background: url(../img/slider_next.svg) no-repeat 0.85rem 0.75rem rgba(64, 140, 175, 0.9);
  background-size: 0.5rem auto;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  right: 10%; }

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px; }

.slick-next:before {
  content: ''; }

[dir='rtl'] .slick-next:before {
  content: ''; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -1rem;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center; }

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 0.66rem;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 0.5rem;
  padding: 5px;
  font-size: 0;
  cursor: pointer;
  overflow: hidden;
  color: transparent;
  border: 0;
  outline: none; }

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none; }

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1; }

.slick-dots li button:before {
  display: block;
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 1rem;
  height: 1rem;
  overflow: hidden;
  border-radius: 0.5rem;
  content: '';
  text-align: center;
  background-color: #5c5c5c;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before {
  background-color: #ec6c00;
  color: black; }

@media screen and (min-width: 600px) {
  body {
    font-size: 1rem; }

  .br-u600 {
    display: none; }

  .br-o600 {
    display: block; } }
@media screen and (min-width: 768px) {
  .br-u768 {
    display: none; }

  .br-o768 {
    display: block; }

  footer .footer_navi {
    padding: 0; }
  footer .footer_address {
    text-align: center;
    font-size: 0.875rem; }
  footer .footer_logo {
    margin-bottom: 1.33rem; }
    footer .footer_logo img {
      width: auto;
      height: 3rem; }

  .footer_navi li {
    display: inline-block;
    padding: 0 1rem 1.5rem; }
  .footer_navi a {
    display: inline-block; }
  .footer_navi a:active,
  .footer_navi a:focus {
    text-decoration: none; } }
@media screen and (min-width: 960px) {
  .br-u960 {
    display: none; }

  .br-o960 {
    display: block; }

  .img_u960 {
    display: none; }

  .img_o960 {
    display: block; }

  header {
    width: 100%; }

  .header_logo {
    padding-top: calc((6rem - 72px) / 2);
    height: 72px; }
    .header_logo a {
      height: 72px;
      line-height: 64px; }

  .sp_menu {
    position: absolute;
    width: 48px;
    height: 48px;
    box-shadow: none;
    background-color: rgba(255, 255, 255, 0); }

  .contact_menu {
    position: absolute;
    left: calc(100% - 490px);
    top: 16px;
    width: 410px;
    padding: 0;
    background-color: rgba(255, 255, 255, 0);
    font-size: 0; }
    .contact_menu .contact_form,
    .contact_menu .contact_tel {
      text-align: center;
      width: 200px;
      height: 40px;
      color: #fff;
      vertical-align: top;
      line-height: 40px;
      background-color: rgba(3, 4, 43, 0);
      border: solid 1px #fff; }

  .contact_menu .contact_form {
    margin-left: 5px;
    font-size: 16px; }

  .contact_menu .contact_tel {
    margin-right: 5px;
    font-size: 20px; }

  .clone-nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    height: 72px;
    box-shadow: none;
    background: rgba(255, 255, 255, 0.9);
    transition: .3s;
    transform: translateY(-100%); }

  .is-show {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    transform: translateY(0); }
    .is-show .sp_menu {
      top: 12px;
      box-shadow: none; }
    .is-show .header_logo {
      padding-top: 0; }

  footer {
    padding: 104px 0 0; }

  .footer_company_name {
    margin-bottom: 56px;
    font-size: 1.5rem; }

  .footer_navi {
    font-size: 0; }
    .footer_navi li {
      display: inline-block;
      border-right: solid 1px #c9c5c0;
      margin-bottom: 16px;
      padding: 0 1.5rem;
      font-size: 16px;
      line-height: 1.3em; }
    .footer_navi ul:first-child {
      width: 950px;
      overflow: hidden; }
      .footer_navi ul:first-child li:last-child {
        border-right: none; }
    .footer_navi ul:nth-child(2) {
      width: 950px; }
      .footer_navi ul:nth-child(2) li:last-child {
        border-right: none; }
    .footer_navi a {
      display: inline-block; }
    .footer_navi a:active,
    .footer_navi a:focus {
      text-decoration: none; }

  .copyright {
    padding: 48px 0 104px;
    font-size: 14px; }

  .page_top {
    position: fixed;
    z-index: 1000;
    bottom: 32px;
    right: 16px;
    width: 40px;
    height: 0;
    padding-top: 40px;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
    background: url(../img/icn_arrow_pagetop.svg) no-repeat center center rgba(0, 114, 210, 0.7);
    background-size: 14px 9px; }

  .page_title_box {
    width: 100%;
    margin-bottom: 112px; }

  .page_title {
    height: calc(26.3vw - 40px); }
    .page_title h1, .page_title div {
      width: 100%;
      height: calc(26.3vw - 40px);
      font-size: 64px; }

  .breadcrumb {
    display: block;
    height: 40px;
    line-height: 36px;
    background-color: rgba(0, 0, 0, 0.4); }
    .breadcrumb ul {
      list-style: none;
      margin: 0 auto;
      padding: 0 3.3vw;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }
    .breadcrumb li {
      display: inline-block;
      color: #ececec;
      white-space: nowrap;
      text-overflow: ellipsis;
      font-family: "notosans-l", sans-serif;
      font-weight: normal;
      font-size: 14px; }
      .breadcrumb li a {
        color: #ececec; }
    .breadcrumb li::after {
      content: "　>　";
      color: #ececec; }
    .breadcrumb li:last-child::after {
      content: ""; } }
@media screen and (min-width: 960px) {
  .mainvisual .main_s {
    display: none; }
  .mainvisual .main_l {
    display: block; } }
@media screen and (min-width: 768px) {
  .blog_post_title {
    font-size: 2rem;
    line-height: 1.4em; }

  .blog_post_index .blog_post_title {
    font-size: 1.5rem; } }
@media screen and (min-width: 960px) {
  .blog_wrapper {
    display: flex;
    justify-content: space-between;
    padding-bottom: 104px; }

  .blog_main {
    flex-basis: calc(100% - 328px);
    max-width: calc(100% - 328px);
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    margin-right: 0; }

  .blog_side {
    flex-basis: 272px;
    max-width: 272px;
    padding: 24px; }

  .blog_resently_post h2,
  .blog_category_list h2 {
    text-align: left; }

  .blog_pager a, .blog_pager .blog_nolink {
    width: 160px;
    height: 48px;
    line-height: 48px; }
  .blog_pager .blog_pager_previous {
    width: 134px;
    padding-left: 0;
    background-size: 8px 12px; }
  .blog_pager .blog_pager_next {
    width: 134px;
    padding-right: 0;
    background-size: 8px 12px; }
  .blog_pager .blog_nolink .blog_pager_previous {
    background-size: 8px 12px; }
  .blog_pager .blog_nolink .blog_pager_next {
    background-size: 8px 12px; }

  .blog_post_index li a {
    padding: 32px 0; }

  .blog_index_discription {
    display: flex; }

  .blog_index_thumbnail {
    flex-basis: 270px;
    max-width: 270px;
    height: 180px;
    overflow: hidden; }
    .blog_index_thumbnail img {
      width: 100%;
      height: auto; }

  .blog_index_txt {
    flex-basis: calc(100% - 270px);
    max-width: calc(100% - 270px);
    padding-left: 2rem; }

  .blog_index_content {
    display: block;
    line-height: 1.8rem; }

  .blog_index_seemore {
    margin-top: 1rem; }

  .blog_pagenation {
    margin-top: 6vw; }

  .case_index_wrapper,
  .case_detail_wrapper {
    padding: 0 3.3vw 104px; }

  .case_category_navi {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 32px; }
    .case_category_navi dt {
      flex-basis: auto;
      max-width: auto;
      margin-bottom: 0;
      padding-right: 36px;
      font-size: 1rem; }
    .case_category_navi dd {
      font-size: 1rem; }
    .case_category_navi dd:last-child::after {
      content: ""; }

  .case_list_title {
    font-size: 1rem; }

  .case_list_date {
    font-size: 0.9rem; }

  .information_title_bg {
    background: url(../img/info_mv_l.jpg) no-repeat center top;
    background-size: cover; }

  .topics_title_bg {
    background: url(../img/case_mv_l.jpg) no-repeat center top;
    background-size: cover; } }
@media screen and (min-width: 768px) {
  input[type="text"],
  input[type="password"],
  textarea,
  select {
    font-size: 1rem; }

  .form_lead .sp_br {
    display: none; }

  .form_flow ul {
    display: flex; }
  .form_flow li {
    display: block;
    width: 33%; }
  .form_flow li.here {
    width: 34%;
    background: url(../img/form_flow_bg.svg) no-repeat right center #969bb3;
    background-size: 12px 72px; }

  .form_btn_left,
  .form_btn_right {
    display: inline-block;
    margin-bottom: 0;
    padding: 0 1rem; }

  .form_title_m .sp_br,
  .form_thanks_text .sp_br {
    display: none; }

  .form_title_m::before {
    content: "【"; }

  .form_title_m::after {
    content: "】"; } }
@media screen and (min-width: 960px) {
  .others_wrapper {
    margin-bottom: 112px;
    padding: 64px; }

  /* -- sitemap -- */
  .sitemap_list {
    padding-bottom: 104px; }
    .sitemap_list li a {
      display: block;
      padding: 40px 0;
      font-size: 24px; }
    .sitemap_list li::before {
      padding-top: 40px; }
    .sitemap_list li:first-child {
      margin-top: -40px; }

  /* -- 404 error -- */
  .error404 {
    padding-top: 120px;
    padding-bottom: 96px; } }
@media screen and (min-width: 960px) {
	
  .about_title_bg {
    background: url("../img/about_mv_l.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .priest_title_bg {
    background: url("../img/priest_mv_l.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .guide_title_bg {
    background: url("../img/guide_mv_l.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .acsess_title_bg {
    background: url("../img/acsess_mv_l.jpg") no-repeat center bottom;
    background-size: cover; }
	
  .info_title_bg {
    background: url(../img/info_mv_l.jpg) no-repeat center bottom;
    background-size: cover; }

  .privacy_title_bg {
    background: url(../img/privacy_mv_l.jpg) no-repeat center bottom;
    background-size: cover; }
	
  .contact_title_bg {
    background: url(../img/contact_mv_l.jpg) no-repeat center bottom;
    background-size: cover; }
	
  .menu1_title_bg {
    background: url(../img/menu1_mv_l.jpg) no-repeat center bottom;
    background-size: cover; }

  .menu2_title_bg {
    background: url(../img/menu2_mv_l.jpg) no-repeat center bottom;
    background-size: cover; }

  .menu3_title_bg {
    background: url(../img/menu3_mv_l.jpg) no-repeat center bottom;
    background-size: cover; }

  .menu4_title_bg {
    background: url(../img/menu4_mv_l.jpg) no-repeat center bottom;
    background-size: cover; } }
@media screen and (min-width: 1140px) {
  .br-u1140 {
    display: none; }

  .br-o1140 {
    display: block; }

  a:hover {
    transition: all .15s ease-in;
    opacity: 0.7; }

  .wrapper {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    width: 1140px; }

  header {
    height: 116px; }

  .header_logo {
    display: inline-block;
    position: relative;
    width: auto;
    height: auto;
    padding-top: 0;
    margin-left: 32px; }
    .header_logo a {
      height: 116px;
      font-size: 40px;
      line-height: 108px; }

  .clone-nav header {
    height: 72px; }
  .clone-nav .header_logo a {
    font-size: 2rem;
    height: 72px;
    line-height: 72px; }
  .clone-nav .global_navi {
    padding-top: 20px; }

  .contact_menu {
    z-index: 12000;
    left: calc(100% - 442px); } }
@media screen and (min-width: 1280px) {
  .br-u1280 {
    display: none; }

  .br-o1280 {
    display: block; }

  .breadcrumb ul {
    width: 1140px;
    margin: auto;
    padding: 0; }

  .conteiner01,
  .conteiner02 {
    padding: 104px 0 112px; }

  .page_title {
    margin-bottom: 104px; }
    .page_title h1, .page_title div {
      font-size: 72px; }

  .section_title_m {
    font-size: 36px; }

  .section_style01 {
    padding-bottom: 112px; }
	
.top_acsesss{
  padding-top: 112px;}

  .section_style02 {
    padding-bottom: 112px; }

  .profile {
    margin-bottom: 72px; }
    .profile dt {
      flex-basis: 152px;
      max-width: 152px;
      padding: 24px 0;
      font-size: 20px; }
    .profile dd {
      flex-basis: 988px;
      max-width: 988px;
      padding: 24px 0;
      font-size: 20px; }

  .company_googlemap {
    height: 480px; }
    .company_googlemap iframe {
      height: 480px; } }
@media screen and (min-width: 1340px) {
  .br-o1340 {
    display: block; }

  .header_logo {
    display: inline-block;
    position: relative;
    width: auto;
    margin-left: 32px;
    z-index: 12000; }

  .contact_menu {
    z-index: 12000;
    left: calc(100% - 442px); }

  .global_navi {
    display: block;
    position: absolute;
    width: 100%;
    height: auto;
    padding-top: 36px;
    /*padding-right:466px;*/
    padding-right: 32px;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0);
    text-align: right; }
    .global_navi ul {
      list-style: none;
      display: inline-flex;
      align-items: center;
      margin: 0 auto;
      padding: 0;
      text-align: center; }
      .global_navi ul li {
        margin-bottom: 0;
        line-height: 100%; }
      .global_navi ul li a {
        color: #555; }
      .global_navi ul li a:hover {
        transition: all .15s ease-in;
        opacity: 0.4;
        text-decoration: none; }
      .global_navi ul li span {
        font-size: 14px;
        line-height: 100%; }
    .global_navi li a {
      display: inline-block;
      padding: 0 0 0 25px;
      border-bottom: none;
      font-size: 16px;
      letter-spacing: 0.05rem;
      line-height: 32px;
      color: #555;
      font-weight: normal; }
    .global_navi .navi_child_box ul {
      font-size: 1rem;
      margin: 6px;
      padding: 1rem;
      border-radius: 4px;
      text-align: left; }

  .sp_menu {
    display: none; }

  .global_navi li:hover .navi_child_box {
    max-height: 9999px;
    opacity: 1; }

  .navi_child_box {
    transition: all .17s ease-in;
    display: block;
    position: fixed;
    top: 60px;
    z-index: 10000;
    width: auto;
    min-width: 200px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    border-radius: 4px;
    background-color: rgba(131, 125, 119, 0.9);
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.2);
    text-align: left; }
    .navi_child_box ul {
      display: block;
      margin: auto; }
    .navi_child_box li {
      display: block;
      padding: 0 0 1rem;
      border: none; }
    .navi_child_box a:hover {
      transition: all .15s ease-in;
      opacity: 0.4; }

  .global_navi li .navi_child_box ul li a {
    display: block;
    padding: 0;
    font-size: 16px;
    font-weight: normal;
    border: none;
    color: #555; } }
@media screen and (min-width: 1280px) {
  .top_main_copy {
    padding: 112px 0; }
    .top_main_copy p {
      margin-bottom: 32px;
      font-family: "notosans-r", sans-serif;
      font-weight: normal;
      font-size: 18px; }
    .top_main_copy h1 {
      margin-bottom: 2.5rem;
      font-size: 56px; }
	
.top_works_container{
	/*width: 80%;*/}
	
.works_card{
	margin-top: 0;
	width: 31%; }
	
.top_works_emboss{
	font-size: 120px;
	right: 10%;}
		
.works_box{
	width: 100%;
	flex-wrap: nowrap;}
	
  .top_information {
    padding: 112px 0;
    background-size: 128px 128px; }
    .top_information ul {
      margin-top: -12px; }
    .top_information li a {
      padding: 24px 3rem 24px 1rem;
      background-size: 9px 16px; }

  .top_info_see_more {
    flex-basis: 100%;
    max-width: 100%;
    margin-top: 24px; }
    .top_info_see_more a {
      padding-right: 24px;
      background-size: 9px 16px;
      color: #fff; }

  .top_section {
    padding: 0 0 112px; }

  .top_title_m {
    font-size: 36px;
    margin-bottom: 2rem; }

  p.top_see_more {
    margin-top: 32px;
    text-align: right; }
    p.top_see_more a {
      padding-right: 24px;
      background-size: 9px 16px; }

  .top_topics {
    padding: 112px 0; }
    .top_topics .wrapper {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
    .top_topics .top_section_right {
      flex-basis: 1140px;
      max-width: 1140px; }
    .top_topics ul {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap;
      width: 100%;
      margin: 0; }
      .top_topics ul li {
        flex-basis: 360px; }
        .top_topics ul li span.top_case_title {
          margin-top: 12px;
          line-height: 1.3em;
          letter-spacing: 0.05em; }
        .top_topics ul li span.top_case_date {
          font-size: 14px; }
        .top_topics ul li span.top_case_img {
          width: 100%;
          height: 240px; }
      .top_topics ul li:first-child,
      .top_topics ul li:nth-child(2n),
      .top_topics ul li:nth-child(5n) {
        margin-left: 0;
        margin-right: 30px; }
      .top_topics ul li:nth-child(3n) {
        margin-right: 0;
        margin-left: 0; }

  .top_access {
    padding: 112px 0;
    background-size: 824px 600px; }
    .top_access .wrapper {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
    .top_access .top_section_right {
      flex-basis: 996px;
      max-width: 996px; }
    .top_access .top_access_info {
      margin: 0 0 48px;
      text-align: left; }
    .top_access h3 {
      margin-bottom: 18px;
      font-size: 32px; }

  .top_googlemap {
    height: 480px; } }
@media screen and (min-width: 1280px) {
  .blog_wrapper {
    width: 1140px;
    margin: auto;
    padding: 0 0 104px; }

  .blog_main {
    width: 784px; }

  .blog_side_inner {
    width: 100%; }

  .blog_index_content {
    display: block;
    line-height: 1.8rem; }

  .blog_index_seemore {
    margin-top: 1rem; }

  .blog_pagenation {
    margin-top: 72px; }
    .blog_pagenation ul {
      text-align: center;
      width: auto; }

  .case_index_wrapper,
  .case_detail_wrapper {
    width: 1140px;
    margin: auto;
    padding: 0 0 104px; }

  .case_post_index {
    justify-content: flex-start;
    margin-bottom: -2rem; }
    .case_post_index li {
      flex-basis: 360px;
      max-width: 360px;
      margin-bottom: 2rem;
      margin-right: 30px; }
    .case_post_index li:nth-child(3n) {
      margin-right: 0; }

  .case_list_img {
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    background-color: #dcdcdc;
    text-align: center; }
    .case_list_img img {
      width: auto;
      height: 240px; } }
@media screen and (min-width: 1280px) {
  .form_flow {
    margin: 96px 0 72px; }
    .form_flow li {
      height: 72px;
      line-height: 72px; }

  .form_lead {
    margin-bottom: 72px; }

  .form_box ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: solid 1px #dcdcdc; }
  .form_box li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    padding: 32px 24px;
    border-bottom: solid 1px #dcdcdc; }

  .form_data_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 304px;
    margin-bottom: 0; }

  .form_data_item {
    width: 764px; }

  .form_btn_box {
    padding: 72px 0 104px; }
    .form_btn_box a {
      display: inline-block;
      width: 280px;
      height: 56px;
      border-radius: 3px;
      line-height: 56px;
      color: #fff; }

  .form_back_home {
    padding-bottom: 104px; } }
@media screen and (min-width: 1280px) {
  .others_wrapper {
    width: 1140px;
    margin-right: auto;
    margin-left: auto;
    padding: 64px; }

  .recruit_contact {
    margin: 112px 0 72px; }

  /* -- 404 error -- */
  .error404 {
    padding-top: 72px;
    padding-bottom: 180px; }
    .error404 h1 {
      font-size: 40px; }

  .notfound {
    margin-bottom: 6rem;
    font-size: 32px; }

  .notfound404 {
    display: inline-block;
    height: 594px;
    font-size: 594px;
    line-height: 100%; } }
@media screen and (min-width: 1280px) {
  .company_profile {
    padding-bottom: 104px; }
    .company_profile dl {
      margin-bottom: 72px; }
    .company_profile dt {
      flex-basis: 152px;
      max-width: 152px;
      padding: 24px 0;
      font-size: 20px; }
    .company_profile dd {
      flex-basis: 988px;
      max-width: 988px;
      padding: 24px 0;
      font-size: 20px; }

  .company_googlemap {
    height: 480px; }
    .company_googlemap iframe {
      height: 480px; }

  .layout_img_l_txt_r,
  .layout_img_r_txt_l {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 6rem 0; }
    .layout_img_l_txt_r figure,
    .layout_img_r_txt_l figure {
      flex-basis: 400px;
      max-width: 400px;
      margin: 0;
      padding: 0;
      text-align: left; }
    .layout_img_l_txt_r img,
    .layout_img_r_txt_l img {
      width: 100%;
      height: auto; }

  section .layout_img_l_txt_r:last-child,
  section .layout_img_r_txt_l:last-child {
    margin-bottom: 3rem; }

  .layout_img_l_txt_r {
    flex-direction: row-reverse; }

  .inner_txt {
    flex-basis: 668px;
    max-width: 668px; }

  .inner_img {
    flex-basis: 400px;
    max-width: 400px; } }
