このページの基本カラー

:root {
 --main-color: #133967;
 --sub-color: #C4C4C4;
}

HTML

<div class="btn_style01">
 <a href="#">詳しくはこちら</a>
</div>

CSS

.btn_style01 {
 max-width: 100%;
 width: 300px;
}
 
.btn_style01 a {
 display: block;
 padding: 10px 0;
 text-align: center;
 color:  var(--main-color);
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 2px solid var(--main-color);
 position: relative;
}
.btn_style01 a:hover {
 color: #fff;
 background: var(--main-color);
 border: 2px solid var(--main-color);
}
 
.btn_style01 a:after {
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 1px var(--main-color);
 border-right: solid 1px var(--main-color);
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}
 
.btn_style01 a:hover::after {
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
}

HTML

<div class="btn_style02">
 <a href="#"><span class="mail_icon">メールフォーム</span></a>
</div>

CSS

.btn_style02 {
 width: 100%;
 max-width: 300px;
}
 
.btn_style02 a {
 display: block;
 width: 100%;
 padding: 15px 0;
 text-align: center;
 color: #fff;
 text-decoration: none;
 font-weight: normal;
 background: var(--main-color);
 border-width: 1px 1px 1px 1px;
 border-style: solid;
 border-color: var(--main-color);
 position: relative;
}
 
.btn_style02 a:hover {
 color: var(--main-color);
 background: #fff;
}
 
.btn_style02 a .mail_icon {
 padding: 0 0 0 25px;
 position: relative;
}
 
.btn_style02 a .mail_icon::before {
 content: '';
 display: inline-block;
 position: absolute;
 left: 0;
 top: 50%;
 transform: translateY(-50%);
 -webkit-mask-image: url(../img/common/mail_icon.svg);
 mask-image: url(../img/common/mail_icon.svg);
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 width: 18px;
 height: 13px;
 -webkit-mask-size: 100% auto;
 mask-size: 100% auto;
 background-color: #fff;
}
 
.btn_style02 a:hover .mail_icon::before {
 background-color: var(--main-color);
}

HTML

<div class="btn_style03">
 <a href="#">詳しくはこちら<span class="btn_arrow"></span></a>
</div>

CSS

.btn_style03 {
    width: 100%;
    max-width: 300px;
}
 
.btn_style03 a {
 display: block;
 padding: 17px 0;
 text-align: center;
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 1px solid var(--main-color);
 letter-spacing: 0.05em;
 position: relative;
 color: #fff;
 background: var(--main-color);
 border-radius: 10px;
}
 
.btn_style03 a:hover {
 color: var(--main-color);
 background: #fff;
}
 
.btn_style03 a:before {
  content: '';
  width: 17px;
  height: 3px;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: calc(100% - 50px);
  transform: translateY(-50%) skewX(45deg);
  transition: all 0.3s ease;
}
 
.btn_style03 a:hover:before {
 border-color: var(--main-color);
 width: 25px;
}

HTML

<div class="btn_style04">
 <a href="#">詳しくはこちら</a>
</div>

CSS

.btn_style04 {
 max-width: 100%;
 width: 300px;
}
 
.btn_style04 a {
 display: block;
 font-size: 16px;
 font-size: 1.6rem;
 letter-spacing: 0.1em;
 color: #fff;
 background: var(--main-color);
 text-align: center;
 border: 2px solid var(--main-color);
 padding: 10px 40px;
 border-radius: 30px;
 position: relative;
}
 
.btn_style04 a:hover{
 color: var(--main-color);
 background: #fff;
 border: 2px solid var(--main-color);
 text-decoration: none;
}
 
.btn_style04 a:after{
 content: '';
 width: 6px;
 height: 6px;
 color: var(--main-color);
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}
 
 
.btn_style04 a:hover:after{
 border-color: var(--main-color);
}

HTML

<ul class="two_btn01">
 <li><a href="#">詳しくはこちら</a></li>
 <li><a href="#">詳しくはこちら</a></li>
</ul>

CSS

.two_btn01 {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 30px 40px;
 margin: 0 0 40px;
}
 
