@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
02.philosophy
03.service
04.award
05.access
06.message
07.diversity
08.action_plan
09.company
10.news
10-01.news_detail
11.contact
11-02.contact_thanks
12.security_policy
13.privacy_policy
14.sitemap
15.history
16.openbadge
--------------------*/

@media only screen and (max-width:1024px){
/*----------
01.top
----------*/
#top #top_mv_area {
margin-top: 75.5px;
}

#top #top_mv_area .cnt_g .title_box .h1_title span::after{
height: 60px;
}

#top #top_mv_area .contents_in::after {
position: absolute;
content: "";
background: #F4F4F4;
width: 100%;
height: 200px;
bottom: 0;
left: 0;
z-index: -1;
}

#top #top_mv_area .cnt_g .title_box {
position: relative;
padding: 120px 20px 260px;
max-width: 1120px;
margin: 0 auto;
z-index: 1;
}

#top #top_mv_area .cnt_g .title_box .h1_title {
font-size: 44px;
line-height: 1;
font-weight: 700;
margin-bottom: 30px;
}

#top #top_mv_area .cnt_g .title_box .h1_title span {
display: block;
margin-bottom: 15px;
width: fit-content;
padding: 8px 7px 12px 15px;
}

#top #top_mv_area .cnt_g .title_box .lead_text {
font-size: 17px;
line-height: 28px;
font-weight: 700;
}

#top #top_mv_area .cnt_g .slider_box {
position: absolute;
top: 17px;
right: 0;
max-width: 680px;
width: 85%;
}

#top #top_mv_area .cnt_g .slider_box .mv_text {
position: absolute;
bottom: 20px;
left: 4%;
max-width: 737px;
}

#top #about_area {
padding: 120px 0 0;
}

#top #about_area .cnt_g {
background: url("../img/top/about_bg_img.png")no-repeat center/cover;
position: relative;
padding: 88px 0 0;
z-index: 1;
overflow: hidden;
}

#top #about_area .cnt_g .text_wrapper {
max-width: 1080px;
width: 96%;
margin: 0 auto;
}

#top #about_area .cnt_g .lead_text {
font-size: 23px;
line-height: 32px;
font-weight: 700;
text-align: center;
margin-bottom: 36px;
}

#top #about_area .cnt_g .loop_text {
display: flex;
max-width: 1280px;
width: 100%;
overflow: hidden;
margin-bottom: -5px;
}

#top #about_area .cnt_g .text {
font-size: 14px;
line-height: 33px;
font-weight: 500;
text-align: center;
margin-bottom: 70px;
}

#top #about_area .cnt_g .loop_text .cnt_img img {
width: 230vw;
}

#top #advantage_area .cnt_g {
padding: 160px 0 0;
position: relative;
margin-bottom: 100px;
}

#top #advantage_area .cnt_g::before {
position: absolute;
content: "";
width: 100%;
height: 290px;
bottom: 0;
left: 0;
}

#top #advantage_area .cnt_g::after {
position: absolute;
content: "";
background: url("../img/top/advantage_cnt01_img.png")no-repeat center/cover;
width: 75%;
max-width: 950px;
height: 370px;
top: 0;
right: 0;
}

#top #advantage_area .cnt_g .cnt_box {
max-width: 650px;
width: 60%;
position: relative;
z-index: 1;
padding: 25px 35px;
height: 255px;
display: flex;
align-items: center;
}


#top #advantage_area .cnt_g .cnt_box::before {
position: absolute;
content: "";
width: 66px;
height: 70px;
top: -36px;
left: 10px;
}

#top #advantage_area .cnt_g .cnt_box .cnt_text .text {
font-size: 14px;
line-height: 25px;
}

#top #advantage_area .cnt_g .text_img {
    bottom: 50px;
}

#top #group_area .cnt_g .group_list {
max-width: 700px;
margin: 0 auto;
}

#top #group_area .cnt_g .group_list li {
max-width: 330px;
width: 48%;
margin-bottom: 45px;
}

#top #recruit_area .contents_in::after {
position: absolute;
content: "";
background: url("../img/top/recruit_img.png")no-repeat center/cover;
max-width: 748px;
width: 52%;
height: 310px;
bottom: -55px;
right: 0;
}

