@charset "UTF-8";

body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
    font-size: 16px;
    margin: 0;
    width: 100%;
    overflow-x: hidden;
    -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
    animation: fadeIn 1.5s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

* {
  box-sizing: border-box;
}
ol{
    padding-left: 20px;
}
dl
  .dt
  .dd {
	margin: 0; padding: 0;
 }

a {
	text-decoration:underline;
	color: #d5554a;
}

a,a:focus {
	outline:none;
 }

img {
  vertical-align: bottom;
}
.clearfix:after{
	content:".";
	display:block;
	height:0;
	font-size:0;
	clear:both;
	visibility:hidden;
}
p{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
    line-height: 1.8em;
    text-align: justify;
    margin: 0;
}
h1{
	margin: 0;
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.15em;
	color: #333;
 }
h2{
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
    font-weight: 400;
    text-align: center;
	letter-spacing: 0.15em;
	color: #333;
    padding-bottom: 30px;
    line-height: 1.5em;
 }
h2 span{
    color: #d5554a;
}
h2::after {
    content: '';
    display: block;
    width: 80px;
    border: 1px solid #e2cda2;
    margin: 0 auto;
}
h3{
	font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: bold;
    font-style: normal;
    text-align: center;
	letter-spacing: 0.27em;
	color: #333;
 }

input::-moz-focus-inner, 
button::-moz-focus-inner  {
	border:none;
 }

.efbutton i{
    color: #d5554a;
}
.efbutton i a{
    color: #fff;
}

.efbutton{
    padding: 0 20px;
    width:auto;
    height:40px;
    float:left;
    text-align:center;
    cursor:pointer;
    position:relative;
    box-sizing:border-box;
    overflow:hidden;
    border: 2px solid #d5554a;
    border-radius: 20px;
}
.efbutton a{
    font-family:arial;
    font-size:16px;
    color:#d5554a;
    text-decoration:none;
    line-height:40px;
    transition:all .5s ease;
    z-index:2;
    position:relative;
}
.button_eff{
  width:200px;
  height:40px;
  left:-200px;
  background:#d5554a;
  position:absolute;
  transition:all .5s ease;
  z-index:1;
}
.efbutton:hover .button_eff{
  left:0;
}
.efbutton:hover a{
  color:#fff;
}
.efbutton i:hover:after {
    color:#fff;
}

.efbuttonb{
    background:#d5554a;
    min-width: 200px;
    width: 100%;
    height:50px;
    padding: 0 20px;
    float:left;
    text-align:center;
    cursor:pointer;
    position:relative;
    box-sizing:border-box;
    overflow:hidden;
    border: 2px solid #d5554a;
    border-radius: 50px;
    color: #fff;
}
.efbuttonb a{
    font-family:arial;
      font-size:16px;
      color:#fff;
      text-decoration:none;
      line-height:50px;
      transition:all .5s ease;
      z-index:2;
      position:relative;
    font-size: 14px;
}
.button_effb{
  width: 100%;
  height: 50px;
  left: -100%;
  background:#fff;
  position:absolute;
  transition:all .5s ease;
  z-index:1;
}
.efbuttonb:hover .button_effb{
  left:0;
}
.efbuttonb:hover a{
  color:#333;
}
.cp_arrows {
    position: relative;
    display: flex;
    height: 20px;
    justify-content: center;
    align-items: center;
    text-align: center;
    animation: sdb2 2s infinite;
}
@-webkit-keyframes sdb2 {
	0%  {-webkit-transform: rotate(0deg) translate(0, 0);}
	20% {-webkit-transform: rotate(0deg) translate(0, 10px);}
	40% {-webkit-transform: rotate(0deg) translate(0, 0);}
}
@keyframes sdb2 {
	0%  {transform: rotate(0deg) translate(0, 0);}
	20% {transform: rotate(0deg) translate(10px, 0);}
	40% {transform: rotate(0deg) translate(0, 0);}
}

/*--------------------

      サイドボタン

--------------------*/
#lnavi {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .6s cubic-bezier(.3,0,.15,1);
  z-index: 99;
}
#lnavi p{
    line-height: inherit;
}
#lnavi.hide {
  transform: translate(-100%,-50%);
}

#lnavi li {
    width: 80px;
    margin: 5px 0;
        list-style: none;
}
#lnavi li a {
  background: #fff;
  display: block;
  padding: 20px 35px 20px 0;
  transform: translateX(35px);
  transition: all .6s cubic-bezier(.3,0,.15,1);
}

