* {
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    margin: 0;
    padding: 0;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.6em;
    color: #1a1a1a;
    transition: .0s ease-in-out;
}

/* フレックスボックス */

.flex {
    display: flex;
}

.jc_between {
    justify-content: space-between;
}

.jc_center {
    justify-content: center;
}

.jc_end {
    justify-content:flex-end;
}

.al_start{
    align-items: flex-start;
}

.al_center {
    align-items: center;
}

.al_end{
    align-items:flex-end;
}

.al_between{
    align-content: space-between;
}

.ac_start{
    align-content: flex-start;
}

.fd_column{
    flex-direction: column;
}

.fw_wrap{
    flex-wrap: wrap;
}

.fw_nowrap{
    flex-wrap: nowrap;
}


/* 共通 */

.pc_none{
    display: none;
}

.container{
    width: 90%;

}

body{
    background-color: #f9fafe;
}

.shadow_box{
    background-color: #fff;
    box-shadow: 0px -8px 4px -4px rgb(235, 238, 251), -8px 0px 4px -4px rgb(235, 238, 251);
    padding: 50px;
}

button{
    background-color: #007fc5;
    color: #fff;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 0;
}

button.white{
    background-color: #fff;
    color: #333;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #333;
}

input[type="text"],input[type="password"]{
    border: 1px solid #cccccc;
    width: 100%;
    padding: 5px 10px;
    box-sizing: border-box;
    border-radius: 5px;
    -webkit-appearance: none;
}

button:focus,
textarea:focus{
	outline:0;
}

textarea{
    border: 1px solid #cccccc;
    width: 100%;
    padding: 5px 10px;
    box-sizing: border-box;
    border-radius: 5px;
    min-height: 100px;
    -webkit-appearance: none;
}

li{
    list-style: none;
}

a{
    text-decoration: none;
}

a:hover{
    opacity: 0.5;
}

.right_contents{
    width: calc(100% - 140px);
}

section{
    padding-top: 20px;
    min-height: 80vh;
}

h4,
h4 i{
    font-size: 18px;
    color: #007fc5;
}

h4{
    padding-bottom: 20px;
    letter-spacing: 0.1em;
}

dt,
dd{
    margin-bottom:20px;
}

dt{
    width: 180px;
    border-left: 5px solid #007fc5;
    padding-left:10px;
    box-sizing: border-box;
    font-weight: bold;
}

dd{
    width: calc(100% - 180px);
}

.customer_info{
    padding-bottom: 40px;
    border-bottom: 1px solid #b3b3b3;
}

.form_box{
    padding-top: 40px;
}

.note{
    font-size: 12px;
}

.swal-text{
    font-size: 14px;
}


/* チェックボックス */

.checkbox,
.checkbox p{
    line-height: 2.3em;
}

.checkbox label {
    cursor: pointer;
    padding-right: 0.5em;
}

.checkbox input[type=checkbox] {
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
}

.checkbox input[type="checkbox"] + span::before {
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    content: "\f14a";
    width: 1rem;
    height: 1rem;
    font-size: 16px;
    color: #ddd; 
    margin-right: .3rem;
}

.checkbox input[type="checkbox"]:checked + span::before {
    font-family: 'Font Awesome 5 Free';
    content: "\f14a";
    color: #54a9d8;
}


/* セレクトボックス */

.cp_ipselect {
    overflow: hidden;
    min-width: 70px;
    text-align: center;
}
.cp_ipselect select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl04 {
    position: relative;
    border: 1px solid #ccc;
    height: 34px;
    box-sizing: border-box;
    border-radius: 5px;
    background: #ffffff;
}
.cp_ipselect.cp_sl04::before {
    position: absolute;
    right: 0;
    height: 100%;
    width: 15px;
    padding-top: 6px;
    content: '\f0d7';
    font-weight: 600;
    font-size: 12px;
    font-family: 'Font Awesome 5 Free';
    pointer-events: none;
    background-color: #ccc;
    color: #fff;
    box-sizing: border-box;
}
.cp_ipselect.cp_sl04 select {
    padding: 7px 15px 6px 8px;
    font-size: 12px;
}