#top #recruit_area .cnt_g {
max-width: 1080px;
margin: 0 auto;
padding: 145px 0 50px;
}

#top #recruit_area .cnt_g .h2_title_ptn01 {
text-align: left;
position: absolute;
top: -20px;
left: 0;
width: fit-content;
margin: 0 auto 80px 0;
z-index: 1;
}

#top #recruit_area .cnt_g .h2_title_ptn01::after {
position: absolute;
content: "";
background: #FFFFFF;
width: 360px;
height: 140px;
top: 50%;
left: 50%;
transform: translateY(-50%)translateX(-50%);
z-index: -1;
}

#top #recruit_area .cnt_g .cnt_box .text {
font-size: 16px;
line-height: 29px;
font-weight: 500;
margin-bottom: 40px;
}

#top #news_area {
padding: 160px 0 120px;
}

/*----------
09.company
----------*/
#company .cnt_area01 dd .flex_box div:last-of-type {
flex-direction: column;
flex-wrap: wrap;
width: calc(100% - 120px);
}

#company .cnt_area01 dd .flex_box span {
white-space: nowrap;
}

#company .cnt_area01 dd .flex_box div:first-of-type {
margin-right: 10px;
width: 120px;
}

#company .cnt_area01 dt{
width: 120px;
}

/*----------
06.message 1024
----------*/
#message .cnt_area01 .flex_box p {
font-size: 24px;
line-height: 1.8;
padding: 50px;
}

/*----------
10-01.news_detail 1024
----------*/
#news_detail .cnt_area01 .contents_in {
padding: 50px;
}
}

@media only screen and (max-width:750px){
/*----------
01.top 750
----------*/
#top #top_mv_area {
margin-top: 66px;
}

#top #top_mv_area .cnt_g .title_box .h1_title span::after{
height: 49px;
}

#top #top_mv_area .contents_in::after {
position: absolute;
content: "";
background: #F4F4F4;
width: 100%;
height: 140px;
bottom: 0;
left: 0;
z-index: -1;
}

#top #top_mv_area .cnt_g .title_box {
position: relative;
padding: 40px 20px 370px;
max-width: 1120px;
margin: 0 auto;
z-index: 1;
}

#top #top_mv_area .cnt_g .title_box .h1_title {
font-size: 29px;
line-height: 1;
font-weight: 700;
margin-bottom: 20px;
}

#top #top_mv_area .cnt_g .title_box .h1_title span {
display: block;
margin-bottom: 10px;
width: fit-content;
padding: 8px 1px 12px 15px;
}

#top #top_mv_area .cnt_g .title_box .lead_text {
font-size: 15px;
line-height: 22px;
font-weight: 700;
}

#top #top_mv_area .cnt_g .slider_box {
position: absolute;
top: inherit;
bottom: 40px;
right: 0;
max-width: 380px;
width: 92%;
height: auto;
}

#top #top_mv_area .cnt_g .slider_box .mv_text {
position: absolute;
bottom: 10px;
left: 4%;
max-width: 737px;
}

#top #top_mv_area .scroll{
bottom: 0;
left: -2px;
}

#top #top_mv_area .scroll img{
transform: rotate(90deg);
}

#top #about_area {
padding: 70px 0 0;
}

#top #about_area .cnt_g {
background: url("../img/top/about_bg_img.png")no-repeat center/cover;
position: relative;
padding: 50px 0 0;
z-index: 1;
overflow: hidden;
}

#top #about_area .cnt_g .text_wrapper {
max-width: 1080px;
width: 96%;
margin: 0 auto;
}

#top #about_area .cnt_g .lead_text {
font-size: 20px;
line-height: 32px;
font-weight: 700;
text-align: center;
margin-bottom: 26px;
}

#top #about_area .cnt_g .loop_text {
display: flex;
max-width: 1280px;
width: 100%;
overflow: hidden;
margin-bottom: -2px;
}

#top #about_area .cnt_g .text {
font-size: 14px;
line-height: 30px;
font-weight: 500;
text-align: center;
margin-bottom: 45px;
}

#top #about_area .cnt_g .loop_text .cnt_img:nth-child(1){
animation: loop 40s -20s linear infinite;
}

#top #about_area .cnt_g .loop_text .cnt_img:nth-child(2) {
animation: loop02 40s linear infinite;
}