#lnavi li a span {
    padding: 0 15px;
    text-orientation: upright; /* すべて縦方向に表示 */
}

#lnavi li .s_recruit {
    height: inherit;
    background: #E2CDA2;
    border-radius: 10px 0 0 10px;
    color: #fff;
}

#lnavi li a.s_recruit:hover {
  opacity: 1;
  transform: translateX(0);
}
#lnavi li .s_visit {
    height: inherit;
    background: #d5554a;
    border-radius: 10px 0 0 10px;
    color: #fff;
}
#lnavi li a.s_visit:hover {
  opacity: 1;
  transform: translateX(0);
}

.lesson .vertical {
    right: 120px;
    display: inline-block;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.lnavi_sp{
    position: absolute;
    display: flex;
    top: 50px;
    width: 100%;
    z-index: 200;
}
.lnavi_sp li{
    width: auto;
    height: 40px;
    flex: 1;
    text-align: center;
}
.lnavi_sp li p{
    margin: auto 0;
        margin-top: 11px;
        text-align: center;
}
.lnavi_sp .oc{
        background: #ff709b;
}
.lnavi_sp .login{
        background: #ffe000;
}

/*--------------------

      メイン画像

--------------------*/
.container {
    height: calc(100vh);
    max-height: calc(100vh);
    padding: 6vw 3vw 3vw 3vw;
}
#kv {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    z-index: 1;
}
#kv-img {
    width: 100%;
    height: 100%;
    background: url(../images/top/main.jpg) no-repeat center center;
    background-size: cover;
}
.emergency{
    position: absolute;
    z-index: 2;
    top: 40px;
    left: 20px;
    background-color: #D5554A;
    padding: 5px 20px;
    border-radius: 30px;
}
.emergency p span{
    margin-right: 10px;
    vertical-align: bottom;
}
.emergency p, .emergency a{
    color: #fff;
    text-decoration: none;
}
.copyright {
	position: absolute;
    z-index: 3;
    left: -2.3vw;
    top: 50%;
    margin-top: -108px;
}
.copyright p{
    margin: auto;
    font-size: 11px;
    letter-spacing: 0.25em;
    color: #D5554A;
    writing-mode: vertical-rl;
}
#side_tour {
	position: fixed;
	text-align: right;
	top: 313px;
	right: 0px;
 }

#side_recruit {
	position: fixed;
	text-align: right;
	top: 514px;
	right: 0px;
 }
.sec{
    margin: 100px 0 250px ;
}
/*--------------------

index:施設について

--------------------*/

.button{
    background-color: #d5554a;
    padding: 10px 20px;
    border-radius: 50px;
    width: fit-content;
        margin: auto;
}
.button p{
    margin: 0 auto;
    color: #fff;
}

.t_about {
	display: flex;
 }
.t_about section{
  flex: 1;
}
.t_about img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.t_about .efbuttonb{
    margin-top: 30px;
}
.t_about .left{
    border-radius: 0 20px 20px 0;
}
.t_about .right{
    border-radius: 20px 0 0 20px;
}
.t_about_inner{
    position: relative;
    padding: 0 60px;
}
.posiright{
    position: absolute;
    right: 60px;
}
.s_about{
    padding: 0 40px 150px;
    margin: 0 auto;
}
.s_about_img{
    margin: 100px 0;
}
.s_about_img img{
    width:100%;
}
.s_about .efbuttonb{
    float:inherit;
    margin: 30px auto 0;
}
/*--------------------

index:広報誌

--------------------*/
.bg{
    background-color: #FCF7ED;
    position: relative;
}
.wline{
    border-bottom: 5px dotted #e2cda2;
}
.bg .archive_page {
	position: absolute;
    bottom: -20px;
    right: 50%;
    transform: translate(50%, 0);
 }
.archive_page p{
    line-height: 50px;;
}

.magazine_inner{
    padding: 60px 0 100px;
}
.magazine_inner center{
        display: table;
    margin: 0 auto;
}
.magazine_box{
    display: table;
    margin: 0 auto;
    padding: 0;
}
.magazine_box li{
    display: table-cell;
    vertical-align: middle;
}
.magazine_img{
    width: 200px;
}
.magazine_img img{
    width: 100%;
    height: auto;
}