/* テーブル */

.table_top{
    padding-top: 40px;
    padding-bottom: 20px;
}

.table_top .hit_num,
.table_top .hit_num i{
    color: #007fc5;
    font-weight: bold;
}

table{
    border-collapse: collapse;
    width: 100%;
}

table th,
table td{
    border: 1px solid #e6e6e6;
    padding: 10px;
}

table th{
    color: #808080;
    font-size: 12px;
}

table td img{
    width: 70px;
    height: auto;
}

table .day{
    background-color: #f9fafe;
}

table .text_center{
    text-align: center;
}

table .text_right{
    text-align: right;
}

table a{
    color: #007fc5;
}

table span.note{
    color: #f00;
    display: block;
}

table td.checkbox {
    width: 50px;
    box-sizing: border-box;
    padding-left: 16px;
    padding-right: 16px;
}

table td.checkbox label{
    width: 18px;
    height: 18px;
    display: block;
}

table .checkbox input[type="checkbox"] + span::before{
    margin-right: 0;
    font-size: 20px;
    width: 18px;
    height: 18px;
}

table .checkbox label{
    padding-right: 0;
}


/* メニュー */

.side_menu{
    width: 140px;
    z-index: 999;
}

.side_menu ul{
    background-color: #f2f2f2;
    box-shadow: -8px 0px 4px 0px rgb(235, 238, 241) inset;
    width: 140px;
    margin-bottom: 10px;
}

.side_menu li{
    height: 140px;
    width: 140px;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    padding: 0 5px;
    box-sizing: border-box;
}

.side_menu li:not(:last-child):after{
    content: "";
    width: 50%;
    height: 1px;
    border-bottom: 1px solid #b3b3b3;
    display: block;
    margin: 0 25%;
}

.side_menu li a{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.side_menu li a img{
    width: 30%;
    padding-bottom: 5px;
}

.side_menu li a:hover{
    opacity: 1;
}

.side_menu li:hover{
    border-left: 5px solid #007fc5;
    padding-right: 5px;
    padding-left: 0;
    background-color: #fff;
    box-shadow: 0px 8px 4px -4px rgb(235, 238, 241),0px -8px 4px -4px rgb(235, 238, 241);
    position: relative;
}

.side_menu li:hover:before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -10px;
    border: 10px solid transparent;
    border-left: 10px solid #007fc5;
}

.side_menu li:hover:after{
    border-bottom:0;
}

.batch{
    background-color: #f00;
    color: #fff;
    min-width: 10px;
    height: 18px;
    padding: 0 4px;
    border-radius: 11px;
    font-size: 12px;
    border: 2px solid #f2f2f2;
    position: absolute;
    left: 52%;
    text-align: center;
}

.side_menu li:hover .batch{
    border: 2px solid #fff;
}


/* ログイン */

.login{
    min-height: 80vh;
}

.login .shadow_box{
    background-color: #fff;
    box-shadow: 0px 0px 4px 4px rgb(235, 238, 251);
    padding: 50px;
}

.login .title{
    font-size: 25px;
    padding-bottom: 20px;
}

.login .login_form{
    width: 40%;
}

.login .login_form + ul{
    width: 50%;
    background-color: #f9fafe;
    padding: 30px;
}

.login .login_form + ul li{
    text-indent: -1em;
    margin-left: 1em;
}

.login .login_form + ul li:before{
    content: "■";
    color: #007fc5;
}

.login dl{
    width: 100%;
}

.login .button{
    width: 100%;
}

.login .company_guide{
    padding-top: 50px;
}

.login .company_guide .title{
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.2em;
    width: 100%;
    text-align: center;
}

.login .company_guide li a{
    font-weight: bold;
    color: #007fc5;
}

.login .company_guide li:not(:last-child):after{
    content: "/";
    color: #007fc5;
    padding: 0 20px;
}

.login .attention {
    font-size: 14px;
    color: darkred;
    margin-bottom: 30px;
}

/* header */

h1 p {
    line-height: 0;
    font-size: 17px;
    letter-spacing: 0.1em;
    white-space: nowrap;
    
}