#top #about_area .cnt_g .loop_text .cnt_img img {
width: 150vw;
}

#top #advantage_area {
padding: 70px 0 0;
}

#top #advantage_area .h2_title_ptn01 {
text-align: center;
margin: 0 auto 40px;
}

#top #advantage_area .cnt_g {
padding: 0 0 150px;
position: relative;
margin-bottom: 70px;
}

#top #advantage_area .cnt_g::before {
position: absolute;
content: "";
width: 100%;
height: 335px;
bottom: 0;
left: 0;
}

#top #advantage_area .cnt_g::after {
position: absolute;
content: "";
background: url("../img/top/advantage_cnt01_img.png")no-repeat center/cover;
width: 85%;
max-width: 500px;
height: 265px;
top: inherit;
bottom: 0;
right: 0;
}

#top #advantage_area .cnt_g .cnt_box {
max-width: 450px;
width: 85%;
position: relative;
z-index: 1;
padding: 20px;
height: 300px;
display: flex;
align-items: center;
}

#top #advantage_area .cnt_g .cnt_box::before {
position: absolute;
content: "";
width: 60px;
height: 63px;
top: -32px;
left: 10px;
}

#top #advantage_area .cnt_g .cnt_box .cnt_text .text {
font-size: 14px;
line-height: 25px;
}

#top #advantage_area .cnt_g .text_img {
max-width: 290px;
width: 100%;
position: absolute;
bottom: 0;
right: 20px;
z-index: 1;
}

#top #group_area{
padding: 70px 0 100px;
}

#top #group_area .cnt_g .group_list {
display: flex;
align-items: stretch;
justify-content: center;
flex-wrap: wrap;
max-width: 640px;
margin: 0 auto;
}

#top #group_area .cnt_g .group_list li {
max-width: 280px;
min-width: 280px;
width: 48%;
margin: 0 20px 30px;
}

#top #group_area .cnt_g .group_list li .img_box {
padding: 30px 0;
}

#top #group_area .cnt_g .group_list li .img_box .cnt_img {
max-width: 210px;
margin: 0 auto;
}

#top #group_area .cnt_g .group_list li .cnt_text {
display: block;
font-size: 14px;
line-height: 24px;
font-weight: 500;
padding: 30px 20px;
position: relative;
}

#top #group_area .cnt_g .group_list li .cnt_text::after {
position: absolute;
content: "";
background: url("../common/img/icon_arrow03.png")no-repeat center/contain;
width: 24px;
height: 24px;
top: 50%;
transform: translateY(-50%);
right: 20px;
transition: 0.3s;
}

#top #recruit_area .contents_in {
/*margin-bottom: 200px;*/
}

#top #recruit_area .contents_in::after {
position: absolute;
content: "";
background: url("../img/top/recruit_img.png")no-repeat center/cover;
max-width: 500px;
width: 90%;
height: 220px;
bottom: -110px;
right: 0;
}

#top #recruit_area .cnt_g {
max-width: 1080px;
width: calc(100% - 20px - 20px);
margin: 0 auto;
padding: 120px 0 160px;
}

#top #recruit_area .cnt_g .h2_title_ptn01 {
text-align: left;
position: absolute;
top: -15px;
left: 0;
width: fit-content;
margin: 0 auto 70px 0;
z-index: 1;
}

#top #recruit_area .cnt_g .h2_title_ptn01::after {
position: absolute;
content: "";
background: #FFFFFF;
width: 400px;
height: 110px;
top: 50%;
left: 50%;
transform: translateY(-50%)translateX(-50%);
z-index: -1;
}

#top #recruit_area .cnt_g .cnt_box .text {
font-size: 14px;
line-height: 26px;
font-weight: 500;
margin-bottom: 30px;
text-align: center;
}

#top #recruit_area .contents_in .cnt_img {
max-width: 748px;
width: 62%;
position: absolute;
/*bottom: -80px;*/
top: 23%;
right: 0;
}

#top #news_area {
padding: 190px 0 70px;
background: url("../img/top/news_bg_img.png")no-repeat center/cover;
}

#top #news_area .cnt_g {
max-width: 800px;
margin: 0 auto;
}

#top #news_area .cnt_g .news_list {
margin-bottom: 30px;
}

