@charset "utf-8";


@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-weight: 400;
  src: url('../../fonts/ZenKakuGothicNew-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-weight: 700;
  src: url('../../fonts/ZenKakuGothicNew-Bold.ttf') format('truetype');
}

@font-face {
 font-family: 'Zen Antique';
 font-weight: 400;
 src: url('../../fonts/ZenAntique-Regular.ttf') format('truetype');
}


/* 共通
================================================ */
#co_nav { display: flex; border-bottom: 1px solid #dddfdd; box-shadow: 0 4px 10px -2px rgb(107 107 107 / 30%); }
#co_nav li { text-align: center; flex: 1; }
#co_nav li + li { border-left: 1px solid #dddfdd; }
#co_nav li a { color: #000; font-weight: bold; line-height: 60px; position: relative; overflow: hidden; display: block; height: 60px; }
#co_nav li a:before, #co_nav li a:after { content: ''; position: absolute; }
#co_nav li a:before { right: -15px; bottom: -15px; width: 40px; height: 40px; background-color: #5ccbf6; border-radius: 50%; }
#co_nav li a:after { vertical-align: middle; right: 5px; bottom: 5px; width: 6px; height: 12px; display: inline-block; background: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%209%2015%22%20style%3D%22enable-background%3Anew%200%200%209%2015%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M1.7%2C15L9%2C7.5L1.7%2C0L0%2C1.7l5.7%2C5.8L0%2C13.3L1.7%2C15z%22%2F%3E%3C%2Fsvg%3E') no-repeat center/contain; }
#co_nav li.current a { color: #fff; background-color: #00aaeb; }

#co_main { padding-top: 88px; padding-bottom: 35px; background: url('../corporate/images/bg_sp.png') center top/100% auto no-repeat, #d1eef9; }
#co_main .title { position: relative; padding-top: calc(184 / 640 * 100%);/*calc(画像の高さ / 画像の幅 * 100%)*/ width: 100%; height: auto; background: url('../corporate/images/topHeading_sp.png') no-repeat 0 0; background-size: contain; }
#co_main .title:before, #co_main .title:after { content: ''; position: absolute; left: 50%; display: inline-block; transform: translateX(-50%); }
#co_main .title:before { top: -70px; width: 130px; height: 70px; background-color: #def6ff; border-radius: 70px 70px 0 0; }
#co_main .title:after { top: -56px; height: 50px; background-size: contain; }
#co_main .title.icon1:after { width: 36px; background-image: url('../corporate/images/icon02.png'); }
#co_main .title.icon2:after { width: 40px; background-image: url('../corporate/images/icon04.png'); }
#co_main .title.icon3:after { width: 48px; background-image: url('../corporate/images/icon01.png'); }
#co_main .title h1 { color: #fff; font-weight: bold; position: absolute; top: 50%; left: 25px; transform: translateY(-50%); }
#co_main .title h1 span { display: block; }
#co_main .title h1 .ja { font-size: 22px; }
#co_main .content { margin: 30px 10px 0; padding: 15px 15px 20px; background-color: #fff; box-shadow: 0px 4px 8px 0px rgb(70 70 70 / 10%); }


/* 会社概要
================================================ */
#company_profile { font-size: 16px; text-align: center; }
#company_profile dt { color: #1d2088; font-weight: bold; margin-right: auto; margin-left: auto; padding-top: 20px; padding-bottom: 10px; width: 250px; border-bottom: 1px solid #1d2088; }
#company_profile dd { padding-top: 10px; padding-bottom: 20px; }
#company_profile dd ul { list-style-type: disc; margin-left: 20px; }
#company_profile dd li { text-align: left; }
#company_profile dd li + li { margin-top: 10px; }


/* 所在地
================================================ */
#office_address { font-size: 16px; text-align: center; }
#office_address dt { color: #1d2088; font-weight: bold; margin-right: auto; margin-left: auto; padding-top: 20px; padding-bottom: 10px; width: 250px; border-bottom: 1px solid #1d2088; }
#office_address dd { padding-top: 10px; padding-bottom: 20px; }
#office_address .tel { margin-top: 10px; }
#office_address .map { margin-top: 15px; }
#office_address .map a { padding: 10px 50px; }
#office_address .map .icon { position: relative; left: 10px; }
#office_address .map .icon:before { content: ''; position: absolute; top: 50%; left: -30px; margin-top: -12px; width: 25px; height: 24px; background-image: url('../corporate/images/icon_map_white.png'); background-size: 25px 24px; }


/* 社長挨拶
================================================ */
#message { text-align: center; }
#message h2 { color: #1d2088; font-weight: 700; font-family: 'Zen Kaku Gothic New', sans-serif; margin-bottom: 20px; }
#message h2:first-child { margin-top: 20px; }
#message h2:not(:first-child) { margin-top: 40px; }
#message h2, #message .sign { font-size: 16px; }
#message p:not(.sign) { font-weight: 400; font-family: 'Zen Kaku Gothic New', sans-serif; }
#message .sign { font-weight: 400; font-family: 'Zen Antique', serif; margin-top: 40px; margin-bottom: 20px; }