h1 img {
    width: 170px;
    padding-right: 20px;
}

header {
    padding: 10px 4%;
    border-bottom: 1px solid #e6e6e6;
    box-sizing: border-box;
    box-shadow: 0px 0px 4px 4px rgb(235, 238, 251);
    background-color: #fff;
}

header div {
    height: 60px;
}

.logout {
    border-radius: 2px;
    height: 30px;
    line-height: 32px;
    font-weight: bold;
    border: 1px solid #007fc5;
    color: #007fc5;
    margin-left: 2em;
    padding: 3px 14px 3px 40px;
    background: url('../images/logout.png') no-repeat;
    background-size: 15%;
    background-position: 12px center;
    white-space: nowrap;
}

.logout:hover {
    opacity: 1;
    color: #fff;
    background: url('../images/logout-hover.png') no-repeat;
    background-size: 15%;
    background-position: 12px center;
    background-color: #007fc5;
}

header .date{
    margin-left: 20px;
}

header .size{
    color: #007fc5;
    padding-left: 10px;
}

header .size i{
    color: #007fc5;
    padding-right: 5px;
}

header .size:hover{
    opacity: 0.5;
}

.modal {

}

.size_window img{
    width: 100%;
    height: auto;
    max-width: 841px;
    max-height: 800px;
}


/* index */

.index .customer_info{
    padding-bottom: 0;
    border-bottom: 0;
}

.company_name,
.num{
    font-size: 25px;
}

.num{
    text-align: center;
}

.company_name span{
    font-size: 14px;
    padding-left: 10px;
}

.user_code,
.user_name{
    font-size: 12px;
    padding-right: 20px;
}

.user_code span,
.user_name span,
.caption{
    font-size: 12px;
    color: #007fc5;
    padding-right: 5px;
}

.customer_info_right > div{
    padding: 0 30px;
    border-left: 1px solid #b3b3b3;
}

.mail i{
    color: #007fc5;
    padding-right: 5px;
}

.mail button{
    font-size: 12px;
    padding: 5px 0;
    margin-top: 10px;
}

.mail button:hover{
    opacity: 0.5;
}

.mail button i{
    color: #fff;
}

.index .search_menu{
    padding-top: 40px;
}

.index .search_menu .title,
.index .search_menu li,
.index .search_menu p{
    color: #fff;
}

.index .search_menu .title{
    font-size: 25px;
    padding-bottom: 10px;
}

.index .search_menu01,
.index .search_menu02,
.index .search_menu03{
    width: 100%;
    height: 100%;
    padding: 40px;
    border-radius: 10px;
    text-align: center;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: bottom left;
    
}

.index .search_menu a,
.index .search_menu a,
.index .search_menu a{
    display: block;
    width: 32%;
}


.index .search_menu ul{
    text-align: left;
    display: inline-block;
}

.index .search_menu li{
    list-style: disc;
}

.index .search_menu01{
    background-color: #007fc5;
    background-image: url(../images/search_menu01_bg.png);
}

.index .search_menu02{
    background-color: #6bcec2;
    background-image: url(../images/search_menu02_bg.png);
}

.index .search_menu03{
    background-color: #ade183;
    background-image: url(../images/search_menu03_bg.png);
}

.index .news{
    padding-top: 40px;
}

.index .news h3{
    font-size: 25px;
    font-weight: normal;
    padding-bottom: 10px;
}

.index .news_box{
    border-top: 1px solid #b3b3b3;
    border-bottom: 1px solid #b3b3b3;
    height: 250px;
    padding: 30px 0;
    overflow: auto;
}

.index .news_box img{
    padding-right: 20px;
}

.index .news_title{
    font-size: 16px;
    font-weight: bold;
    width: 100%;
}

.index .news_title,
.index .news_link{
    width: 100%;
}

.index .news_link,
.index .news_link a{
    color: #007fc5;
    font-size: 13px;
}

.index .news_post:not(:last-child){
    margin-bottom: 30px;
}


/* 詳細検索 */
.product_search dl{
    width: 45%;
}

.product_search .button a{
    width: 40%;
    margin: 40px 10px;
}