#top #news_area .cnt_g .news_list .news_item {
border-bottom: solid #D8D8D8 1px;
padding-bottom: 20px;
margin-bottom: 20px;
font-size: 14px;
line-height: 1.6;
}

#top #news_area .cnt_g .news_list .news_item .news_top {
display: block;
margin-bottom: 5px;
}

#top #news_area .cnt_g .news_list .news_item .date {
font-size: 14px;
font-weight: 500;
padding: 4px 0 5px;
margin-right: 0;
margin-bottom: 3px;
}

#top #news_area .cnt_g .news_list .news_item .cat_list li {
font-size: 13px;
line-height: 1;
padding: 5px 10px;
width: fit-content;
margin: 0 10px 5px 0;
}

#top #news_area .cnt_g .news_list .news_item .news_title {
display: block;
font-size: 14px;
line-height: 22px;
}

/*----------
02.philosophy 750
----------*/
#philosophy .cnt_area01 {
padding-top: 60px;
}

#philosophy .cnt_area01 h2 {
margin-bottom: 25px;
font-size: 18px;
line-height: 1.8;
}

#philosophy .cnt_area01 .cnt_box {
display: block;
}

#philosophy .cnt_area01 .cnt_box .img_wrp {
width: 100%;
}

#philosophy .cnt_area01 .cnt_box .img_wrp img {
height: auto;
}

#philosophy .cnt_area01 .cnt_box .txt_wrp {
width: 100%;
padding: 20px 20px 25px;
}

#philosophy .cnt_area02 {
margin-top: 50px;
padding-bottom: 70px;
}

#philosophy .cnt_area02 .mission_block {
padding: 80px 0 120px;
}

#philosophy .cnt_area02 .mission_block .h2_title_ptn01 {
margin-bottom: 30px;
}

#philosophy .cnt_area02 .mission_block .em_text {
font-size: 18px;
line-height: 1.8;
}

#philosophy .cnt_area02 .mission_block .em_text p + p {
margin-top: 10px;
}

#philosophy .cnt_area02 .value_block {
margin-top: -70px;
padding: 60px 20px 40px;
}

#philosophy .cnt_area02 .value_block .val_box .val_item {
position: relative;
}

#philosophy .cnt_area02 .value_block .val_box .val_item + .val_item {
padding-top: 35px;
}

#philosophy .cnt_area02 .value_block .val_box .val_item .ico_wrp {
position: absolute;
top: 0;
left: 0;
width: 80px;
padding-left: 0;
}

#philosophy .cnt_area02 .value_block .val_box .val_item + .val_item .ico_wrp {
top: 35px;
}

#philosophy .cnt_area02 .value_block .val_box .val_item .ico_wrp .num {
top: -10px;
left: -5px;
font-size: 32px;
}

#philosophy .cnt_area02 .value_block .val_box .val_item .txt_wrp {
width: 100%;
}

#philosophy .cnt_area02 .value_block .val_box .val_item .txt_wrp .st {
display: flex;
align-items: center;
min-height: 80px;
margin-bottom: 10px;
padding-left: 100px;
}

#philosophy .cnt_area02 .value_block .val_box .val_item .txt_wrp .st h3 {
font-size: 15px;
line-height: 1.7;
}

/*----------
03.service 750
----------*/
#service .cnt_area01 {
padding-top: 70px;
}

#service .cnt_area01 .fig_box {
margin-top: 45px;
}

#service .cnt_area01 .group_box {
display: block;
border-width: 4px;
}

#service .cnt_area01 .group_box .gro_wrp {
width: 100%;
}

#service .cnt_area01 .group_box .gro_wrp + .gro_wrp {
width: 100%;
border-top: 4px solid #A1B6EB;
border-left: 0;
}

#service .cnt_area01 .group_box .gro_wrp .logo {
max-width: 210px;
}

#service .area_ptn01 {
padding-top: 70px;
}

#service .area_ptn01 .ctn_box + .ctn_box {
margin-top: 50px;
}

#service .area_ptn01 .ctn_box .head h3 {
font-size: 14px;
}

#service .area_ptn01 .ctn_box .cnt_wrp {
display: block;
padding: 20px 20px 25px;
}