.magazine_txt{
    padding-left: 30px;
}
.magazine_txt h1{
    font-size: 25px;
    font-weight: bold;
    letter-spacing: inherit;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.5em;
    text-align: left;
}
.magazine_txt .file{
    border: #d5554a solid 2px; 
    padding: 5px 10px;
    text-align: center;
}
.magazine_txt .file a{
    text-decoration: none;
}

.magazine_cat span.group {
	display: inline-block;
    font-size: 13px;
    padding: 0 10px;
    margin-bottom: 15px;
    background: #FF7CA4;
    color: #fff;
}
.magazine_cat span.residents {
    font-size: 13px;
	display: inline-block;
    padding: 0 10px;
    margin-bottom: 15px;
    background: #FFC62C;
}
.magazine_cat p{
    font-size: 13px;
    margin: 0;
    color: #fff;
}
.magazine_cat a{
    color: #fff;
    text-decoration: none;
}
.magazine_day{
    font-size: 14px;
    margin-bottom: 20px;
}
.magazine_txt .file p{
    margin: 0;
    padding: 0;
}
#a_amagazine{
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    padding: 0 60px 100px;
    gap: 100px;
}
#a_amagazine section{
    width: calc(100% / 3 - 67px);
}
@media screen and (max-width: 768px) {
    #a_amagazine section{
        width: 100%;
    }
}
#a_amagazine section ul{
    padding: 0;
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0;
    list-style: none;
}
#a_amagazine section ul li{
    display: table-cell;
    vertical-align: middle;
    margin: auto;
}
.a_amagazine_inner h1{
    font-weight: bold;
    letter-spacing: 0;
    color: #d5554a;
}
.a_amagazine_inner .magazine_day{
    text-align: right !important;
}
#a_amagazine img {
  max-width: 100%;
  height: auto;
}
#a_amagazine p {
    text-align: left;
    margin: 0;
}
.a_amagazine_thum{
    border: 1px solid #333;
    padding: 10px;
}
#a_amagazine .magazine_cat{
    left: 0;
}
.bgcolor-residents{
    background-color: #FF7CA4;
}
ul.page-numbers{
    display: table;
    table-layout: fixed;
    margin: 30px auto 100px;
    padding: 0;
    list-style: none;
}
ul.page-numbers li{
    display: table-cell;
    padding: 0 10px;
}
.a_amagazine_inner .efbutton{
    width: 100% !important;
    height: 40px;
}
.a_amagazine_inner .efbutton a{
    line-height: 40px;
}
.a_amagazine_inner .button_eff{
    width: 100%;
    left: -100%;
}
/*--------------------

index:お知らせ

--------------------*/
.newsillust{
    position: absolute;
    margin: 0 auto;
    left: 50%;
    top: -100px;
    transform: translate(-50%, 0);
}
.news_inner{
    padding: 60px;
}
.news_box{
    margin: 0 auto;
    max-width: 300px;
}
ul.news{
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
ul.news>li{
    list-style: none;
    width: calc(100% / 4 - 24px);
}
ul.newsArchive>li{
    width: calc(100% / 3 - 20px);
}
@media screen and (max-width: 768px) {
    ul.newsArchive>li, ul.news>li{
        width: 100%;
    }
}
.thumbox{
    height: 180px;
    width: auto;
}
ul.news img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}
.news_day{
    display: table;
    margin-top: 10px;
    padding: 0;
    list-style: none;
    table-layout: fixed;
    width:100%;
}
ul.news p{
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-style: normal;
    font-size: 15px;
    letter-spacing: 0.1em;
}

.news_day section{
    display: table-cell;
    width: 100%;
}

ul.news_cat{
    display: table;
    padding: 0;
}
ul.news_cat li{
    padding: 0 10px;
    display: inline-table;
    background-color: #d5554a;
    margin: 0 10px 0 0;
    border-radius: 20px;
    font-size: 13px;
}
ul.news_cat li a{
    color: #fff;
    text-decoration: none;
}

.news_cat span{
    padding: 0;
    font-size: 14px;
    margin: 0;
}

ul.news h3{
    color: #d5554a;
    margin: 10px 0;
    letter-spacing: inherit;
    text-align: justify;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.5em;
}


/*--------------------

index:カレンダー

--------------------*/
#calendar {
	margin-top: 150px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 100px 0;
 }
 #calendar p {
	text-align: center;
 }