.product_search .form_top{
    padding-bottom: 30px;
    border-bottom: 1px solid #e6e6e6;
    margin-bottom: 30px;
}

button.plus i{
    color: #007fc5;
}
    
button.plus{
    color: #007fc5;
    background-color: #fff;
    border: 1px solid #007fc5;
    font-size: 12px;
    font-weight: bold;
    border-radius: 10px;
    width: auto;
    padding: 5px 20px;
}

button.plus:hover{
    color: #fff;
    background-color: #007fc5;
}

button.plus:hover i{
    color: #fff;
}

.openBtn{
    padding: 40px 0;
}

.textArea {
    display: none;
}

.textArea > dl{
    width: 100%;
}

.sizeform > input,
.sizeform > span{
    box-sizing: border-box;
    margin-right: 5px;
}

.sizeform > span{
    font-size: 10px;
}

.maker_search > div{
    margin-bottom: 10px;
}

.maker_search .initial input{
    width: 34px;
    margin-right: 10px;
}

.maker_search p{
    font-size: 12px;
}

.maker_search p span{
    font-size: 12px;
    color: #f00;
}


/* 注文履歴 購入頻度 検索結果 */
.purchase_list .year li,
.frequency_list .year li{
    border: 1px solid #b3b3b3;
    padding: 8px 0;
    text-align: center;
    box-sizing: border-box;
    width: 13.5%;
    height: 40px;
}

.purchase_list .year li:hover,
.frequency_list  .year li:hover{
    border: 2px solid #007fc5;
}

.purchase_list .year li.selected,
.frequency_list  .year li.selected{
    border: 2px solid #007fc5;
}

.purchase_list .month{
    font-weight: bold;
    padding-top: 20px;
}

.purchase_list .month :not(:last-child):after{
    content: "|";
    padding: 0 10px;
}

.purchase_list .button a,
.frequency_list .button a,
.product_search_list .button a{
    margin: 40px 10px;
    width: 40%;
}

.purchase_list #arrow{
    fill: #fff;
    position: absolute;
    top: 12px;
    right:15px;
    transition: all .2s linear;
    color: #007fc5;
    font-size: 18px;
}

.purchase_list .sheet{
    display:none;
}

.purchase_list .dropdown{
    position:relative;
}

.purchase_list .dropdown_toggle #arrow{
   	-webkit-transform: rotate(180deg);
	        transform: rotate(180deg);
}

.purchase_list .day:hover {
  background-color: #e9f1ff;
}

.purchase_list .sheet:hover,
.frequency_list tr:not(:first-child):hover,
.product_search_list tr:not(:first-child):hover{
  background-color: #fffde8;
}

.product_search_list .form_top li{
    background-color: #007fc5;
    color: #fff;
    padding: 2px 10px;
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: 12px;
    border-radius: 2px;
}

.product_search_list .form_top li span{
    color: #fff;
    font-weight: bold;
    font-size: 12px;
    padding-right: 5px;
}

.product_search_list .form_top p{
    font-weight: bold;
    color: #aaa;
}

.product_search_list .form_top p i{
    padding:0 5px;
    color: #aaa;
}


/* 商品詳細 */
.product_view_block{
    padding-top: 50px;
    padding-bottom: 20px;
}

.product_view_block a{
    color: #007fc5;
}

.product_view .choice img{
    width: 22%;
}

.product_view .choice .detail{
    width: 45%;
}