#service .area_ptn01 .ctn_box .cnt_wrp .img_wrp {
width: 100%;
}

#service .area_ptn01 .ctn_box .cnt_wrp .txt_wrp {
width: 100%;
margin-top: 25px;
}

#service .area_ptn01 .ctn_box .cnt_wrp .txt_wrp .st {
margin-bottom: 10px;
}

#service .area_ptn01 .ctn_box .cnt_wrp .txt_wrp .btn_ptn01 {
margin-top: 30px;
}

#service .cnt_area03 {
padding-bottom: 70px;
}

/*----------
04.award 750
----------*/
#award .area_ptn01 {
padding-top: 80px;
}

#award .area_ptn01 .title_g .contents_in {
display: block;
}

#award .area_ptn01 .title_g .logo {
margin: 0 auto;
}

#award .area_ptn01 .title_g .logo.nl {
width: 170px;
}

#award .area_ptn01 .title_g .logo.wi {
width: 130px;
}

#award .area_ptn01 .title_g .sub_txt {
margin-top: 6px;
font-size: 13px;
text-align: center;
}

#award .area_ptn01 .cnt_block {
margin-top: 40px;
}

#award .area_ptn01 .cnt_block + .cnt_block {
margin-top: 70px;
}

#award .area_ptn01 .cnt_block h3 {
margin-bottom: 25px;
}

#award .area_ptn01 .cnt_block .cnt_box {
padding: 10px 20px;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item {
display: block;
padding: 35px 0;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .img_wrp {
width: 170px;
margin: 0 auto 25px;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp {
width: 100%;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .st {
margin-bottom: 7px;
font-size: 15px;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp p {
font-size: 13px;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .dl_ptn01 {
border-right: 0;
font-size: 13px;
line-height: 1.6;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .dl_ptn01 .wrap {
display: block;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .dl_ptn01 dt {
display: block;
width: 100%;
padding: 3px 15px;
border-top: 0;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .dl_ptn01 .wrap:first-of-type dt {
border-top: 0;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .dl_ptn01 .wrap:last-of-type dt {
border-bottom: 0;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .dl_ptn01 dd {
width: 100%;
padding: 12px 15px;
border-top: 0;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .dl_ptn01 .wrap:last-of-type dd {
border-bottom: 0;
}

#award .area_ptn01 .cnt_block .cnt_box .cnt_item .txt_wrp .lnk_box .lnk_list li a {
font-size: 13px;
}

#award .cnt_area01 {
padding-top: 60px;
}

#award #contact_area {
margin-top: 80px;
}

/*----------
05.access
----------*/
#access .under_title_area {
margin-bottom: 50px;
}

#access h2{
margin-bottom: 10px;
}

#access .cnt_area01 .contents_in{
max-width: 820px;
}

#access .cnt_area01 .cnt_box{
margin-bottom: 80px;
}

#access .cnt_area01 dl{
display: flex;
}

#access .cnt_area01 dt {
padding: 15px 0 10px 10px;
width: 25%;
font-size: 14px;
}

#access .cnt_area01 dd{
padding: 10px;
width: 75%;
font-size: 13px;
}

#access .cnt_area01 dl:last-of-type{
margin-bottom: 30px;
}

#access .map_area{
flex-direction: column-reverse;
}

#access .map_area .cnt_left{
width: 100%;
}

#access .map_area .cnt_left span {
margin-bottom: 5px;
font-size: 14px;
}

#access .map_area .cnt_left p{
font-size: 13px;
}

#access .map_area .map_wrap{
width: 100%;
margin-bottom: 20px;
}

/*----------
06.message
----------*/
#message .cnt_area01{
padding: 50px 0;
}

#message .cnt_area01 .flex_box{
margin-bottom: 80px;
flex-direction: column-reverse;
}

#message .cnt_area01 .flex_box p{
font-size: 20px;
padding: 15px;
}

#message .cnt_area01 .flex_box p::after{
bottom: -30px;
}

#message .cnt_area01 .flex_box .cnt_img {
max-width: initial;
padding: 20px;
}

#message .cnt_area01 .flex_box + p{
margin: 0 auto 20px;
}

#message .cnt_area01 .flex_box + p + p + .cnt_img{
max-width: 155.28px;
margin: 15px 0 0 auto;
}