#calendar ul {
    margin: 60px auto 30px;
    display: table;
    padding: 0;
}
#calendar ul li {
    display: table-cell;
    list-style: none;
    padding: 0 10px;
}
#calendar .residents {
    color: #99e2e3;
        margin-right: 6px;
}
#calendar .shortstay {
    color: #fbccb0;
        margin-right: 6px;
}
#calendar .grouphome {
    color: #fcc1d2;
        margin-right: 6px;
}
#calendar .carehouse {
    color: #d9e186;
    margin-right: 6px;
}
#calendar .dayservice {
    color: #d7c4e5;
        margin-right: 6px;
}
#calendar .daycare {
    color: #eddc93;
        margin-right: 6px;
}
#calendar .multifunctional {
    color: #b0d5f0;
        margin-right: 6px;
}
#calendar .recruit {
    color: #ff958c;
        margin-right: 6px;
}


/*----- アンダーライン消す  -----*/
.eventcal h2::after {
    content: '';
    display: block;
    width: 80px;
    border: none;
    margin: 0 auto;
}

@media screen and (max-width: 1200px){
.calendar_text {
	width: 80%;
 }
 }

@media screen and (max-width: 800px){
.calendar_text {
	margin-bottom: 26px;
	width: 508px;
 }
 }

@media screen and (max-width: 600px){
.calendar_text {
	width: 80%;
 }
 }

@media screen and (max-width: 400px){
.calendar_text {
	width: 295px;
 }
 }

@media screen and (max-width: 350px){
.calendar_text {
	width: 80%;
 }
 }
.pics {
	width: auto;
	margin: 0 0 -30px 0;
 }

.calendar_wrapper {
	width: 1012px;
	margin: 2.0833% auto;
 }
 
@media screen and (max-width: 1200px){
.calendar_wrapper {
	width: 80%;
 }
 }

@media screen and (max-width: 400px){
.calendar_wrapper {
	width: 349px;
 }
 }

@media screen and (max-width: 370px){
.calendar_wrapper {
	width: 84%;
 }
 }


/*----- トップ-アクセス  -----*/
#access{
    margin: 0 auto;
    padding: 100px 0 0 0;
}
#access h2{
    margin-bottom: 0;
}
.access_address{
    display: table;
    margin: auto auto 50px;
}
.access_inner{
    margin: 0 auto;
}
.access_inner p{
    text-align: center;
}
ul.train{
    vertical-align: middle;
    display: flex;
    margin: 30px auto;
}
.train .train_box{
    display: table;
    background-color: #d5554a;
    padding: 5px 10px;
    margin: 40px auto 20px;
}
.train .train_box p{
    color:#fff;
    margin: 0;
}
.train ul{
    padding: 0;
    margin: 0 0 10px;
}
.train ul p{
    margin: 0;
    text-align: left;
    color: #d75446;
}
.train li{
    margin: 0 0 10px 20px;
    line-height: 1.5em;
    font-size: 15px;
}
.train li p{
    text-align: left;
    font-size: 16px;
}
ul.telfax{
    font-size: 1.5em;
    list-style: none;
    display: flex;
    padding: 0;
}
.telfax .tel{
    margin-right: 20px;
}
.telfax li{
    margin: auto;
}
.telfax span{
    font-size: 0.8em;
    margin-left: 7px;
}
#google_map{
    width: 100%;
   height: 450px;
   background-color: grey;
}

.map_link {
	position: relative;
	width: 100%;
	height: 40px;
	margin: -40px auto 0;
	z-index: 10;
 }

.map_link p {
	margin: 0;
	text-align: right;
 }

.map_link p a {
	display: inline-block;
	height: 40px;
	line-height: 40px;
	padding: 0 20px;
	color: #fff;
	font-size: 14px;
	background-color: #00a0e9;
 }

.map_link p a:hover {
	opacity: 0.8;
 }

.address {
	margin-top: 60px;
	margin-right: auto;
	margin-left: auto;
	font-family: PingFangHK;
	font-size: 16px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.33;
	letter-spacing: 1.8px;
	text-align: center;
	color: #000;
 }

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


    .train-img,
    .train-text {
        display: inline-block;
        text-align: left;
        vertical-align: middle;
    }

    .train-text {
        margin-left: -16px;
    }
}

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

    .tel {
        margin-bottom: 52px;
        font-weight: 500;
        line-height: 1.33;
        letter-spacing: 2.7px;
        text-align: center;
    }
}

.screen-reader-response{
    display: none;
}
/*
.wpcf7-form{
    width: 100%;
}
.contact_box{
    width: 100%;
}*/