.product_view .choice .detail > div:not(:last-child){
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.product_view .title{
    font-size: 25px;
    color: #007fc5;
    font-weight: bold;
}

.product_view .code{
    padding-top: 5px;
}

.product_view .code p:first-child{
    padding-right: 20px;
}

.product_view .code p{
    font-size: 12px;
}

.product_view .price{
    color: #ff0000;
    font-size: 30px;
    font-weight: bold;
}

.product_view .price span{
    color: #fff;
    font-size: 12px;
    background-color: #f00;
    padding: 7px 10px;
    border-radius: 5px;
    margin-right: 15px;
}

.product_view .pieces{
    color: #808080;
    font-size: 12px;
    font-weight: bold;
}

.product_view .detail_list p{
    font-size: 15px;
    padding-bottom: 10px;
}

.product_view .order{
    background-color: #f9fafe;
    border: 1px solid #e6e6e6;
    width: 24%;
    padding: 30px;
    box-sizing: border-box;
    margin-top: 84px;
}

.product_view .order > p{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    padding-bottom: 10px;
}

.product_view .order .button{
    padding-top: 25px;
}

.product_view .order div p{
    padding-top: 15px;
}

.product_view .order div p span{
    font-size: 12px;
    color: #007fc5;
    font-weight: bold;
    display: block;
    padding-bottom: 5px;
}

.product_view .order input{
    width: 60px;
    margin: 0 5px;
}

.product_view .choice .detail dl{
    width: 100%;
}

.product_view .choice .detail dt{
    width: 100px;
    background-color: #f9fafe;
    color: #808080;
    font-size: 12px;
    border-left: 0;
    padding-left: 0;
}

.product_view .choice .detail dd{
    width: calc(100% - 100px);
    font-size: 12px;
}

.product_view .choice .detail dt,
.product_view .choice .detail dd{
    margin-bottom: 0;
    border-top: 1px solid #e6e6e6;
    padding: 12px;
    box-sizing: border-box;
}

.product_view .choice .detail dt:last-of-type,
.product_view .choice .detail dd:last-of-type{
    border-bottom: 1px solid #e6e6e6;
}

.product_view h3{
    font-size: 25px;
    font-weight: normal;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #b3b3b3;
}

.product_view .pickup{
    width: 15%;
    padding-top: 30px;
}

.product_view .pickup img{
    width: 100%;
    margin: 12px 0;
}

.product_view .pickup a{
    text-align: center;
}

.product_view .table_top{
    padding-top: 0;
}

.product_view .day:hover {
  background-color: #e9f1ff;
}


/* ご注文商品 */

.cart h3{
    font-size: 25px;
    font-weight: normal;
    padding: 30px 0;
}

.cart ul{
    background-color: #f2f2f2;
}

.cart .progress li{
    color: #7f7f7f;
    font-size: 18px;
    width: calc(100% / 3);
    text-align: center;
    padding: 12px 0;
}

.cart .progress  li span{
    color: #7f7f7f;
    font-size: 12px;
}

.cart .progress li.active{
    color: #000;
    border-bottom: 2px solid #000;
}

.cart .progress li.active span{
    color: #000;
}

.cart table{
    margin-top: 40px;
}

.cart input{
    width: 60px;
    margin: 0 5px;
}

.cart .item img{
    padding-right: 20px;
}

.cart .name{
    padding-bottom: 5px;
}

.cart .name a{
    font-size: 15px;
    font-weight: bold;
}

.cart .pieces {
    font-size: 13px;
}

.cart .pieces span{
    font-size: 13px;
    color: #808080;
}

.cart .note{
    font-weight: bold;
    color: #ff0000;
}

.cart table dl:not(:last-child){
    margin-bottom: 10px;
}

.cart table dt,
.cart table dd{
    width: auto;
    flex-basis: 50%;
    white-space: nowrap;
}

.cart table dt:last-of-type,
.cart table dd:last-of-type{
    margin-bottom: 0;
}

.cart table dt{
    font-size: 13px;
    border-left: 0;
    padding-left: 0;
}

.cart table dt p{
    width: 100%;
    text-align: right;
}

.cart table dd{
    text-align: right;
}

.cart table .text_right{
    font-size: 15px;
    font-weight: bold;
    white-space: nowrap;
}

.cart table .trush{
    text-align: center;
}

.cart table .trush a{
    font-size: 15px;
    font-weight: bold;
    color: #000;
    border-bottom: 1px solid #000;
    padding-bottom: 5px;
    white-space: nowrap;
}

.cart .sum{
    border-bottom: 1px solid #e6e6e6;
    padding: 40px 0 20px;
}

.cart .sum p{
    font-size: 15px;
    border-bottom: #e6e6e6;
}

.cart .sum .total{
    font-size: 25px;
    color: #f00;
    font-weight: bold;
    margin-bottom: -5px;
    padding-right: 10px;
}

.cart .sum .total span{
    font-size: 15px;
    padding-right: 20px;
}

.cart .button a{
    margin: 40px 10px;
    width: 40%;
}

.cart .remarks{
    padding-top: 40px;
}

.cart .remarks p i{
    color: #808080;
    padding-right: 5px;
}

.cart .remarks p{
    font-weight: 600;
    color: #808080;
    padding-bottom: 5px;
    white-space: nowrap;
}

.cart .order_info{
    margin-top: 40px;
    font-size: 15px;
    text-align: center;
}

.cart .order_info a{
    color: #007fc5;
    font-weight: bold;
    font-size: 15px;
}

.cart .shipping{
    padding-top: 40px;
}

.cart .shipping p{
    font-size: 20px;
    text-align: center;
}

.cart .shipping p span{
    font-size: 20px;
    font-weight: bold;
}

.cart .shipping p.note{
    font-size: 14px;
    font-weight: normal;
}

.cart .postage{
    width: 100%;
}

.cart .postage p{
    color: #007fc5;
    font-weight: bold;
    padding-top:10px; 
}

.cart .buyer,
.cart .bill{
    width: 48%;
}

.cart .buyer tr:first-of-type th{
    background-color: #007fc5;
    color: #fff;
}

.cart .bill tr:first-of-type th{
    background-color: #4d4d4d;
    color: #fff;
}

.cart .buyer th{
    text-align: left;
    background-color:#f9fafe;
}

.cart .bill th{
    text-align: left;
    background-color:#f2f2f2;
}

.cart .button{
    margin-top: 30px;
}

.cart .complete{
    padding-top: 20px;
}

.cart .complete{
    text-align: center;
}

.cart .complete h5{
    color: #007fc5;
    font-size: 22px;
    padding: 20px 0;
    margin-top: 20px;
    font-weight: normal;
}

.cart .complete h5 i{
    color: #007fc5;
    font-size: 22px;
    padding-right: 10px;
}

.cart .complete p span{
    font-weight: bold;
    display: block;
}

/* お問い合わせ */

.inq dl{
    padding-top: 20px;
}

.inq .button a{
    margin: 40px 10px;
    width: 40%;
}

.inq span.note{
    background-color: #f00;
    color: #fff;
    padding: 1px 5px;
    font-weight: normal;
    border-radius: 4px;
    font-size: 11px;
    margin-right: 6px;
}

.inq h4 span i{
    padding-right: 8px;
}

.inq h4 span{
    font-size: 18px;
    color: #007fc5;
    letter-spacing: 0.1em;
}

.inq h4 span:before{
    content: "|";
    padding: 0 12px;
}

.inq .complete{
    padding-top: 20px;
}

.inq .complete h5{
    color: #007fc5;
    font-size: 22px;
    letter-spacing: 0.1em;
    padding: 20px 0;
    font-weight: normal;
}


/* メール設定完了 */
.mailcog .complete h5{
    color: #007fc5;
    font-size: 22px;
    padding: 20px 0;
    margin-top: 20px;
    font-weight: normal;
}

.mailcog .complete h5 i{
    color: #007fc5;
    font-size: 22px;
    padding-right: 10px;
}


/* footer */

footer{
    background-color: #007fc5;
    padding: 40px;
}

footer h2,
footer p,
footer address{
    color: #fff;
    text-align: center;
    line-height: 2em;
}

footer h2{
    font-size: 16px;
}

footer address{
    font-size: 12px;
    font-style: normal;
}


/* TOPに戻る */

#page_top{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: #007fc5;
    opacity: 0.8;
    border-radius: 50%;
    z-index: 9999;
    margin-bottom: env(safe-area-inset-bottom);;
}

#page_top a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a:hover{
    opacity: 1;
}

#page_top:hover{
    opacity: 1;
}

#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f062';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

.mitumori_kibou{
    color:red;
    margin-top: 20px;

}
.mitumori_kibou button{
    margin-top: 5px;
    width: 200px;
}

.red{
    color:red;
}
.bold{
    font-weight: bold;
}