/*----------
07.diversity
----------*/
#diversity .under_title_area{
margin-bottom: 50px;
}

#diversity .cnt_area01, #diversity .cnt_area02 {
margin-bottom: 50px;
}

#diversity h2 {
margin-bottom: 20px;
}

#diversity p.txt_box {
margin-bottom: 30px;
}

#diversity .cnt_box {
padding: 20px;
margin-bottom: 30px;
}

#diversity h3 {
font-size: 17px;
margin-bottom: 10px;
}

#diversity .cnt_box table {
margin-top: 20px;
font-size: 10px;
}

#diversity .cnt_box.flex_box {
flex-direction: column;
}

#diversity .cnt_box.flex_box .cnt_left {
width: 100%;
padding: 20px;
}

#diversity .cnt_box.flex_box .cnt_right {
width: 100%;
}

#diversity .cnt_box .flex_box{
flex-direction: column;
}

#diversity .cnt_box .flex_box .cnt_img{
width: 100%;
}

#diversity .cnt_box .flex_box .cnt_img:first-of-type{
margin-bottom: 10px;
}

/*----------
08.action_plan
----------*/
#action_plan .cnt_area01 .text_right{
margin-bottom: 50px;
}

#action_plan .cnt_area02 .first_text .blue {
align-items: center;
display: flex;
justify-content: center;
}

#action_plan .cnt_area02 {
padding: 50px 0 4px;
margin-bottom: 50px;
}

#action_plan .cnt_area02 .box_g{
margin-bottom: 50px;
}

#action_plan .cnt_area02 .first_text .text {
padding: 10px;
font-size: 13px;
}

#action_plan .cnt_area02 .title {
font-size: 20px;
line-height: 1.6;
padding: 20px 0;
}

#action_plan .cnt_area02 .cnt_box {
padding: 20px 20px 30px;
}

#action_plan .cnt_area02 ul:not(:last-of-type) {
margin-bottom: 20px;
}

#action_plan .cnt_area02 .num {
font-size: 36px;
}

#action_plan .cnt_area02 .num_title p {
font-size: 16px;
}

#action_plan .cnt_area03{
margin-bottom: 50px;
}

#action_plan .cnt_area03 .flex_box{
flex-direction: column;
}

#action_plan .cnt_area03 .flex_box .cnt_img {
width: 130px;
margin-bottom: 20px;
}

#action_plan .cnt_area03 .flex_box p {
width: 100%;
}

/*----------
09.company
----------*/
#company .cnt_area01 {
padding: 50px 0;
}

#company .cnt_area01 .contents_in {
padding: 15px;
}

#company .cnt_area01 dt {
width: 100%;
padding: 10px;
}

#company .cnt_area01 dd{
width: 100%;
padding: 10px;
margin-bottom: 20px;
border-bottom: none;
}

#company .cnt_area01 dd .flex_box {
flex-direction: column;
}

#company .cnt_area01 dd .flex_box div:first-of-type {
margin-right: 0;
width: 100%;
}

#company .cnt_area01 dd .flex_box div:last-of-type {
width: 100%;
margin-bottom: 15px;
}

#company .cnt_area01 dd .flex_box span {
white-space: normal;
}

/*----------
10-01.news_detail 750
----------*/
#news_detail .cnt_area01 .contents_in {
padding: 30px 20px;
width: calc(100% - 20px - 20px);
}

#news_detail .cnt_area01 tr{
display: flex;
flex-direction: column;
}

#news_detail .cnt_area01 td{
width: 100%;
}

#news_detail .cnt_area01 table .outline_left {
text-align: left;
padding: 10px;
}

#news_detail .cnt_area01 table td {
padding: 20px 10px;
}

#news_detail .cnt_area01 h3{
line-height: 1.8;
}
/*----------
10.news 750
----------*/
#news .cnt_area01 {
padding: 50px 0;
}

#news .cnt_area01 .all_time{
margin: 0 auto;
}

#news .cnt_area01 .all_time:hover input + ul{
display: none;
}

#news .cnt_area01 .all_time:hover input + ul{
display: none;
}

#news .cnt_area01 .all_time input + ul{
display: none;
}

#news .cnt_area01 .all_time input:checked + ul{
display: flex;
position: static;
}