.two_btn01:last-child {
 margin: 0;
}
 
.two_btn01 > li {
 width: calc((100% - 40px) / 2);
 max-width: 300px;
}
 
.two_btn01 > li a {
 display: block;
 padding: 10px 0;
 text-align: center;
 color:  var(--main-color);
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 2px solid var(--main-color);
 position: relative;
}
 
.two_btn01 > li a:hover {
 color: #fff;
 background: var(--main-color);
 border: 2px solid var(--main-color);
}
 
.two_btn01 > li a:after {
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 1px var(--main-color);
 border-right: solid 1px var(--main-color);
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}
 
.two_btn01 > li a:hover::after {
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
}
 
@media screen and (max-width : 640px){
 
.two_btn01 > li {
 width: 100%;
}
 
}

HTML

<ul class="three_btn01">
 <li class="btn_area"><a href="#">詳しくはこちら</a></li>
 <li class="btn_area"><a href="#">詳しくはこちら</a></li>
 <li class="btn_area"><a href="#">詳しくはこちら</a></li>
</ul>

CSS

.three_btn01 {
 display: flex;
 flex-wrap: wrap;
 gap: 30px 40px;
 margin: 0 0 40px;
}
 
.three_btn01:last-child {
 margin: 0;
}
 
.three_btn01 .btn_area {
 width: calc((100% - 80px) / 3);
}
 
.three_btn01 .btn_area a {
 display: block;
 padding: 10px 0;
 text-align: center;
 color:  var(--main-color);
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 2px solid var(--main-color);
 position: relative;
}
 
.three_btn01 .btn_area a:hover {
 color: #fff;
 background: var(--main-color);
 border-color: var(--main-color);
}
 
.three_btn01 .btn_area a:after {
 content: '';
 width: 6px;
 height: 6px;
 border-top: 1px solid var(--main-color);
 border-right: 1px solid var(--main-color);
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}
 
.three_btn01 .btn_area a:hover::after {
 border-color: #fff;
}
 
@media (max-width : 810px){
.three_btn01 .btn_area {
 width: calc((100% - 40px) / 2);
}
}
 
@media (max-width : 640px){
.three_btn01 .btn_area {
 width: 100%;
}
}

HTML

<div class="btn_style07">
 <a href="#">詳細はこちら<span class="btn_arrow"></span></a>
</div>

CSS

.btn_style07 {
    width: 100%;
}
 
.btn_style07 a {
 display: inline-flex;
    padding: 13px 0 13px;
    box-sizing: border-box;
    color: #333;
    font-weight: 500;
    position: relative;
    text-decoration: none;
 align-items: center;
 justify-content: center;
 gap: 10px 20px;
 flex-wrap: wrap;
 background-color: transparent!important;
}
 
.btn_style07 a .btn_arrow {
 position: relative;
 width: 50px;
 height: 50px;
 flex-shrink: 0;
}
 
.btn_style07 a .btn_arrow:before {
 content: '';
 width: 100%;
 height: 100%;
    border: 1px solid var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}
 
.btn_style07 a .btn_arrow:after {
 content: '';
 display: inline-block;
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%,-50%);
 -webkit-mask-image: url("../img/common/btn_arrow01.svg");
 mask-image: url(../img/common/btn_arrow01.svg);
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 width: 25px;
 height: 5px;
 -webkit-mask-size: 100% auto;
 mask-size: 100% auto;
 background-color: var(--main-color);
}
 
.btn_style07 a:hover .btn_arrow:before {
 background-color: var(--main-color);
}
 
.btn_style07 a:hover .btn_arrow:after {
 background-color: #fff;
}
 
 
@media (min-width: 810px) {
.btn_style07 a:hover .btn_arrow:before
{
 transform: translateY(-50%) scale(1.2);
}
 
}

説明・補足

たまーにあるんですよこういうの笑

HTML

<div class="btn_style08">
 <a href="#">
  <h2 class="btn_style08_tit01">見出しが入ります。</h2>
  <h3 class="btn_style08_tit02">見出しが入ります。</h3>
  <p class="btn_style08_txt01"><span class="btn_arrow">テキストが入ります。テキストが入ります。</span></p>
 </a>