/**20200501 オンライン面会**/
.online_body_inner{
    max-width: 800px;
    margin: 0 auto;
}
.online_body h3{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-align: left;
}
.online_body p{
    font-size: 16px;
    line-height: 2em;
    text-align: justify;
    max-width: 800px;
    margin: 0 auto;
}
.online_body p small{
    display: block;
    font-size: 14px;
    line-height: 1.75em;
}
ul.online_flow{
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 39px 39px 40px;
    border: 1px solid #d5554a;
    margin: 0;
}
ul.online_flow li{
    display: table-cell;
}
.online_flow p{
    margin-bottom: 10px;
}
.online_flow .efbuttonb{
    float: inherit !important;
    max-width: 300px;
    height: auto;
    padding: 10px;
}
.online_flow .button_effb {
    width: 100%;
    height: 100px;
    top: -30px;
    left: -100%;
    background: #fff;
    position: absolute;
    transition: all .5s ease;
    z-index: 1;
}
.online_flow .efbuttonb a{
    line-height: 1.25em;
}
.onlinetext{
    display: inline-flex;
    margin: 20px 0;
}
.online_body .nambox{
    display: table-cell;
    padding-right: 30px;
    margin: auto;
    vertical-align: middle;
}
.online_body .nam {
    display: inline-block;
    width: 80px;
    height: 80px;
    padding: 11px 21px;
    text-align: center;
    border-radius: 50%;
    background-color: #d5554a;
}
.online_body .nam p{
    font-family: "Roboto", arial, sans-serif;
    color: #fff;
    margin: -7px auto;
    text-align: center;
}
.online_body .nam p span{   
    display: block;
    font-size: 34px;
    font-weight: 700;
}
.online_body ul.online_list{
    padding: 0;
}
.online_body ul.online_list li{
    display: block;
    position: relative;
    margin-top: 8px;
    padding-left: 19px;
    font-size: 16px;
    line-height: 2;
}
.online_body .online_list li:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    top: 12px;
    left: 0;
    background-color: #d5554a;
}
.online_body ul.online_kouho{
    padding: 0;
    margin-bottom: 60px;
    display: grid;
}
ul.online_kouho li{
    
}
.online_body ul.online_kouho_inner{
    position: relative;
    border: 1px solid #cccccc;
    border-radius: 50px;
    margin-bottom: 10px;
}
.online_body ul.online_kouho_inner li{
    font-size: 18px;
    line-height: 2em;
    margin: 5px 15px 5px 0;
}
.online_body ul.online_kouho_inner li:before {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    top: 12px;
    left: 20px;
    border-radius: 50%;
    background-color: #ff7d9b;
}
.online_body .step__content-link-item {
    display: inline-block;
    margin: 10px 10px 0 0;
}
.online_body .step__content-link-item .button-square {
    z-index: 2;
    background-color: #fff;
}
.online_body .button-square {
    position: relative;
    display: block;
    padding: 14px 19px 13px 43px;
    color: #039eec;
    border: 1px solid #039eec;
    overflow: hidden;
    transition: color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-square:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #039eec;
    z-index: -1;
    transition: left 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-square__icon {
    position: absolute;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: auto 0;
    top: 0;
    left: 17px;
    bottom: 0;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.step__content-link p{
    margin: 0;
}
.online_body .contact{
    margin: 0;
}
.online_body .contact p {
    text-align: center;
    color: #333;
    line-height: 1.75em;
    margin-bottom: 15px;
    font-size: 16px;
}
.online_body .contact .tel__numb {
    display: table;
    margin-top: 5px;
    font-size: 36px;
    color: #039eec;
    margin: 0 auto;
}
.tel__numb .namb_box {
    display: inline-table;
    padding: 6px 10px;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0;
    vertical-align: top;
    color: #fff;
    background-color: #d5554a;
    margin-right: 10px;
}
.namb_tel {
    display: inline-table;
}

/**********202005手引き************/
.emergency_txt{
    text-decoration: underline;
    font-size: 15px;
}

.guide_head {
    background-color: #FFFAD7;
    padding: 30px 20px;
    margin: 50px 0;
}
.guide_head p {
    margin: 0 auto;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
.guide_head img {
    width: 55px;
    margin-right: 10px;
}
.guide_head small {
    font-size: 16px;
    display: table;
    color: #FD0000;
    font-weight: bold;
    text-align: center;
    margin: 20px auto 0;
}
.online_block_red span, .guide_head small span {
    display: inline;
    border-bottom: 1px solid #FD0000;
}
.duo_redbox {
    border: solid 1px #FD0000;
    padding: 10px 20px;
    display: table;
    color: #FD0000;
    font-weight: bold;
    margin: 0 auto 30px !important;
    font-size: 1.3em;
    line-height: 1.5em;
    text-align: center;
    font-weight: bold;
}
.duo_sp {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 600px;
    color: #fff;
    font-size: 16px;
    background: #089FEC;
    border-radius: 15px;
    padding: 20px;
}
.duo_sp:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 10px solid #089FEC;
}
.duo_sp li {
    display: table-cell;
    vertical-align: middle;
    font-size: 16px;
    line-height: 1.75em;
}
.duo_sp li img {
    width: 50px;
    margin-right: 15px;
}
ul.badge_inner {
    display: table;
    table-layout: fixed;
    text-align: center;
    width: 100%;
    border-collapse: separate;
    border-spacing: 20px 0;
    margin: 40px 0;
}
ul.badge_inner li {
    display: table-cell;
}
ul .badge_box {
    padding: 0;
    border: 1px solid #CDECFB;
}
ul .badge_box li {
    display: contents;
}
ul .badge_box h1 {
        font-size: 20px;
    margin: 0;
    background-color: #CDECFB;
    padding: 10px 0;
    border-collapse: separate;
    border-spacing: 20px 0;
}
ul.badge_inner img {
    height: 50px;
    width: auto;
    margin: 20px 0;
}
.duo_jump {
    display: table;
    margin: 40px 0;
    width: 100%;
    border-collapse: separate;
    border-spacing: 20px 0;
}
.duo_jump li {
    display: table-cell;
    table-layout: fixed;
    text-align: center;
    background-color: #CDECFB;
    border: 1px solid #089FEC;
    padding: 10px;
    font-size: 16px;
}
.duo_jump li {
    display: table-cell;
    table-layout: fixed;
    text-align: center;
    background-color: #CDECFB;
    border: 1px solid #089FEC;
    padding: 10px;
    font-size: 16px;
}
.duoflow {
    display: flex;
    margin: 40px 0;
}
.duoflow section {
    flex: 1;
    padding: 0 0 50px;
    vertical-align: top;
}
.duoflow img {
    width: auto;
}
.duoflow .nam {
    display: block;
    padding: 0;
    background-color: #d5554a;
    color: #fff;
    font-weight: bold;
    font-size: 1.75em;
    text-align: center;
    height: 50px;
    width: 50px;
    border-radius: 50%;
    line-height: 50px;
    margin: 0 auto;
}
.duoflow p {
    font-size: 16px;
    line-height: 1.75em;
    margin: 20px auto 40px;
    text-align: justify;
}
.lower-content__title {
    margin-bottom: 32px;
}

.single-title__text {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: #039eec;
}
.lower-content__block-item h3{
    padding: .25em 0 .25em .75em;
    border-left: 4px solid #039eec;
}
.lower-content__block-item{
    padding: 60px 0 0;
    max-width: 800px;
    margin: 0 auto;
}
.duo_omake {
    max-width: 500px;
    margin: 0 auto;
}
.duo_sp:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 10px solid #089FEC;
}
.duo_omake img {
    margin: 30px 0;
}
.online_kouho_inner span{
    display: contents;
}
.contact p{
    line-height: 1.5em;
}
.news-template-default .section_text{
    max-width: 700px;
}
.news-template-default .section_text p{
    line-height: 2em;
    text-align: justify;
}
.news-template-default .section_text a{
    text-decoration: underline;
}

/*-----フォーム枠 -----*/ 
.form_box {
    max-width: 620px;
    padding: 1em 1em;
    margin:  0 auto;
    border: solid 2px #d5554a;
}
.form_box p {
    margin: 0; 
    padding: 0;
}

/*-----改行 -----*/ 
.br--sp { display: block; }

.br--sp { display: none; }

@media screen and (max-width: 767px) {
.br--pc { display: none; }
.br--sp { display: block; }
}

/*-----ご意見センターバナー -----*/ 
.supportcenter{
    padding: 60px 0 100px;
    text-align: center;
}
.supportcenter img{
    max-width: 300px;
    height: auto;
}
.rsupportcenter ul{
    display: flex;
    padding: 0;
    padding-bottom: 60px;
}
.supportcenter ul li{
    flex: 1;
    list-style: none;
    margin: auto;
}