#news .cnt_area01 .cnt_g {
padding: 20px;
}

#news .cnt_area01 .cnt_box {
padding: 15px 0;
}

#news .cnt_area01 .category_date {
margin-bottom: 15px;
flex-direction: column;
}

#news .cnt_area01 .category_date .date {
margin-right: 0;
margin-bottom: 5px;
}

/*----------
11-02.contact_thanks 750
----------*/
#contact_thanks .cnt_area01{
padding: 50px 0;
}

#contact_thanks .cnt_area01 .contents_in{
padding: 20px 10px;
}

#contact_thanks .cnt_area01 h2{
font-size: 20px;
line-height: 1.6;
margin-bottom: 20px;
}

#contact_thanks .cnt_area01 p{
font-size: 14px;
margin-bottom: 20px;
}

/*----------
12.security_policy
----------*/
#security_policy .under_title_area{
margin-bottom: 50px;
}

#security_policy .cnt_area02 .gray{
padding: 15px;
margin-bottom: 50px;
}

/*----------
13.privacy_policy 750
----------*/
#privacy_policy .under_title_area{
margin-bottom: 50px;
}

#privacy_policy h3 {
font-size: 17px;
margin-bottom: 10px;
    text-align: left;
}

#privacy_policy h2 + p {
margin-bottom: 30px;
}

#privacy_policy .cnt_area02 .flex_box .cnt_img{
width: 120px;
margin-bottom: 15px;
}

#privacy_policy .cnt_area02 p + .flex_box {
margin-bottom: 50px;
flex-direction: column;
align-items: flex-start;
}

#privacy_policy .bg_gray{
padding: 15px;
}

/*----------
14.sitemap 750
----------*/
#sitemap .under_title_area{
margin-bottom: 50px;
}

#sitemap .cnt_area01 .flex_box{
flex-direction: column;
margin-bottom: 50px;
}

#sitemap .cnt_area01 .flex_box .cnt_right,#sitemap .cnt_area01 .flex_box .cnt_left{
width: 100%;
}

#sitemap .cnt_area01 .btn_ptn01{
margin-bottom: 20px;
}

#sitemap .cnt_area01 .btn_ptn01.mb100{
margin-bottom: 20px;
}

#sitemap .cnt_area01 .has_ul{
margin-bottom: 0;
}

#sitemap .cnt_area01 ul{
padding: 15px;
margin-bottom: 20px;
}

#sitemap .cnt_area01 ul li::before{
margin-right: 10px;
}

/*----------
15.history 750
----------*/
#history .link_area {
padding: 40px 0 50px;
}

#history .link_area .lnk_list {
width: calc(100% + 4px * 2);
margin: -10px -4px 0;
}

#history .link_area .lnk_list li {
width: calc(50% - 4px * 2);
margin: 10px 4px 0;
}

#history .link_area .lnk_list li .btn_ptn01 a {
padding: 6px 18px 6px 10px;
}

#history .link_area .lnk_list li .btn_ptn01 a::after {
right: 10px;
width: 17px;
height: 17px;
}

#history .history_area .year_block {
height: 70px;
}

#history .history_area .year_block .year {
font-size: 24px;
}

#history .history_area .year_block .year .unit {
font-size: 16px;
}

#history .history_area .his_wrapper {
padding: 25px 0 60px 15px;
}

#history .history_area .his_wrapper::before {
left: -5px;
transition-duration: 1.5s;
}

#history .history_area .his_block {
width: 100%;
}

#history .history_area .his_block:last-of-type {
padding: 0;
}

#history .history_area .his_block .his_box {
padding: 15px 14px 15px 15px;
transition-delay: .4s;
}

#history .history_area .his_block .his_box + .his_box {
margin-top: 15px;
}

#history .history_area .his_block .his_box::after {
border-width: 8px;
border-left-width: 13px;
}

#history .history_area .his_block .his_box .year {
font-size: 28px;
}

#history .history_area .his_block .his_box .year .unit {
font-size: 18px;
}

#history .history_area .his_block .his_box .his_wrp .month {
width: 32px;
height: 20px;
margin-top: 1px;
padding-left: 2px;
font-size: 12px;
}

#history .history_area .his_block .his_box .his_wrp .month::after {
border-width: 10px;
border-left-width: 7px;
}