</div>

CSS

.btn_style08 {
 width: 100%;
}
 
.btn_style08 a {
 display: block;
 padding: 60px 50px;
 text-align: center;
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 1px solid var(--main-color);
 letter-spacing: 0.05em;
 position: relative;
 color: #fff;
 background: var(--main-color);
 border-radius: 9999px
}
 
.btn_style08 a:hover {
 color: var(--main-color);
 background: #fff;
}
 
.btn_style08_tit01 {
 font-size: 30px;
 font-size: 3.0rem;
 text-align: center;
 margin: 0 0 20px;
}
 
.btn_style08_tit02 {
 font-size: 20px;
 font-size: 2.0rem;
 text-align: center;
 margin: 0 0 20px;
}
 
.btn_style08_txt01 {
  text-align: center;
}
 
 
.btn_style08 a .btn_arrow {
 position: relative;
 display: inline-block;
 padding: 0 10px 0 0;
}
 
 
.btn_style08 a .btn_arrow:before {
  content: '';
  width: 17px;
  height: 3px;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%) skewX(45deg);
  transition: all 0.3s ease;
}
 
.btn_style08 a:hover .btn_arrow:before {
 border-color: var(--main-color);
 width: 25px;
}
 
 
@media (max-width : 640px){
 
.btn_style08 a {
  padding: 40px 40px;
}
  
.btn_style08_tit01 {
 font-size: 25px;
 font-size: 2.5rem;
  
}
 
.btn_style08_tit02 {
  font-size: 18px;
  font-size: 1.8rem;
}
  
.btn_style08 a .btn_arrow {
 padding: 0 0 20px;
  
.btn_style08 a .btn_arrow:before {
 top: inherit;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%) skewX(45deg);
}
  
}

説明・補足

背景が黒いほうがいいです

HTML

<div class="btn_style09 spiral_ani">
 <a href="#"><span class="spiral-top"></span><span class="spiral-bottom">ボタン09</span>
 </a>
</div>

CSS

.btn_style09 {
 width: 100%;
 max-width: 250px;
 margin: 0 auto;
}
 
.btn_style09 a {
 display: block;
 padding: 12px 0;
 text-align: center;
 color: #fff;
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 1px solid #545C65;
 position: relative;
}
 
.btn_style09 a:hover {
 color: #fff;
 border: 1px solid #fff;
}
 
.spiral_ani a .spiral-top::before,
.spiral_ani a .spiral-top::after,
.spiral_ani a .spiral-bottom::before,
.spiral_ani a .spiral-bottom::after {
  content: " ";
  background: #fff;
  position: absolute;
  -webkit-box-shadow: 0 0 7px 0 #fff;
  box-shadow: 0 0 7px 0 #fff;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
 
.spiral_ani a .spiral-top::before {
  top: 0px;
  left: 0px;
  width: 1px;
  height: 100%;
  transform: scale(0);
  transform-origin: top;
}
.spiral_ani a .spiral-top::after {
  top: 0px;
  right: 0px;
  width: 100%;
  height: 1px;
  transform: scale(0);
  transform-origin: right;
}
 
.spiral_ani a .spiral-bottom::before {
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 1px;
  transform: scale(0);
  transform-origin: left;
}
.spiral_ani a .spiral-bottom::after {
  bottom: 0px;
  right: 0px;
  width: 1px;
  height: 100%;
  transform: scale(0);
  transform-origin: bottom;
}
 
.spiral_ani a:hover
.spiral-top::before {
  transform: scale(1);
}
.spiral_ani a:hover
.spiral-top::after {
  transform: scale(1);
}
.spiral_ani a:hover
.spiral-bottom::before {
  transform: scale(1);
}
.spiral_ani a:hover
.spiral-bottom::after {
  transform: scale(1);
}
 
.spiral_ani a:hover .spiral-top::before,
.spiral_ani a:hover .spiral-top::after,
.spiral_ani a:hover .spiral-bottom::before,
.spiral_ani a:hover .spiral-bottom::after {
 background: #000;
}
テスト
Disconnected
S