#history .history_area .his_block .his_box .his_wrp .his_list {
width: calc(100% - 39px - 5px);
}

#history .history_area .his_block .his_box .his_wrp .his_list li {
font-size: 13px;
}

#history .history_area#y2013 .his_block:last-of-type,
#history .history_area#y2018 .his_block:last-of-type {
padding-top: 0;
}

#history .history_area#y2023 .his_block {
display: block;
}
}

@media only screen and (max-width:480px){
/*----------
01.top 480
----------*/
#top #advantage_area .cnt_g .cnt_box {
    height: 400px;
}
}

@media only screen and (max-width:360px){
/*----------
01.top 360
----------*/
#top #top_mv_area .cnt_g .title_box .h1_title {
font-size: 24px;
}

#top #top_mv_area .cnt_g .title_box .h1_title span::after {
height: 44px;
}

/*----------
05.access 360
----------*/
#access .map_area .cnt_left p {
font-size: 11px;
padding: 10px;
}

#action_plan .cnt_area02 .title{
font-size: 17px;
}

#action_plan .cnt_area02 .num_title p {
font-size: 15px;
}

/*----------
11-02.contact_thanks 360
----------*/
#contact_thanks .cnt_area01 p{
font-size: 12px;
}
}


@media only screen and (max-width:750px){

/*----------
16.openbadge 750
----------*/
#openbadge .cnt_area01 {
    padding-top: 60px;
    }
    
    #openbadge .cnt_area01 h2 {
    margin-bottom: 25px;
    font-size: 18px;
    line-height: 1.8;
    }
    
    #openbadge .cnt_area01 .cnt_box {
    display: block;
    }
    
    #openbadge .cnt_area01 .cnt_box .img_wrp {
    width: 100%;
    }
    
    #openbadge .cnt_area01 .cnt_box .img_wrp img {
    height: auto;
    }
    
    #openbadge .cnt_area01 .cnt_box .txt_wrp {
    width: 100%;
    padding: 20px 20px 25px;
    }
    
    #openbadge .cnt_area02 {
    padding-bottom: 70px;
    }
    
    #openbadge .cnt_area02 .mission_block {
    padding: 80px 0 120px;
    }
    
    #openbadge .cnt_area02 .mission_block .h2_title_ptn01 {
    margin-bottom: 30px;
    }
    
    #openbadge .cnt_area02 .mission_block .em_text {
    font-size: 18px;
    line-height: 1.8;
    }
    
    #openbadge .cnt_area02 .mission_block .em_text p + p {
    margin-top: 10px;
    }

    #openbadge .cnt_area02.what_area .mission_block .cnt_box {
        flex-direction: column-reverse;
    }

    #openbadge .cnt_area02.about_area .mission_block .cnt_box,
    #openbadge .ob3_box {
        flex-direction: column;
    }

    #openbadge .cnt_area02.what_area .mission_block .cnt_box .txt_wrp,
    #openbadge .cnt_area02.what_area .mission_block .cnt_box .img_wrp,
    #openbadge .cnt_area02 .mission_block .cnt_box .txt_wrp,
    #openbadge .cnt_area02 .mission_block .cnt_box .img_wrp,
    #openbadge .ob3_box .img_wrp,
    #openbadge .ob3_box .txt_wrp {
        width: 100%;
    }

    #openbadge .cnt_area02 .mission_block .cnt_box .txt_wrp,
    #openbadge .ob3_box .txt_wrp {
        padding: 20px 20px 25px;
    }
    
    #openbadge .cnt_area02 .value_block {
    margin-top: -70px;
    padding: 60px 20px 40px;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item {
    position: relative;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item + .val_item {
    padding-top: 35px;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item .ico_wrp {
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    padding-left: 0;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item + .val_item .ico_wrp {
    top: 35px;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item .ico_wrp .num {
    top: -10px;
    left: -5px;
    font-size: 32px;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item .txt_wrp {
    width: 100%;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item .txt_wrp .st {
    display: flex;
    align-items: center;
    min-height: 80px;
    margin-bottom: 10px;
    padding-left: 100px;
    }
    
    #openbadge .cnt_area02 .value_block .val_box .val_item .txt_wrp .st h3 {
    font-size: 15px;
    line-height: 1.7;
    }
}